河南理工大学C语言课后习题答案精解第五章
第五章 循环结构程序设计 4.编程题 (1)求下列式子的值。 #include void main() { float sum,n,t1,t2; sum=0;n=1; while(n<=100) { t1=1/n; t2=-1/(n+1); sum=sum+t1+t2; n=n+2; } printf("%f\n",sum); } 一次求两项 第五章 循环结构程序设计 4.编程题 (1)求下列式子的值。 void main( ) { float s, n, t1, t2; s=0; n=1; while(n<100) { t1=1/n; t2=-1/(n+1); s=s+t1+t2; n=n+2; } printf("%f",s); } #include void main( ) { float s, n, t1, t2; s=1; n=1; t1=1; while(n<100) { n++; t1=-t1; t2=t1/n; s+=t2; } printf("%f",s); } #include void main() { int sign=1; float deno=2.0,sum=1.0,term; while(deno<=100) {sign=-sign; term=sign/deno; sum+=term; deno++; } printf(“The sum is %f.\n”,sum); } #include void main() { int i; float sum; for(sum=1.0,i=2;i<=100;i++) {if(i%2==0) sum+=-1.0/i; else sum+=1.0/i; } printf("the sum is %f",sum); } 第五章 循环结构程序设计 4.编程题 (2) 编程求1~10的阶乘,并分别显示在屏幕上。 #include void main( ) { int n; long s=1; for(n=1;n<=10;n++) { s*=n; printf("%d!=%d\n",n,s); } } void main( ) { int n, s; s=1; n=1; while(n<=10) { s*=n; printf(“%d!=%d\n”,n,s); n++; } } 第五章 循环结构程序设计 4.编程题 (2) 编程求1~10的阶乘,并分别显示在屏幕上。 #include main() { int i; long int n=1; for(i=1;i<=10;i++) { n=n*i; printf(i%5==0?"%2d!=%-10ld\n":"%2d!=%-10ld",i,n); } } 分析:星号为等差数列an=a1+(n-1)d an=1+(n-1)*2=2*n-1 4.编程题 (3)输入n值,输出由*组成的高为n的等腰三角形。 分析:①每行的起始位置不同,空格数(2*n-1)-(2*row-1)=2*(n-row) ②每行的字符数不同,字符数2*row-1 ③用二重循环实现,外循环控制输出行数 两个并列内循环控制输出每行的空格数和字符数 void main() { int n, row, col; printf("Input n:"); scanf("%d",&n); for(row=1; row<=n; row++) { for(col=1; col<=n-row; col++) printf(" "); for(col=1; col<=2*row-1; col++) printf("*"); for(col=1; col<=n-row; col++) printf(" "); printf("\n"); } } 第五章 循环结构程序设计 4.编程题 (3)输入n值,输出由*组成的高为n的等腰三角形。 void main() { int i,j; for(i=0;i<=6;i++) { for(j=0;j<6-i;j++) printf(" "); for(j=6-i;