实验2

任务1

源代码

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

问题1:生成一个数字使它在397到476之间。

问题2:生成一个数字使它在1到21之间。

问题3:随机生成班级内的的学号。
 
 
任务2
源代码
 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 int main() {
 5     double a, b, c;
 6     double delta, p1, p2; 
 7 
 8     while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
 9         if(a == 0) {
10             printf("a = 0, invalid input\n");
11             continue;
12         }
13 
14         delta = b*b - 4*a*c;
15         p1 = -b/2/a;
16         p2 = sqrt(fabs(delta))/2/a;
17 
18         if(delta == 0)
19             printf("x1 = x2 = %.2g\n", p1);
20         else if(delta > 0)
21             printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);
22         else {
23             printf("x1 = %.2g + %.2gi, ", p1, p2);
24             printf("x2 = %.2g - %.2gi\n", p1, p2);
25         }
26     }
27 
28     return 0;
29 }

 

任务3

源代码

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     char ch1;
 6     while(scanf("%c",&ch1)!=EOF)
 7     {
 8         getchar();
 9         if(ch1=='r')
10         {
11             printf("stop!\n");
12         }
13         else if(ch1=='y')
14         {
15             printf("wait a mintue\n");
16         }
17         else if(ch1=='g')
18         {
19             printf("gogogo\n");
20         }
21         else
22         {printf("something must be wrong\n");
23         }
24     }
25 
26     return 0;
27 }

任务4

源代码

 1 #include<stdio.h>
 2 int main()
 3 {
 4     double a,max,min,total;
 5     int b ;
 6     total=0;
 7     b=1;
 8     printf("输入今日开销,直到输入-1为止:\n");
 9     max=0;
10     while(1)
11     {
12         scanf("%lf",&a);
13         if(a==-1)
14         {break;
15         }
16         if(b)
17         {
18             min=max=a;
19             b=0;
20         }
21         else
22         {
23             if(a>max)
24             {max=a;
25             }
26             if(a<min)
27             {min=a;
28             }
29         }
30         total+=a;
31 
32      } 
33     printf("今日累计消费总额:%.2f元\n",total);
34     printf("今日最高一笔消费:%.2f元\n",max);
35     printf("今日最低一笔消费:%.2f元\n",min);
36         
37      
38  } 

任务5

源代码

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

任务6

源代码

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 int main()
 5 {
 6     int random1,a,luck;
 7     a =3;
 8     srand(time(NULL));
 9     random1=rand()%30+1;
10     printf("猜猜2024年11月哪一天会是你的lucky day\n \n开始咯,你有三次机会,猜吧(1~30):");
11     
12     while(a)
13     {
14         scanf("%d",&luck);
15         printf("\n");
16         if(luck==random1)
17         {
18             printf("哇,猜中了\n");
19             break;
20         }
21         a-=1 ;
22         if(luck>random1)
23         {
24             printf("你猜的日期晚了,你的lucky day在前面哦\n\n");
25         }
26         else 
27         {
28             printf("你猜的日期早了,你的lucky day在后面哦\n\n");
29         }
30         if(a!=0)
31         {
32             printf("再猜(1~30):");
33         }
34      } 
35     if(a==0)
36     {
37         printf("次数用光啦,偷偷告诉你,11月你的lucky day是%d号",random1);
38     }

 

 

 

posted @ 2024-10-10 14:57  山雖去  阅读(6)  评论(0编辑  收藏  举报