请教C语言高手

从键盘输入10样菜的数据(每样菜的数据包括所在食堂序号[1~5]、菜名、菜价),然后按食堂序号顺序在屏幕上所有输入的菜单列表,并出现菜单选择,选择菜单序号后出现所选序号对... 从键盘输入10样菜的数据(每样菜的数据包括所在食堂序号[1~5]、菜名、菜价),然后按食堂序号顺序在屏幕上所有输入的菜单列表,并出现菜单选择,选择菜单序号后出现所选序号对应的结果(荤菜:价格高于3.00,素菜 :价格低于3.00):
1 食堂1荤菜数,占总菜数的比例
2 食堂1素菜数,占总菜数的比例
3 食堂2荤菜数,占总菜数的比例
4 食堂2素菜数,占总菜数的比例
5 食堂3荤菜数,占总菜数的比例
6 食堂3素菜数,占总菜数的比例
7 食堂4荤菜数,占总菜数的比例
8 食堂4素菜数,占总菜数的比例
9 食堂5荤菜数,占总菜数的比例 0 食堂5素菜数,占总菜数的比例
请给个代码
展开
 我来答
敏锐且亲切灬仙人掌1447
推荐于2016-06-09 · 超过22用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:68.2万
展开全部
#include<stdio.h>
#include<stdlib.h>
int numh[6],nums[6];//记录荤菜和素菜的数目
typedef struct triple
{
char name[20];
double price;
triple* next;
}triple,*Ltriple;
/*初始化*/
void init()
{
int i;
for(i=1;i<=5;i++)
{
numh[i]=0;
nums[i]=0;
}
}
/*构建数据*/
void build(Ltriple record,int num)
{
double price=0;
Ltriple bian=(triple*) malloc(sizeof(triple));
printf("输入食堂%d的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)\n",num);
gets((*record).name);
scanf("%lf",&(*record).price);
Ltriple x=record;
while(price>=0)
{
Ltriple y=(triple*) malloc(sizeof(triple));//这句必须这样写,每次都会构建一个新的y
getchar();
gets(y->name);
scanf("%lf",&y->price);
price=y->price;
x->next=y;
bian=x;
x=y;
}
getchar();
bian->next=NULL;
free(x);
}
/*处理函数*/
void method(Ltriple record,int num)
{
Ltriple x=record;
for(;x!=NULL;x=x->next)
{
if(x->price>3)
numh[num]++;
else if((x->price<=3)&&(x->price>=0))
nums[num]++;
else
printf("出现错误数据%f\n",x->price);
}
}
void main()
{
int num=0;
init();
Ltriple record[6];//从1--5,记录5个食堂的数据
int i;
for(i=1;i<6;i++)
{
record[i]=(triple*) malloc(sizeof(triple));
build(record[i],i);
method(record[i],i);
}
for(i=1;i<6;i++)
{
num=num+numh[i]+nums[i];
}
for(i=1;i<6;i++)
{
printf("第%d个食堂的素菜占%f\n",i,(double)nums[i]/num);
printf("第%d个食堂的荤菜占%f\n",i,(double)numh[i]/num);
}
}
下面是我用的测试数据以及结果输出:
输入食堂1的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)
a
1
b
2
c
3
d
-1
输入食堂2的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)
a
4
b
5
c
7
d
-1
输入食堂3的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)
e
4
t
-1
输入食堂4的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)
h
6
f
0
g
-1
输入食堂5的菜的信息:顺序为菜名,菜价,(其中菜价为负值时输入结束)
w
0
f
3
h
-1
第1个食堂的素菜占0.272727
第1个食堂的荤菜占0.000000
第2个食堂的素菜占0.000000
第2个食堂的荤菜占0.272727
第3个食堂的素菜占0.000000
第3个食堂的荤菜占0.090909
第4个食堂的素菜占0.090909
第4个食堂的荤菜占0.090909
第5个食堂的素菜占0.181818
第5个食堂的荤菜占0.000000
Press any key to continue
大时代0769
2008-08-19 · 超过11用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
有点繁琐,没有人愿意给代码!
又才5分呢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fb85a79
2008-08-19 · TA获得超过2600个赞
知道小有建树答主
回答量:684
采纳率:0%
帮助的人:358万
展开全部
这么简单的题目,谁出源代码,谁就是害人精。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wz2862931
2008-08-19 · TA获得超过182个赞
知道答主
回答量:143
采纳率:0%
帮助的人:0
展开全部
这么复杂,才5分,也太低了点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gsq8327
2008-08-19
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
谁给个代码,我也给5分,我也再提出这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式