实验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 int main()
 9 {
10     int number;
11     int i;
12     
13     srand( time(0) );
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答案:

先通过rand函数升恒一个伪随机数,再通过取余运算将其限定在N1到N2之间,因为取余后在[0,N2-N1]中,加上N1就是[N1,N2]。

问题2答案:

生成5个随机学号,其尾号在374到465之间。

 

实验任务2

代码

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

运行截图

 

实验任务3

代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 
 5 int main()
 6 {
 7     srand (time(0));
 8     int day=(rand()%30)+1;
 9     
10     int a=0;
11     int g;
12     
13     
14     while (a<3)
15     {
16     
17         printf("猜猜2023年11月哪一天是你的幸运日:\n");
18         scanf("%d",&g);
19             
20     if (g==day)
21     {
22         printf("哇!猜中了!:—)\n");
23         break;
24     }
25     else if(g<day)
26     {
27         printf("你猜的日期早了,你的幸运日还没到呢\n");
28     }
29     else
30     {
31         printf("你猜的日期晚了,你的幸运日已经过啦\n");
32     }
33     
34     a++;
35     }
36         
37     if(a==3)
38     {
39         printf("次数用完啦~偷偷告诉你,你的幸运日是%d\n",day);
40     }
41     return 0;
42 }

运行截图

 

 

实验任务4

代码

 

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

 

结果

 

实验任务5

代码

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

运行结果

 

实验任务6

代码

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

运行截图

 

 

posted @ 2023-10-21 00:45  starming  阅读(16)  评论(0编辑  收藏  举报