实验2
1.实验任务1
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 #define R1 586 #define R2 701 int main() { int number; int i; srand( time(0) ); for(i = 0;i <N;++i) { number = rand()%(R2-R1+1)+R1; printf("2022833%04d\n",number); } system("pause"); return 0; }
问题1:生成586到701之间的随机数
问题2:功能是随机生成班上五名同学的学号
2.实验任务2
#include<stdio.h> #include<stdlib.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3);/*题干上的原代码没有给储存地址符号&*/ printf("a1=%d,a2=%d,a3=%d\n",a1,a2,a3); getchar(); scanf("%c%c%c",&c1,&c2,&c3); printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y);/*x的输入类型应该是%lf*/ printf("x=%lf,y=%lf\n",x,y); system("pause"); return 0; }
3.实验任务3
task3_2
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { double x,ans; while(scanf("%lf",&x)!=EOF) { ans = pow(x,365); printf("%.2f的365次方:%.2f\n",x,ans); printf("\n"); } system("pause"); return 0; }
task3_3
#include<stdio.h> #include<stdlib.h> int main() { double f,c; while(scanf("%lf",&c)!=EOF) {f = 9.0/5.0*c + 32; printf("摄氏度c = %.2lf时,华氏度f = %.2lf\n",c,f); } system("pause"); return 0; }
4.实验任务4
#include<stdio.h> #include<stdlib.h> int main() { char ans; while(scanf("%c",&ans)!=EOF) {switch(ans) {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; } getchar(); } system("pause"); return 0; }
5.实验任务5
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int number=0; int i=1; int ans=0; int flag=0; srand(time(NULL)); number = rand()%((30-1+1)+1); printf("猜一猜2023年4月哪一天会是你的lucky day:"); for(;i<=3;i++) {scanf("%d",&ans); if(ans == number) {flag = 1;break;} if(ans<number) {printf("你猜的日期早了,你的lucky day还没到呢\n"); flag = 0; if(i!=3) {printf("再猜(1~30):");continue;} continue; } if(ans>number) {printf("你猜的日期晚了,你的lucky day已经过啦\n"); flag = 0; if(i!=3) {printf("再猜(1~30):");continue;} continue; } } if(flag) printf("哇,猜中了:-)\n"); else printf("次数用完啦,偷偷告诉你:4月,你的lucky day是%d号\n",number); system("pause"); return 0; }
6.实验任务6
#include<stdio.h> #include<stdlib.h> int main() { int c=1,l=1; for(;l<=9;l++) {for(c=1;c<=l;c++) printf("%d × %d = %d\t",c,l,c*l); printf("\n");} system("pause"); return 0; }
7.实验任务7
#include<stdio.h> #include<stdlib.h> int main() { int n,m,i,j; printf("input n: "); scanf("%d",&n ); for(m = 2*n-1,i=1;n>=1;n--,i++) {for(j=i;j-1>0;j--) {printf("\t");} for(m=2*n-1;m>=1;m--) {printf(" o \t");} printf("\n"); for(j=i;j-1>0;j--) {printf("\t");} for(m=2*n-1;m>=1;m--) {printf("<H>\t");} printf("\n"); for(j=i;j-1>0;j--) {printf("\t");} for(m=2*n-1;m>=1;m--) {printf("I I\t");} printf("\n");} system("pause"); return 0; }
当输入为n时:
第i行,需要2(n-i+1)-1个字符小人
第i行,前面需要使用i-1个\t