实验二

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 5
#define N1 80
#define N2 35

int main()
{
	int cnt;
	int random_major,random_no;

	srand(time(NULL));

	cnt=0;
	while(cnt<N)
	{random_major=rand()%2;

	if(random_major)
	{
		random_no=rand()%N1+1;
		printf("20256343%04d\n",random_no);
	}
	else
	{
		random_no=rand()%N2+1;
		printf("20256136%04d\n",random_no);
	}
	cnt++;
	}
	return 0;
}

  问题一:生成随机数,否则固定

问题二:生成学号

1

 

#include<stdio.h>

int main()
{
	int choice,quantity;
	float total_price=0,amount_paid,change;

	while(1)
	{
		printf("\n自动饮料售卖机菜单:\n");
		printf("1.可乐-3元/瓶\n");
		printf("2.雪碧-3元/瓶\n");
		printf("3.橙汁-5元/瓶\n");
		printf("4.矿泉水-2元/瓶\n");
		printf("0.退出购买流程\n");
		printf("请输入饮料编号:");
		scanf("%d",&choice);

		if(choice==0)
			break;

		if(choice<1||choice>4)
		{
			printf("无效的饮料编号,请重新输入。\n");
			continue;
		}
		printf("请输入购买的数量:");
		scanf("%d",&quantity);

		if(quantity<0)
		{
			printf("购买数量不能为负数,请重新输入。\n");
			continue;
		}

		if(choice==1||choice==2)
			total_price+=3*quantity;
		else if(choice==3)
			total_price+=5*quantity;
		else
			total_price+=2*quantity;

		printf("请投入金额:");
		scanf("%f",&amount_paid);

		change=amount_paid-total_price;
		printf("本次购买总价:%.2f元\n",total_price);
		printf("找零:%.2f元\n",change);

		total_price=0;
	}
	printf("感谢您的购买,欢迎下次光临!\n");
	return 0;

}

  问题一:多次运行,金额会叠加

问题二:重新运行

2

 

#include<stdio.h>

int main()
{
	char x;
	while(scanf("%c",&x)!=EOF)
	{
		getchar();
		if(x=='y')
			printf("wait a minute\n");
		else if(x=='g')
			printf("go go go\n");
		else if(x=='r')
			printf("stop!\n");
		else
			printf("something must be wrong...\n");
	}
	return 0;
}

  3

 

 

#include<stdio.h>

int main()
{
	double sum,a,b,c;
	a=0,b=20000,sum=0;
	printf("输入今日开销,直到输入-1终止:\n");
	while(scanf("%lf",&c)!=EOF)
	{
		if(c==-1)
			break;
		sum=sum+c;
		if(c>a)
			a=c;
		if(c<b)
			b=c;
	}
	printf("今日累计消费总额:%.1lf\n",sum);
	printf("今日最高一笔开销:%.1lf\n",a);
	printf("今日最低一笔开销:%.1lf\n",b);

	return 0;
}

  4

 

 

#include<stdio.h>

int main()
{
	int a1,a2,a3;
	while(scanf("%d%d%d",&a1,&a2,&a3)!=EOF)
	{
		if(a1+a2<=a3||a1+a3<=a2||a2+a3<=a1)
			printf("不能构成三角形\n");
		else if(a1==a2&&a2==a3)
			printf("等边三角形\n");
		else if(a1==a2||a2==a3||a1==a3)
			printf("等腰三角形\n");
		else if(a1*a1+a2*a2==a3*a3||a2*a2+a3*a3==a1*a1||a1*a1+a3*a3==a2*a2)
			printf("直角三角形\n");
		else
			printf("普通三角形\n");
	}
	return 0;
}

  5

 

 

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand(time(NULL));
	int num,x,cnt;
	num=rand()%29+1;
	printf("猜猜2025年11月哪一天是你的lucky day\n");
	printf("开始喽,你有三次机会,猜吧(1~30):");
	for(cnt=0;cnt<=2;cnt++)
	{
		scanf("%d",&x);
		if(x==num)
		{
			printf("哇,猜中了:)");
			return 0;
		}
		else if(x<num)
			printf("你猜的日期早了,你的lucky day还没到呢\n");
		else
			printf("你猜的日期晚了,你的lucky day在前面哦\n");
		if(cnt<=1)
			printf("再猜(1~30):");
	}
	printf("次数用光了。偷偷告诉你,11月你的lucky day是%d号",num);
	return 0;
}

  

6.1

 

6.2

 

posted @ 2025-10-19 16:31  W12341  阅读(4)  评论(0)    收藏  举报