实验2

 
任务1
 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 #define N 5
 7 #define N1 397
 8 #define N2 476
 9 #define N3 21
10 
11 
12 int main()
13 {   int cnt;
14     int random_major,random_no;
15     
16     srand(time(NULL));
17     cnt=0;
18     while(cnt<N)
19     {
20         random_major=rand()%2;
21         
22         if(random_major)
23         {
24             random_no=rand()%(N2-N1+1)+N1;
25             printf("20248329%04d\n",random_no);
26             
27         }
28         else
29         {
30             random_no=rand()%N3+1;
31             printf("20248395%04d\n",random_no);
32             
33         }
34         cnt++;
35         
36     }
37 
38 return 0;
39      
40 }

问题1:line21代码 random_no = rand() % (N2 - N1 + 1) + N1; 的功能为随机生成一个N1~N2之间的数字

问题2:解释line25代码 random_no = rand() % N3 + 1; 的功能为随机生成一个1~N3之间的随机数

问题3:这个程序的功能是随机在奇安信班,11班,12班抽取五个人的学号

任务2

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 int main()
 7 {   double a,b,c;
 8     double delta,p1,p2;
 9     while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
10     {
11         if(a==0)
12         {
13             printf("a=0,invalid input\n");
14             continue;
15             
16         }
17         delta=b*b-4*a*c;
18         p1=-b/2/a;
19         p2=sqrt(fabs(delta))/2/a;
20         
21         if(delta==0)
22            printf("x1=x2=%.2g\n",p1);
23            else if(delta>0)
24            printf("x1=%.2g,x2=%.2g\n",p1+p2,p1-p2);
25            else
26            {
27                printf("x1=%.2g+%.2gi,",p1,p2);
28                printf("x2=%.2g-%.2gi\n",p1,p2);
29            }
30     }
31 
32 return 0;
33      
34 }

 

任务3

 

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 int main()
 7 {  char color;
 8     printf("请输入交通信号灯颜色(r/g/y):\n");
 9     while (scanf("%c", &color)!=EOF) 
10     {   getchar();
11         if (color == 'r') {
12             printf("stop!\n");
13         } else if (color == 'g') {
14             printf("go go go\n");
15         } else if (color == 'y') {
16             printf("wait a minute\n");
17         } else {
18             printf("something must be wrong...\n");
19         }
20         printf("请输入交通信号灯颜色(r/g/y):\n");
21     } 
22     
23    return 0;
24 }
25 
26      

任务4

 

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 int main()
 7 {   double expense,min=20000,max=0,sum=0;
 8     printf("输入今日开销,直到-1终止:\n"); 
 9     while(scanf("%lf",&expense)!=EOF)
10     { if(expense==-1)
11     break;
12     if(expense>max)
13     max=expense;
14     if(expense<min)
15     min=expense;
16     sum+=expense;
17     }
18         printf("当天最高一笔开销为:%.1lf 元\n", max);
19         printf("当天最低一笔开销为:%.1lf 元\n", min);
20         printf("当天总开销为:%.1lf 元。\n", sum);
21     
22     
23     
24   return 0;  
25 }
26  
27      

任务5

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 int main()
 7 {    int a,b,c;
 8      while(scanf("%d%d%d",&a,&b,&c)!=EOF){
 9          if(a+b<=c||a+c<=b||b+c<=a){
10      
11      printf("不能构成三角形\n");
12  }
13      else if(a==b||a==c||b==c)
14      printf("等腰三角形\n");
15      else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
16      printf("直角三角形\n");
17      else if(a==b==c)
18      printf("等边三角形\n");
19      else
20      printf("普通三角形\n");
21      }
22      
23     
24     
25   return 0;  
26 }

任务6

 

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<time.h>
 4 #include<stdlib.h>
 5 
 6 int main()
 7  { 
 8     srand(time(NULL));
 9     int luckyDay = rand() % 30 + 1;
10     int guess;
11     int i=0;
12 
13     printf("猜猜2024年 11 月哪一天会是你的 lucky day\n");
14     printf("开始喽,你有三次机会,猜吧(1~30):"); 
15     while (i<3) {
16         
17         scanf("%d", &guess);
18 
19         if (guess == luckyDay) {
20             printf("恭喜你,猜对了!\n");
21             return 0;
22         } 
23         else if (guess < luckyDay) {
24             printf("你猜的日期早了,你的lucky Day还没到呢\n");
25             printf("再猜(1~30):"); 
26         } 
27         else {
28             printf("你猜的日期晚了,你的lucky Day在前面哦\n");
29             
30         }
31         if (i < 2) {
32             printf("再猜(1~30):");
33         }
34         i++;
35     }
36 
37     printf("次数用光啦。悄悄告诉你,11 月你的lucky day 是 %d号\n", luckyDay);
38 
39     return 0;
40 }
41      

 

posted @ 2024-10-13 17:09  宇望舒  阅读(1)  评论(0编辑  收藏  举报