实验二
实验任务一
问题一:生成随即编号
问题二:生成随机数
问题三:补足四位数字
问题四:去掉代码之后多次运行结果相同,作用是使随机数根据时间生成
任务二
问题一:重复计算价格
问题二:跳过程序开始下一次循环
任务三
点击查看代码
#include <stdio.h>
int main()
{
char light;
printf("请输入交通信号灯颜色(输入r表示red,输入g表示green, 输入y表示yellow):");
for(int i=1; i <= 4; ++i) {
light = getchar();
getchar();
switch (light) {
case 'r': printf("stop!\n"); break;
case 'g': printf("go go go\n"); break;
case 'y': printf("wait a minute\n"); break;
default: printf("something must be wrong...\n");
}
}
return 0;
}

任务四
点击查看代码
#include <stdio.h>
int main(){
double amount, min = 20000, max = 0;
double total_amount = 0;
amount > 0 && amount <= 20000;
printf("输入今日开销,直到输入-1终止:\n");
while(1) {
scanf("%lf", &amount);
if(amount == -1)
break;
total_amount += amount;
if(min >= amount)
min = amount;
if(max <= amount)
max = amount;
}
printf("今日累计消费总额:%.1f\n", total_amount);
printf("今日最高一笔开销:%.1f\n", max);
printf("今日最低一笔开销:%.1f\n", min);
return 0;
}

任务五
点击查看代码
#include <stdio.h>
int main()
{
int a, b, c;
for(int i = 1; i <= 5; ++i)
{
printf("请输入三角形的三边:\n");
scanf("%d%d%d", &a, &b, &c);
if(a + b > c && a +c > b && b + c > a)
{
if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)
{
printf("直角三角形\n");
continue;
}
else if(a == b && a == c )
{
printf("等边三角形\n");
continue;
}
else if((a == b && a !=c) || (a == c && a != b) || (b == c && b != a))
{
printf("等腰三角形\n");
continue;
}
else
{
printf("普通三角形\n");
continue;
}
}
else
{
printf("不能构成三角形\n");
continue;
}
}
return 0;
}

任务六
点击查看代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int day, lucky_day;
srand(time(0));
printf("猜猜2026年11月哪一天是你的lucky day\n\n");
printf("开始喽,你有3次机会,猜吧(1~30):");
lucky_day = rand() % 30 + 1;
for(int i = 1;; ++i)
{
if(i > 3)
{
printf("次数用光啦。11月你的luck day是%d号\n", lucky_day);
break;
}
scanf("%d", &day);
printf("\n");
day >= 1 && day <= 30;
if(day == lucky_day)
{
printf("哇,猜中了:)\n");
break;
}
else if(day >= lucky_day)
{
printf("你猜的日期晚了,你的lucky day在前面哦\n\n");
printf("再猜(1~30):");
}
else
{
printf("你猜的日期早了,你的lucky day还没到呢\n\n");
printf("再猜(1~30):");
}
}
return 0;
}


浙公网安备 33010602011771号