实验2

任务一:

代码

 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     return 0;
32 }

截图

Q1:将随机学号限定在11和12班里

Q2:将学号限定在奇安信班里

Q3:随机抽取学号

 

 

任务二:

代码

 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     return 0;
30 }
31     

截图

 

 

任务三:

代码

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

截图

 

 

 

任务四:

代码

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

截图

 

 

任务五:

代码

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

截图

 

任务六:

代码

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

截图

 

posted @ 2024-10-11 15:37  计类12yyq  阅读(12)  评论(0编辑  收藏  举报