C语言循环结构程序设计.docx
文本预览下载声明
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()
显示全部