实验二
任务一
#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; } 问题1:解释line16代码的功能 随机生成数字,并得到年份即为年级 问题2:解释line17代码的功能 生成从一开始的数据组,即为编号 问题3:这个程序的功能是什么? 随机生成学号年份+833+五位数编号
任务二
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 3 int main() { int i,x,y; printf("猜猜2022年4月哪一天会是你的lucky day\n"); printf("开始喽,你有三次机会,猜吧(1`30):\t"); srand(time(0)); y=rand() %30+1; for(i=0;i<N;i++) { scanf("%d",&x); if(x>y) { printf("你猜的日期晚了,你的lucky day已经过啦\n"); printf("再猜(1`30):\t"); } else if(x<y) { printf("你猜的日期早了,你的lucky day还没到呢\n"); printf("再猜(1`30):\t"); } else { printf("哇,猜中了"); break; } } if(i==3) printf("次数用完啦,偷偷告诉你:4月,你的lucky day:%d号\n",y); return 0; }
任务三
#include<stdio.h> int main() { char a; while(scanf("%c",&a)!=EOF) { if(a=='r') printf("stop!\n"); else if(a=='g') printf("go,go,go\n"); else if(a=='y') printf("wait a minute\n"); else printf("something must be wrong...\n"); a=getchar(); } return 0; }
任务四
#include<stdio.h> #include<math.h> int main() { int n,a,i; double s=0.0,y=0.0; while(scanf("%d%d",&n,&a)!=EOF) { for(i=1;i<=n;i++) { y+=a*pow(10,i-1); s+=n/y; } printf("n=%d, a=%d, s=%f\n",n,a,s); } return 0; }
任务五
#include<stdio.h> #define N 9 int main() { int x,y; for(x=1;x<=N;x++) { for(y=1;y<=x;y++) { printf("%dX%d= %2d ",x,y,x*y); } printf("\n"); } return 0; }
任务六
#include<stdio.h> int main() { int n,i; printf("input n:"); scanf("%d",&n); for(i=0;i<=n;i++) { printf(" O\n"); printf("<H>\n"); printf("I I"); } int m; printf("input m:"); scanf("%d",&m); for(int i=0;i<m;i++){ printf(" O ");} printf("\n"); for(int i=0;i<m;i++){ printf(" <H> ");} printf("\n"); for(int i=0;i<m;i++){ printf(" I I ");} printf("\n"); return 0; }