实验2

task1

代码

 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     int number,i;
11     
12     srand( time(0) );
13     
14     for(i=0;i<N;++i){
15         number = rand()%(N2-N1+1)+N1;
16         printf("202383290376%04d\n",number);
17     }
18     return 0;
19 } 

结果

回答

问题1:保证随机的数位于[374,466]之间。

问题2:随机生成五个不同的学号。

task2

代码

 1 #include <stdio.h>
 2 
 3 int main(){
 4     char n;
 5     while(scanf("%c",&n)!=EOF){
 6         getchar();
 7         switch(n){
 8         case 'r':printf("stop!\n");break;
 9         case 'g':printf("go go go\n");break;
10         case 'y':printf("wait a minute\n");break;
11         default:printf("something must be wrong...\n");break;
12         }
13     }
14     
15     return 0;
16 }

结果

task3

代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <time.h>
 4 
 5 int main(){
 6     int day,i,n;
 7     srand(time(0));
 8     day = rand()%30 + 1;
 9     printf("猜猜2023年11月哪一天会是你的lucky day\n");
10     printf("开始喽,你有三次机会,猜吧(1~30):");
11     
12     for(n=1;n<=3;n++){
13         scanf("%d",&i);
14         if(i==day){
15             printf("哇,猜中了:-)\n");
16             break;
17         }else if(i<day){
18             printf("你猜的日期早了,你的lucky day还没到呢\n");
19             printf("再猜(1~30):");
20         }else{
21             printf("你猜的日期晚了,你的lucky day已经过啦\n");
22             printf("再猜(1~30):");
23         }
24     }
25     if(n==4){
26         printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号",day);
27     }    
28     return 0;
29 }

结果

task4

代码

 1 #include <stdio.h>
 2 
 3 int main(){
 4     int n,a,b,i;
 5     double s;
 6     while(scanf("%d %d",&n,&a)!=EOF){
 7         b=a;
 8         for(i=1;i<=n;i++){
 9             s+=i*1.0/b;
10             b=b*10+b;
11         }
12         printf("n = %d,a = %d,s = %lf\n",n,a,s);
13         s=0;
14         printf("\n");
15     } 
16     return 0;
17 }

结果

task5

代码

 1 #include <stdio.h>
 2 
 3 int main(){
 4     int i,j;
 5     
 6     for(i=1;i<10;i++){
 7         for(j=1;j<=i;j++){
 8             printf("%d*%d = %2d ",j,i,i*j);
 9         }
10         printf("\n");
11     }
12     return 0;
13 }

结果

task6

代码

 1 #include <stdio.h>
 2 
 3 int main(){
 4     int n,i,m,a;
 5     printf("input n:");
 6     scanf("%d",&n);
 7     
 8     for(i=1;i<=2*n-1;i++){
 9         for(m=0;m<i-1;m++){
10             printf("\t");
11         }
12         for(a=0;a<2*(n-i)-1;a++){
13             printf(" O \t");
14         }
15         printf("\n");
16         
17         for(m=0;m<i-1;m++){
18             printf("\t");
19         }
20         for(a=0;a<2*(n-i)-1;a++){
21             printf("<H>\t");
22         }
23         printf("\n");
24         
25         for(m=0;m<i-1;m++){
26             printf("\t");
27         }
28         for(a=0;a<2*(n-i)-1;a++){
29             printf("I I\t");
30         }
31         printf("\n");
32     }
33     return 0;
34 } 

结果

posted @ 2023-10-16 21:03  陈熠涛  阅读(28)  评论(0)    收藏  举报