实验2

任务1

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

line17功能:生成N1到N2的数

line24功能:生成1到N3的数

程序功能:在20248329或20248395后生成随机数

任务2

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

 

任务3

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

 

 

任务4

 1 #include<stdio.h>
 2 int main()
 3   {
 4     double a,sum=0,max=0,min=20000;
 5     
 6     while(scanf("%lf",&a)!=EOF&&a!=-1)
 7     {
 8          if(a>max)
 9          
10              max=a;
11         
12         if(a<min)
13          
14              min=a;
15          
16          sum=sum+a;
17      }
18      printf("今日累积消费总额:%.1lf\n今日最高一笔开销:%.1lf\n今日最低一笔开销:%.1lf\n",sum,max,min);
19      
20      return 0;
21 }

 

 

 

任务5

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

 

 

任务6

 1 #include<stdio.h>
 2 #include<time.h>
 3 #include<stdlib.h>
 4 int main()
 5 {
 6     srand(time(NULL));
 7     int data=rand()%31+1;
 8     int a;
 9     int n=0;
10     printf("猜猜2024年那一天会是你的lucky day\n");
11     do{
12     printf("开始喽,你有三次机会猜吧(1~30):");
13     scanf("%d",&a);
14     n++;
15     if(a<data)
16         printf("太晚了\n");
17         else if(a>data)
18         printf("太早了\n");
19         else{
20         
21         printf("恭喜你,猜中了,%d就是你的幸运日\n",data);
22         
23         break;} 
24          
25     }while(n<3);
26     if(n==3)
27     printf("次数用光啦,偷偷告诉你,11月你的lucky day是%d号\n",data);
28     return 0;
29 }

 

posted @ 2024-10-10 23:22  64rytr76d65  阅读(3)  评论(0编辑  收藏  举报