文档详情

C语言循环结构程序设计.docx

发布:2019-03-30约7.88千字共7页下载文档
文本预览下载声明
1、求1 4 7 …… 100之和。 解法1: main() {int s,i; s=0; for(i=1;i=100;i =3) ??? s=s i; printf(s=%d\n,s); } 解法2: main() {int s,i; ?? s=0; i=1; while(i=100) {s=s i; ??i =3; } printf(s=%d\n,s); } 2、求1到100之间的奇数之和与偶数之和。 解法1: main() {int s1,s2,i; s1=s2=0; for(i=1;i=100;i ) {if(i%2==1) ???? s1=s1 i;?? /*奇数之和*/ ??? else ???? s2=s2 i;?? /*偶数之和*/ ?? } printf(s1=%d,s2=%d\n,s1,s2); } 解法2: main() {int s1,s2,i; s1=s2=0; for(i=1;i=99;i =2) ??? s1=s1 i;?? /*奇数之和*/ for(i=2;i=100;i =2) ??? s2=s2 i;?? /*偶数之和*/ ?? } printf(s1=%d,s2=%d\n,s1,s2); } 解法3: main() {int s1,s2,i; s1=s2=0; i=1; while(i=99) {s1=s1 i;?? /*奇数之和*/ ?? i ; ?? s2=s2 i;?? /*偶数之和*/ ?? i ; } printf(s1=%d,s2=%d\n,s1,s2); } 3、用循环程序求10的阶乘。 main() {long p;?? /*int型取值范围太小*/ int i; p=1;?? /*不能写作p=0;*/ for(i=1;i=10;i ) ??? p=p*i; printf(p=%ld\n,p); } 4、求1*3*5*...*19之积。 main() {float p; int i; p=1; for(i=1;i=19;i =2) ??? p=p*i; printf(p=%f\n,p); } 5、从键盘输入一个正整数n,求1 2 3 ... n之和并输出。 main() {int i,n; long s; s=0; scanf(%d,n); for(i=1;i=n;i ) ??? s=s i; printf(s=%ld\n,s); } 6、从键盘输入一个正整数,求出其阶乘并输出。 解法1: main() {float p; int i,k; p=1; scanf(%d,k); for(i=1;i=k;i ) ??? p=p*i; printf(p=%f\n,p); } 解法2: main() {float p; int k; p=1; scanf(%d,k); while(k=1) {p=p*k; ?? k--; } printf(p=%f\n,p); } 6A、求1-1/3 1/5-1/7 ...-1/99 1/101之和。 解法1: main() {float s1,s2,s; int i; s1=s2=0; for(i=1;i=101;i =4) ??? s1=s1 1.0/i;?? /*正数之和*/ for(i=3;i=99;i =4) ????? s2=s2 1.0/i;?? /*负数之和*/ s=s1-s2; printf(s=%f\n,s); } 解法2: main() {int i,p; float s; s=0; p=1; ?? for(i=1;i=101;i =2) ?? {s=s p*1.0/i;???? /*p用于控制累加项的正负*/ ??? p=-p;?? /*改变正负号*/ ?? } printf(s=%f\n,s); } 6B、求20 21 22 ... 263之和。 解法1: #include main() {float s; int i; s=0; for(i=0;i=63;i ) ??? s=s pow(2,i);??? /*2的i次幂*/ printf(s=%f\n,s); } 解法2: main() {float s,t; int i; s=0; t=1; for(i=0;i=63;i ) ??? {s=s t; ?????t=t*2; ?? } printf(s=%f\n,s); } 7、求12 32 52 ... 992之和。 main() {long s; int i; s=0; for(i=1;i=99;i =2) ??? s=s i*i; printf(s=%ld\n,s); } 8、求1 1/3 1/5 ... 1/99之和。 main()
显示全部
相似文档