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