实验2_C语言分支与循环基础应用编程

发布时间 2023-10-16 19:36:53作者: zxy溢

1.task_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:限制number后三位数字在374到465之间

问题2:生成5个202383290374到202383290465之间到随机数

 

2.task_2

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     char ans;
 6     while(scanf("%c",&ans)!=EOF)
 7     {
 8         getchar();
 9         switch(ans)
10         {
11             case 'r':
12                 {
13                     printf("stop!\n");
14                     break;
15                 }
16             case 'g':
17                 {
18                     printf("go go go\n");
19                     break;
20                 }
21             case 'y':
22                 {
23                     printf("wait a minute\n");
24                     break;
25                 }
26             default:
27                 {
28                     printf("something must be wrong...\n");
29                     break;
30                 }
31         }
32     }
33     return 0;
34 }

 

3.task_3

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

 

4.task_4

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

 

5.task_5

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

 

6.task_6

 

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