C语言练习——查询水果价格

举报
Code_流苏 发表于 2022/05/10 21:43:06 2022/05/10
【摘要】 C语言练习——查询水果价格名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼🐼本篇内容简介:一、问题呈现-->二、源码实现(+详细注释)-->三、输出结果展示 一、问题呈现 1.问题描述Problem Description给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4...

C语言练习——查询水果价格

名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼

🐼本篇内容简介一、问题呈现-->二、源码实现(+详细注释)-->三、输出结果展示

一、问题呈现

1.问题描述

Problem Description

给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00/公斤、2.50/公斤、4.10/公斤、10.20/公斤。

首先在屏幕上显示以下菜单:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit

用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0

2.输入输出

Input

输入在一行中给出用户连续输入的若干个编号。

Output

首先在屏幕上显示菜单。然后对应用户的每个输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。

3.测试样例

1️⃣样例1

Sample Input

3 1 0 2

Sample Output

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
4.10
3.00

2️⃣样例2

Sample Input

1 2 3 0

Sample Output

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
价格为:3.00
价格为:2.50
价格为:4.10

二、源码实现(+详细注释)

1.注释版

//编码及注释:Code_流苏
//定义头文件
#include<stdio.h>
#include<stdlib.h>
//主函数
int main()
{
	//定义n 作为用户输入的编号
	int n = 0;
	//定义ans用于while循环
	int ans = 0;
	//定义price 用于存储及输入价格
	double price = 0;
	//显示菜单
	printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");
    //  该句等同于下面几句:	
    //	printf("[1] apple\n");
    //	printf("[2] pear\n");
    //	printf("[3] orange\n");
    //	printf("[4] grape\n");
    //	printf("[0] exit\n");
	
	//当连续查询次数超过5次时,程序应自动退出查询 所以此处设置ans<5
	while (ans < 5 )//循环输入 查询对应价格
	{
		scanf("%d", &n);
		ans++;
		if (n == 0)
		{
			break;
		}
		switch (n)
		{
			case 1:
				price = 3.00;
				break;
			case 2:
				price = 2.50;
				break;
			case 3:
				price = 4.10;
				break;
			case 4:
				price = 10.20;
				break;
			default:
				price = 0;
				break;
		}
		//输出价格
		printf("价格为:%.2f\n", price);
	}
	//如果正常返回0 说明程序执行成功 非0 则有出错或异常	
	return 0;
}

2.简洁版

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

int main()
{

	int n = 0;
	int ans = 0;
	double price = 0;

	printf("[1] apple\n[2] pear\n[3] orange\n[4] grape\n[0] exit\n");

	while (ans < 5 )
	{
		scanf("%d", &n);
		ans++;
		if (n == 0)
		{
			break;
		}
		switch (n)
		{
			case 1:
				price = 3.00;
				break;
			case 2:
				price = 2.50;
				break;
			case 3:
				price = 4.10;
				break;
			case 4:
				price = 10.20;
				break;
			default:
				price = 0;
				break;
		}

		printf("价格为:%.2f\n", price);
	}

	return 0;
}

三、输出结果展示

为了使整体内容简洁,此处只展示一组测试数据结果。

1.输出结果

[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
3 1 0 2
价格为:4.10
价格为:3.00

--------------------------------
Process exited after 25.99 seconds with return value 0
请按任意键继续. . .

2.输出结果(图示版)

在这里插入图片描述


作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)

★喜欢的话,还请多多点赞与关注! 感谢支持!

多思,多练,多总结,坚持下去会有收获的!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。