实验2

TASK 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、在计科人数中随机生成一个0-79的数,随后再+N1得到该生的学号
2、在奇安信人数中随机生成一个0-20的数,随后再+1得到该生的学号
3、随机点名。。。
 
TASK 2
 1 // 一元二次方程求解
 2 
 3 #include <stdio.h>
 4 #include <math.h>
 5 
 6 int main() {
 7     double a, b, c;
 8     double delta, p1, p2; // 用于保存中间计算结果
 9 
10     while(scanf("%lf%lf%lf", &a, &b, &c) != EOF) {
11         if(a == 0) {
12             printf("a = 0, invalid input\n");
13             continue;
14         }
15 
16         delta = b*b - 4*a*c;
17         p1 = -b/2/a;
18         p2 = sqrt(fabs(delta))/2/a;
19 
20         if(delta == 0)
21             printf("x1 = x2 = %.2g\n", p1);
22         else if(delta > 0)
23             printf("x1 = %.2g, x2 = %.2g\n", p1+p2, p1-p2);
24         else {
25             printf("x1 = %.2g + %.2gi, ", p1, p2);
26             printf("x2 = %.2g - %.2gi\n", p1, p2);
27         }
28     }
29 
30     return 0;
31 }

 

TASK 3

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

 

TASK 4

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     float cost,sum;
 6     float max,min;
 7     printf("输入今日开销,输入-1时终止:\n");
 8     
 9     sum = 0;
10     max = 0;
11     min = 20000;
12     
13     while(scanf("%f",&cost) != EOF)
14     {
15         
16         if(cost > max)
17         {
18             max = cost;
19         }
20         if(cost < min&&cost != -1)
21         {
22             min = cost;
23         }
24         if(cost == -1)
25             break;
26         sum += cost;
27     }
28     printf("今日累计消费总额:%.1f\n",sum);
29     printf("今日最高一笔开销:%.1f\n",max);
30     printf("今日最低一笔开销:%.1f\n",min);
31     
32     return 0;
33 }

 

TASK 5

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

 

TASK 6

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