实验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 }

line21代码是为了生成397~476的数字后缀
line25代码是为了生成1~21的数字后缀
这个程序的功能是以当前系统时间作为随机种子生成随机数,若为奇数,则为20248329前缀的学号随机生成397~476的后缀,并补0输出,若为偶数,则为20248395前缀的学号生成1~21的后缀,并补0输出,重复5次,输出五行学号

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

 任务4

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int main(){
 4     double x,max,min,s=0;
 5     int k=0;
 6     printf("输入今日开销,直到输入-1终止\n");
 7     scanf("%lf",&x);
 8     max=x;
 9     min=x;
10     while(x!=-1){
11         s=s+x;
12         k++;
13         if(x>max)
14         max=x;
15         if(x<min)
16         min=x;
17         scanf("%lf",&x);
18         
19     }
20     printf("今日累计消费总额:%.1f\n",s);
21     printf("今日最高一笔开销:%.1f\n",max);
22     printf("今日最低一笔开销:%.1f\n",min);
23     return 0;
24      
25      
26 }

任务5

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

 任务6

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 int main(){
 5     int lucky_day,guess,chance=3;
 6     srand(time(NULL));
 7     lucky_day=rand()%30+1;
 8     printf("猜猜2024年11月哪一天会是你的lucky_day\n");
 9     printf("开始喽,你有三次机会,猜吧(1~30):");
10     while(chance>0){
11         scanf("%d",&guess);
12         if(guess==lucky_day){
13         printf("哇,猜中了:)\n");
14         return 0;}
15         if(guess<lucky_day)
16         printf("你猜的日期早了,你的luckt_day还没到呢\n");
17         if(guess>lucky_day)
18         printf("你猜的日期晚了,你的lucky_day在前面哦\n");
19 if(chance!=1)
20 printf("再猜(1~30):") ;
21 chance--; 22 } 23 printf("次数用光了,偷偷告诉你,11月你的lucky_day是%d号\n",lucky_day); 24 return 0; 25 }

 

posted @ 2024-10-10 13:37  一身班味  阅读(7)  评论(0编辑  收藏  举报