实验3-1 分别使用while循环、do while循环、for循环求(即求1+2+3+ ……+100)。
#include<stdio.h> int main() { int i,sum=0; /*for(i=1;i<=100;i=i+1) { sum=sum+i; } i=1;sum=0;*/ /*while(i<=100) { i=i+1;sum=sum+i; }*/ i=1;sum=0; do{ sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。
#include <stdio.h> int main(){ //*while int n,i,jiec=1; //n:从键盘输入 scanf("%d",&n); i = n; while(i>=1){ jiec = jiec * i; i--; } printf("%d!=%d\n",n,jiec); return 0; }
实验3-3 求。
#include <stdio.h> int main(){ int k,sum = 0; for(k=1;k<=100;k++) sum += k; printf("sum=%d\n",sum); for(k=1;k<=50;k++) sum = sum + k*k; printf("sum=%d\n",sum); return 0; }
实验3-4输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
#include<stdio.h> int main(){ char c; int zm=0,sz=0,kg=0,qt=0; while((c=getchar())!='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') zm++; else if(c==' ') kg++; else if(c>='0'&&c<='9') sz++; else qt++; } printf("字母个数;%d\n",zm); printf("空格个数;%d\n",kg); printf("数字个数;%d\n",sz); printf("其他个数;%d\n",qt); return 0; }
实验3-5输入两个正整数m和n,求其最大公约数和最小公倍数。
#include<stdio.h> int main(){ int m,n,min,i,t; scanf("%d%d",&m,&n); if(n>m){ t=m; m=n; n=t; } for(i=min;i>=1;i--) if(m%i==0&&n%i==0){t=i;break;}; printf("最大公约数是:%d",t); printf("最小公倍数是:%d\n",m*n/t); return 0; }
实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。
#include <stdio.h> int main(void) { int a,b,c; for(a=1;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf("%d%d%d\n",a,b,c); return 0; }
实验心得
大概是因为从第三节课开始整个人都没怎么听课吧。。。感觉真的落下了很多东西,这次作业虽然大部分都是在老师的指导下完成的,但我还是拖到了现在才写完。。。