作业4
1.
#include <stdio.h> int main(){ int i,sum = 0; i = 1; sum = 0; do{ sum += i; i++; }while(i<=100); printf("sum = %d\n",sum); return 0;
}
2.
#include <stdio.h> int main(){ //while循环求n!=1*2*... ...*(n-1)*n int n,i,jiec=1; printf("请输入一个整数n:"); //n:从键盘输入 scanf("%d",&n); i = 1; jiec = 1; while(i<=n){ jiec = jiec * i; i++; } printf("%d!=%d\n",n,jiec); return 0; }
3.
#include <stdio.h> int main(){ //使用for循环完成1+2+... ...+100 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); for(k=1;k<=10;k++) sum = sum + 1/k; printf("sum=%d\n",sum); return 0; }
4.
#include <stdio.h>
void main(){
//34 ab 567 c45?!
char c;
int zm=0,sz=0,qt=0;
while((c=getchar())!='\n'){
if(c>='a'&&c<='z' || c>="A"&&c<="z")
zm++;
else if(c>='0' && c<='9')
sz++;
else
qt++;
}
printf("字母个数:%d\n",zm);
printf("数字个数:%d\n",sz);
printf("其他个数:%d\n",qt);
return 0;
}
5.
#include <stdio.h> int main(){ //m,n的最大公约数 能够同时整除m和n的最大数 int m,n,t,i,gys=1,gbs; printf("请输入两个整数:"); scanf("%d%d",&m,&n); //m的位置放大的数 if(n>m){ t=m; m=n; n=t; } for(i=n;i>=1;i--) if(m%i==0&&n%i==0) break; printf("m=%d,n=%d",m,n); if(i!=0){ gys=i; printf("最大公约数为:%d\n",gys); } gbs=m*n/gys; printf("最大公倍数为:%d\n",gbs); return 0; }
6.#include <stdio.h>
int main(){
//水仙花数
int n,k1,k2,k3;//k1个位,k2十位,k3百位
for(n=100;n<=999;n++){
k1 = n % 10;
k2 = n / 10 % 10;
k3 = n / 100;
if(n==k1*k1*k1+k2*k2*k2+k3*k3*k3)
printf("%d\n",n);
}
return 0;
}
实验心得:课堂练习经过老师的辅助以及讲解感觉清晰很多。但还是会有不足的地方需要自己改进。