C语言的一段代码,为什么运行不了?

#include<stdio.h>#definecash20000intmain(){printf("您有20000元钱,你可以买东西\n");intnumber,pri... #include<stdio.h>
#define cash 20000
int main()
{
printf("您有20000元钱,你可以买东西\n");
int number,price,cash_left;
printf("你想买什么?(有方便面,面包,钢笔可以选择)");
if
{scanf("方便面")
printf("你想买几个?");
scanf("%f",number);
price=number*1.5;
cansh_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cansh_left);}
if
{scanf("面包");
printf("你想买几个?");
scanf("%f",number);
price=number*1.0;
cansh_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cansh_left);}
if
{scanf("钢笔");
printf("你想买几个?");
scanf("%f",number);
price=number*5.0;
cansh_left=cansh-price;
printf("这是您所剩下的现金");
printf("%f",cansh_left);
getchar();
getchar();
return 0;
}
展开
 我来答
nlchjian
2011-08-05 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:70.3万
展开全部
语法错误, 逻辑错误!

#include <string.h>
#include <stdio.h>
#define cash 20000

int
main ()
{
printf ("123 \n");
int number, price, cash_left;
char what[255];
printf("what do you want? ");
scanf("%s", what); // input instant noodles

printf("how many ? ");
scanf("%f", &number);

if (strncmp(what, "instant noodles", strlen("instant noodles") == 0)) {
price = number * 1.5;
}

if (strncmp(what, "bread", strlen("bread") == 0)) {
price = number * 1.0;
}

if (strncmp(what, "pen", strlen("pen") == 0)) {
price = number * 5.0;
}

cash_left = cash - price;
printf ("this is your remaining cash number: %.2f\n", cash_left);

getchar ();
getchar ();
return 0;
}

这是给你写的程序, 如果想 使用汉字, 再考虑一下字符编码的问题,
高手, 写一个 hello world 就是几百几千行的代码, 你这程序就这几行, 写这玩, 练练手还行,
关于椅子的疑惑
2011-08-05
知道答主
回答量:36
采纳率:0%
帮助的人:29.4万
展开全部
你为什么不调试一下程序啊,好多错误。下面是我帮你改的程序,按你的程序的意思改的,能运行了
#include<stdio.h>
#include<string.h>
#define cash 20000
int main()
{
int number,price,cash_left;
char op[1000];
printf("您有20000元钱,你可以买东西\n");
printf("你想买什么?(有方便面,面包,钢笔可以选择)\n");
scanf("%s",op);
if(strcmp(op,"方便面")==0)
{
printf("你想买几个?");
scanf("%f",number);
price=number*1.5;
cash_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cash_left);
}
if(strcmp(op,"面包")==0)
{
printf("你想买几个?");
scanf("%f",number);
price=number*1.0;
cash_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cash_left);
}
if(strcmp(op,"钢笔")==0)
{
printf("你想买几个?");
scanf("%f",number);
price=number*5.0;
cash_left=cash-price;
printf("这是您所剩下的现金");
printf("%f",cash_left);
getchar();
getchar();
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1fc36d4
2011-08-05 · TA获得超过3128个赞
知道大有可为答主
回答量:1497
采纳率:100%
帮助的人:1807万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define cash 20000

int main()
{
char str[50];
int number;
float price, cash_left;

printf("您有20000元钱,你可以买东西.\n");
printf("你想买什么?(有方便面,面包,钢笔可以选择)");
scanf("%s",str);/*用一个字串来接收输入的食物*/

printf("你想买几个?");
scanf("%d", &number);/*使用整数输入个数,注意使用&*/

if(!strcmp(str,"方便面"))/*对比食物名,计算价格*/
{
price = number * 1.5;
}
else if(!strcmp(str,"面包"))
{
price = number * 1.0;
}
else if(!strcmp(str,"钢笔"))
{
price = number * 5.0;
}
else
{
printf("没有这个食物。");
return 1;
}
cash_left = cash - price;/*计算余额*/
if(cash_left>1e-6)/*找零*/
{
printf("这是你所剩的现金:");
printf("%f", cash_left);
}
else if(cash_left<1e-6)/*钱不够*/
{
printf("对不起,你的现金不足。");
}
else/*正好够*/
{
printf("你的现金正好足够。");
}

system("pause");
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lrm_1036
2011-08-05 · 超过14用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:37.6万
展开全部
你格式错了~
if(条件语句)
{
执行语句;
}

你的几个if后面都没写条件,当然报错~
追问
那你给我改改?
追答
#include
#define cash 20000
int main()
{
printf("您有20000元钱,你可以买东西\n");
int buy,number;
double price,cash_left;
printf("你想买什么?(1.有方便面,2.面包,3.钢笔)");
scanf("%f",buy);
if(buy==1)
{
printf("你想买几个?");
scanf("%f",number);
price=number*1.5;
cash_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cash_left);}
if(buy==2)
{
printf("你想买几个?");
scanf("%f",number);
price=number*1.0;
cash_left=cash-price;
printf("这是你所剩的现金");
printf("%f",cash_left);}
if(buy==3)
{
printf("你想买几个?");
scanf("%f",number);
price=number*5.0;
cash_left=cash-price;
printf("这是您所剩下的现金");
printf("%f",cash_left);
getchar();
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式