实验2

任务1

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include<time.h>
 4 
 5 #define N 5
 6 
 7 int main() {
 8     int number;
 9     int i;
10 
11     srand(time(0));
12     for(i = 0; i < N; ++i) {
13         number=rand()%100+1;
14         printf("20490042%04d\n",number);
15     }
16 
17     return 0;
18 }

1

回答:

1. 功能:2024004200001-202400420100的编号中随机抽取5个

2. line13:随机生成1-100的随机数

3. 使在20240042的前缀后插入的随机数占四位

4. 重新随机生成数字,使每一次运行生成数字不同

 

任务2

 1 #include <stdio.h>
 2  int main() {
 3     int choice, quantity;
 4     float total_price = 0, amount_paid, change;
 5     while (1) {
 6         printf("\n自动饮料售卖机菜单:\n");
 7         printf("1. 可乐 - 3 元/瓶\n");
 8         printf("2. 雪碧 - 3 元/瓶\n");
 9         printf("3. 橙汁 - 5 元/瓶\n");
10         printf("4. 矿泉水 - 2 元/瓶\n");
11         printf("0. 退出购买流程\n");
12         printf("请输入饮料编号: ");
13         scanf("%d", &choice);
14         if (choice == 0)
15             break;
16         if (choice < 1 || choice > 4) {
17             printf("无效的饮料编号,请重新输入。\n");
18             continue;
19         }
20         printf("请输入购买的数量: ");
21         scanf("%d", &quantity);
22         if (quantity < 0) {
23             printf("购买数量不能为负数,请重新输入。\n");
24             continue;
25         }
26         if(choice == 1 || choice == 2)
27             total_price += 3 *quantity;
28         else if(choice == 3)
29             total_price += 5 *quantity;
30         else
31             total_price += 2 * quantity;
32         printf("请投入金额: ");
33         scanf("%f", &amount_paid);
34         change = amount_paid -total_price;
35         printf("本次购买总价: %.2f 元\n", total_price);
36         printf("找零: %.2f 元\n", change);
37         total_price = 0;
38     }
39     printf("感谢您的购买,欢迎下次光临!\n");
40     return 0;
41  }
View Code

2

回答:

1. 再次运行时,总价会加上之前的总价

2. continue:结束当前循环,重新开始

任务3

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

3

任务4

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

4

任务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             if(a==b&&b==c){
 7                 printf("等边三角形\n");
 8             }
 9             else if(a==b||b==c||a==c){
10                 printf("等腰三角形\n");}
11             else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
12                 printf("直角三角形\n");
13             }
14             else{
15                 printf("普通三角形\n");
16             }
17         }
18         else
19         {
20             printf("不能构成三角形\n");
21         }
22     }
23     return 0;
24 }

5

任务6

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<time.h>
 4 int main(){
 5     int day,g,c=3;
 6     srand(time(0));
 7     day=rand()%30+1;
 8     printf("猜猜2026您4月哪一天是你的luckyday\n");
 9     printf("开始喽,你有3次机会,猜吧(1~30):");
10     while(c>0){
11         scanf("%d",&g);
12             if(g==day){
13                 printf("哇,猜中了:)\n");
14                 return 0;
15             }
16             else if(g>day){
17                 printf("你猜的日期晚了,你的lucky day在前面哦\n");
18             }
19             else{
20                 printf("你猜的日期早了,你的lucky day还没到呢\n");
21             }
22             c--;
23             if(c>0){
24                 printf("再猜(1~30):");
25             }
26     }
27     printf("次数用完啦。4月你的lucky day是%d号\n",day);
28     return 0;
29 }

6

 

posted @ 2026-04-15 19:37  awd01  阅读(8)  评论(0)    收藏  举报