实验2
实验任务1
代码
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 #define N 5 6 #define N1 374 7 #define N2 465 8 9 int main() 10 { 11 int number; 12 int i; 13 14 srand(time(0)); 15 16 for(i = 0; i < N; ++i) { 17 number = rand()%(N2 - N1 + 1) + N1; 18 printf("202383290376%04d\n", number); 19 } 20 21 return 0; 22 }
运行结果
问题1答案
rand()函数会生成一个0到(N2-N1+1)范围的随机整数,然后加上N1,这样就得到了在闭区间[N1,N2]内的随机整数
问题2答案
生成5个随机符号,尾号范围在374到465之间
实验任务2
代码
1 #include<stdio.h> 2 3 int main() 4 { 5 char input; 6 7 while(1){ 8 printf("请输入交通信号灯的颜色:"); 9 int result = scanf("%c",&input); 10 11 if(result == EOF){ 12 break; 13 } 14 else if (result == 1){ 15 switch(input){ 16 case'r': 17 printf("stop!\n"); 18 break; 19 case'y': 20 printf("wait a minute\n"); 21 break; 22 case'g': 23 printf("go go go\n"); 24 break; 25 default: 26 printf("something must be wrong...\n"); 27 break; 28 } 29 } 30 31 getchar(); 32 33 } 34 35 return 0; 36 }
运行结果
实验任务3
代码
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<time.h> 4 5 int main(){ 6 int luckyday = 0; 7 int guess; 8 int chances = 3; 9 10 srand(time(0)); 11 luckyday = rand() % 30 + 1; 12 13 printf("猜猜2023年11月哪一天是你的lucky day\n"); 14 printf("开始喽,你有三次机会,猜吧(1~30):"); 15 16 while(chances > 0){ 17 scanf("%d",&guess); 18 19 if (guess == luckyday){ 20 printf("哇,猜中了:-)\n"); 21 break; 22 } 23 else if (guess < luckyday){ 24 printf("你猜的日期早了,你的lucky day还没到呢\n"); 25 } 26 else{ 27 printf("你猜的日期晚了,你的lucky day已经过啦\n"); 28 } 29 30 chances--; 31 32 if(chances > 0){ 33 printf("再猜(1~30):"); 34 } 35 else{ 36 printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号\n",luckyday); 37 } 38 } 39 return 0; 40 }
运行结果
实验任务4
代码
1 #include<stdio.h> 2 3 int main(){ 4 int n,a,i,k; 5 double s; 6 while(scanf("%d%d",&n,&a)!=EOF){ 7 s = 0; 8 k = 0; 9 for(i = 1;i <= n;i++){ 10 k = 10*k + a; 11 s += 1.0*i/k; 12 } 13 printf("n = %d,a = %d,s = %lf\n\n",n,a,s); 14 15 } 16 return 0; 17 }
运行结果
实验任务5
代码
1 #include<stdio.h> 2 int main(){ 3 int i,j; 4 for(i = 1;i <= 9;i++){ 5 for(j = 1;j <= i;j++){ 6 printf("%d*%d = %d ",i,j,i*j); 7 } 8 printf("\n"); 9 } 10 return 0; 11 }
运行结果
实验任务6
代码
1 #include<stdio.h> 2 int main(){ 3 int n; 4 int i,j,k,l,f; 5 scanf("%d",&n); 6 for(i = 1;i <= n;i++){ 7 for(f=1;f<=i-1;f++){ 8 printf("\t"); 9 } 10 for(j = 1;j <= 2*n-1-2*(i - 1);j++){ 11 printf(" O \t"); 12 } 13 14 printf("\n"); 15 16 for(f=1;f<=i-1;f++){ 17 printf("\t"); 18 } 19 for(k = 1;k <= 2*n-1-2*(i - 1);k++){ 20 printf("<H>\t"); 21 } 22 23 printf("\n"); 24 25 for(f=1;f<=i-1;f++){ 26 printf("\t"); 27 } 28 for(l = 1;l <= 2*n-1-2*(i - 1);l++){ 29 printf("I I\t"); 30 } 31 printf("\n"); 32 } 33 return 0; 34 }
运行结果