第5章 循环结构程序设计习题解答(2)

2019-08-26 18:31

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=i;j++) {

printf(\ putchar(' '); }

putchar('\\n'); } }

12.输入一串数字,直到输入一个0为止,统计(输出)其中的正整数和负整数个数以及所有正整数的平均值和所有负数的平均值(原题有误,误为一串字符)。 #include void main() {

int a,n=0,m=0,ps=0,ns=0;

printf(\ do {

scanf(\ if(a>0) {

ps+=a; n++; }

else if(a<0) {

ns+=a; m++; }

}while(a!=0); ps/=n; ns/=m;

printf(\ printf(\}

13.一个整数等于该数所有因子之和,则称该数是一个完数。例如,6和28都是完数。因为6=1+2+3,28=1+2+4+7+14。输出1000以内的所有完数。 #include void main() {

int i,j,s;

for(i=1;i<1000;i++) {

s=1;

for(j=2;j<=i/2;j++) {

if(i%j==0)

s+=j; }

if(s==i) //是完数输出各因数 {

printf(\ for(j=2;j<=i/2;j++) {

if(i%j==0)

printf(\ }

printf(\ } } }

14.编写程序,按下列公式计算e的值(精度为1.0e-6)。

e?1?1111????? 1!2!3!n! #include

void main() {

int i=1; long t=1; double e=1.0; do {

t*=i; e+=1.0/t; i++;

}while(1.0/t>1.0e-6); printf(\}

32

15.用二分法求方程2x-4x+3x=0 在(-10,10)附近的根(二分法:先找到a、b,使f(a)、f(b)异号,说明在区间(a,b)内一定有零点,然后求f((a+b)/2)<0,则在区间((a+b)/2,b)内有零点,按上述方法再求盲从该区间中点的函数值,通过每次把f(x)的零点所在的小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,该值即

是方程的根)。

2

分析:方程可以写为x(2x-4x+3)=0,可以知道0是f(x)的零点,是一个根,另外两个根都

22

是(2x-4x+3)的零点,若x<=0,f(x)= (2x-4x+3)>0,在程序中从0求使f(x)变号的x值。f(0)=3,且二次系数a=2>0,开口向上,没有其它的零点,所以题目是没有其它的解的。

实验5 循环结构程序设计 6.程序填空。

⑴求出100以内的整数中最大的可被13整除的数是哪一个数。 #include int main() {

int i;

for(i=100;i>0;i--) {

if(i==0)break; }

printf(\ return 0; }

⑵以下程序用“辗转相除法”来求两个正整数的最大公约数,请填空。 #include main() {

int m,n,r; do {

printf(\ scanf(\ }while(m<=0||n<=0); do {

r=m%n;m=n;n=r; }while(r!=0); printf(\ return 0; }

⑶以下程序打印如下图案,程序运行后输入4给变量n,请填空。

#include #define S ' ' void main() {

int i,j,n;

printf(\ scanf(\&n); for(i=1;i<=n;i++) //控制输出前年n行 {

for(j=1;j<=10;j++)putchar(S);

for(j=1;j<=n-i;j++)putchar(S);//每行的启始空格越来越少 for(j=1;j

for(i=1;i<=n-1;i++) //控制输出后n-1行 {

for(j=1;j<=10;j++)putchar(S);

for(j=1;j<=i;j++)putchar(S); //每行的启始空格越来越多 for(j=1;j<(n-i)*2;j++)putchar('*');//每行的'*'越来越少 putchar('\\n'); } }

注:各星号之间带空格:

程序如下:

#include #define S ' ' void main() {

int i,j,n;

printf(\ scanf(\

for(i=1;i<=n;i++) //控制输出前n行 {

for(j=1;j<=10;j++)putchar(S);

for(j=1;j<=n-i;j++){putchar(S);putchar(S);}//每行的启始空格越来越少 for(j=1;j

for(i=1;i<=n-1;i++) //控制输出后n-1行 {

for(j=1;j<=10;j++)putchar(S);

for(j=1;j<=i;j++){putchar(S);putchar(S);}//每行的启始空格越来越多 for(j=1;j<(n-i)*2;j++){putchar('*');putchar(' ');}//每行的'*'越来越少 putchar('\\n'); } }

7.编程。 ⑴求:

?k??k111001002

#include void main() {

int i,k;


第5章 循环结构程序设计习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六年级上英语Unit1基础知识练习(新世纪)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: