实验2 C语言控制语句应用编程
task1.c
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 int main() { int grade,number; int i; srand(time(0)); for(i=0;i<N;++i) { grade=rand()%4+2018; number=rand()%999+1; printf("%d8330%04d\n",grade,number); } return 0; }
line16表示随机生成2018-2021之间的一个整数
line17表示随机生成1-999之间的一个整数
这个程序表示随机生成五个2018-2021年尾号为001-999的学号
task2.c
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int lucky_day; int i,n; srand(time(0)); lucky_day=rand()%30+1; printf("猜猜2022年4月哪一天会是你的lucky day\n"); printf("开始喽,你有三次机会,猜吧(1~30):"); for(i=0;i<3;i++) { scanf("%d",&n); if(n==lucky_day) { printf("哇,猜中了:-)\n"); break; } else if(n<lucky_day) { printf("你猜的日期早了,你的lucky day还没到呢\n"); if(i<2) { printf("再猜(1~30):"); continue;} } else { printf("你猜的日期晚了,你的lucky day已经过啦\n"); if(i<2) { printf("再猜(1~30):"); continue;} } printf("次数用完啦,偷偷告诉你:4月,你的lucky day是%d号\n",lucky_day); } return 0; }
task3.c
#include<stdio.h> int main() { char ch; while(scanf("%c",&ch)!=EOF) { getchar(); switch(ch) { case 'r': printf("stop!\n");break; case 'g': printf("go go go\n");break; case 'y': printf("wait a minute\n");break; default: printf("something must be wrong...\n"); break; } } return 0; }
task4.c
#include<stdio.h> int main() { int n,a,i,j; double s,t; while(scanf("%d%d",&n,&a)!=EOF) { s=0.0; j=0; for(i=1;i<=n;i++) { j=j*10+a; t=(double)i/j; s=s+t; } printf("n=%d,a=%d,s=%lf\n\n",n,a,s); } return 0; }
task5.c
#include<stdio.h> int main() { int i,j,t; for(j=1;j<=9;j++) { for(i=1;i<=j;i++) { t=i*j; printf("%d*%d=%2d ",i,j,t); } printf("\n"); } return 0; }
task6_1.c
#include<stdio.h> int main() { int n,i; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { printf(" O \n"); printf("<H>\n"); printf("I I\n"); printf("\n"); } }
task6_2.c
#include<stdio.h> int main() { int n,i; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) printf(" O "); printf("\n"); for(i=1;i<=n;i++) printf("<H> "); printf("\n"); for(i=1;i<=n;i++) printf("I I "); printf("\n"); return 0; }
task6_3.c
#include<stdio.h> int main() { int n,i,t,j,m; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { m=2*n; t=5*(i-1); printf("%*s",t,""); for(j=i;j<=m-i;j++) printf(" O "); printf("\n"); t=5*(i-1); printf("%*s",t,""); for(j=i;j<=m-i;j++) printf("<H> "); printf("\n"); t=5*(i-1); printf("%*s",t,""); for(j=i;j<=m-i;j++) printf("I I "); printf("\n"); } return 0; }
实验总结
1.输入字符要用getchar吸收回车!
2.注意字符型常量
3.注意输入连续空格的情况