实验二
一、
#include<stdio.h> int main() { int num; scanf("%d",&num); printf("2049%04d\n",num); scanf("%d",&num); printf("2049%04d\n",num); scanf("%d",&num); printf("2049%04d\n",num); return 0; }

总结格式控制符%04d的作用:输出一个占位4个的整型数据
#include<stdio.h> int main() { int num; while(scanf("%d",&num)!=EOF){ printf("2049%04d\n",num); } return 0; }

二、
#include<stdio.h> int main() { char ans1,ans2; printf("复习了没?(输入y或Y表示复习了,输入n或N表示没复习):"); ans1 = getchar(); getchar(); printf("\n动手敲代码了没?(输入y或Y表示复习了,输入n或N表示木有敲):"); ans2 = getchar(); if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y')){ printf("\n罗马不是一天建成的:)"); } else{ printf("\n罗马不是一天毁灭的。。。\n"); } return 0; }



三、
#include<stdio.h> int main() { char x; x=getchar(); if(x>='0'&&x<='9'){ printf("%c是数字字符\n",x); } else if((x>='a'&&x<='z')||(x>='A'&&x<='Z')){ printf("%c是英文字母\n",x); } else{ printf("%c是其他字符\n",x); } return 0; }



四、
#include<stdio.h> int main() { int n,a,top,bottom; float sum; while(scanf("%d %d",&n,&a) !=EOF) { sum=0; bottom=a; for(top=1;top<=n;top++) { sum=sum+(float)top/bottom; bottom=bottom*10+a; } printf("n=%d,a=%d,sum=%f\n",n,a,sum); } return 0; }

五、
#include<stdio.h> #include<stdlib.h> #include<time.h> const int N = 5; int main() { int x,n; srand(time(0)); for(n=1;n<=N;n++) { x=rand()%100; printf("%3d",x); } printf("\n"); return 0; }

六、
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int x,y,n; n=1; srand(time(0)); x=rand()%30+1; printf("猜猜2021年12月哪一天会是你的luck day\n开始喽,你有三次机会,猜吧(1~31):"); scanf("%d",&y); getchar(); while(n<3){ if(y<x) { printf("你猜的日期早了,luck day还没到呢\n"); } else if(y>x) { printf("你猜的日期晚了,luckday悄悄溜到前面啦\n"); } else{ printf("你猜中啦!恭喜~\n"); break; } printf("再猜(1~31):"); scanf("%d",&y); getchar(); n++; } if(y!=x){ printf("次数用完啦,偷偷告诉你,12月,你的luck day是%d号",x); } return 0; }

(据卓欣评论已添加图片)
七、
1.
#include<stdio.h> int main() { int i,n; printf("input n:"); scanf("%d",&n); for(i=0;i<n;i++){ printf(" 0\n"); printf(" H\n"); printf("I I\n"); printf("\n"); } return 0; }

2.
#include<stdio.h> int main(){ int i,n; printf("input n:"); scanf("%d",&n); for(i=0;i<n;i++){ printf(" 0\t"); } printf("\n"); for(i=0;i<n;i++){ printf(" H\t"); } printf("\n"); for(i=0;i<n;i++){ printf("I I\t") ; } printf("\n"); return 0; }

3.
#include<stdio.h> int main(){ int i,n,j,x,y,m,g;//j为每行的个数 printf("input n:"); scanf("%d",&n); g=(n-1)*2+1; j=(n-1)*2+1; //定义第一行的数量 for(x=0;x<n;x++)//循环做n行 { for(m=0;m<(g-j)/2;m++){ printf("\t"); } for(i=0;i<j;i++){ printf(" 0\t"); }//每行的头 for(m=0;m<(g-j)/2;m++){ printf("\t"); } printf("\n"); for(m=0;m<(g-j)/2;m++){ printf("\t"); } for(i=0;i<j;i++){ printf(" H\t"); }//身体 for(m=0;m<(g-j)/2;m++){ printf("\t"); } printf("\n"); for(m=0;m<(g-j)/2;m++){ printf("\t"); } for(i=0;i<j;i++){ printf("I I\t") ; }//腿子 for(m=0;m<(g-j)/2;m++){ printf("\t"); } printf("\n"); j--; j--; } return 0; }

实验总结:
1.在实验四中,我测试的输入的第二组数据一直不对,却找不到原因,因为我的sum=0一直是定义在while循环外,所以它在一组数据做出结果后就变了,以后要想清楚一个变量初始值定义的位置。
2.了解了break是从一个循环中跳出。
3.写注释可以让代码的可读性增强,也便于自己修改。以后要在比较复杂的地方写注释。
4.嵌套结构是薄弱点,有时候理不清。

浙公网安备 33010602011771号