| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 471 人关注过本帖
标题:为什么C语言中要输入”1,“才能运行下面的程序,而不是”1回车“
只看楼主 加入收藏
as2718340123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-4-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
为什么C语言中要输入”1,“才能运行下面的程序,而不是”1回车“
#include <stdio.h>
int main()
{
    int t1,t2;
    float weight,cost,price;
   
    printf("\n\n***********那欢迎进入中国民航国内运输规则行李托运费计算系统**********");
    printf("\n请选择你的机票类型\n");
    printf("\t 1成人票\n");
    printf("\t 2儿童票\n");
    printf("\t 3婴儿票\n");
    printf("请按1,2或者3来选择你的机票类型 ");
    scanf("%d\n",&t1);
    printf("\n请选择机票的等级\n");
    printf("\t 1.头等舱\n");
    printf("\t 2.公务舱\n");
    printf("\t 3.经济舱\n");
    printf("\n请按1,2或者3来选择你的机票等级 ");
    scanf("%d\n",&t2);
    printf("\n请输入你的行李重量(kg):\n");
    scanf("%f\n",&weight);
    printf("\n请输入经济舱的机票价格:\n");
    scanf("%f\n",&price);

    if(t1==1&&t2==1&&weight<=40)
        cost=0;
    if(t1==1&&t2==1&&weight>40)
        cost=(weight-40)*(price*0.015);
    if(t1==1&&t2==2&&weight<=30)
        cost=0;
    if(t1==1&&t2==2&&weight>30)
        cost=(weight-30)*(price*0.015);
    if(t1==1&&t2==3&&weight<=20)
        cost=0;
    if(t1==1&&t2==3&&weight>20)
        cost=(weight-20)*(price*0.015);
   
    if(t1==2&&t2==1&&weight<=40)
        cost=0;
    if(t1==2&&t2==1&&weight>40)
        cost=(weight-40)*(price*0.015);
    if(t1==2&&t2==2&&weight<=30)
        cost=0;
    if(t1==2&&t2==2&&weight>30)
        cost=(weight-30)*(price*0.015);
    if(t1==2&&t2==3&&weight<=20)
        cost=0;
    if(t1==2&&t2==3&&weight>20)
        cost=(weight-20)*(price*0.015);
    if(t1==3)
        cost=weight*(price*0.015);
   
    printf("%f\n",cost);
   
    [local]2[/local]
   
   
}

不知道为什么我运行程序的时候一定要按 1,才可以往下运行,而不是按1 回车运行,想不明白。而且运行之后还会直接跳过,出现乱码
搜索更多相关主题的帖子: 行李托运 include 国内运输 C语言 公务舱 
2015-04-10 21:43
xueyujianke
Rank: 2
等 级:论坛游民
帖 子:8
专家分:41
注 册:2015-4-6
收藏
得分:3 
#include <stdio.h>
int main()
{
    int t1,t2;
    float weight,cost,price;
   
    printf("\n\n***********那欢迎进入中国民航国内运输规则行李托运费计算系统**********");
    printf("\n请选择你的机票类型\n");
    printf("\t 1.成人票\n");
    printf("\t 2.儿童票\n");
    printf("\t 3.婴儿票\n");
    printf("请按1,2或者3来选择你的机票类型:");
    scanf("%d",&t1);
    printf("\n请选择机票的等级:\n");
    printf("\t 1.头等舱\n");
    printf("\t 2.公务舱\n");
    printf("\t 3.经济舱\n");
    printf("\n请按1,2或者3来选择你的机票等级:");
    scanf("%d",&t2);
    printf("\n请输入你的行李重量(kg):");
    scanf("%f",&weight);
    printf("\n请输入经济舱的机票价格:");
    scanf("%f",&price);

    if(t1==1&&t2==1&&weight<=40)
        cost=0;
    if(t1==1&&t2==1&&weight>40)
        cost=(weight-40)*(price*0.015);
    if(t1==1&&t2==2&&weight<=30)
        cost=0;
    if(t1==1&&t2==2&&weight>30)
        cost=(weight-30)*(price*0.015);
    if(t1==1&&t2==3&&weight<=20)
        cost=0;
    if(t1==1&&t2==3&&weight>20)
        cost=(weight-20)*(price*0.015);
   
    if(t1==2&&t2==1&&weight<=40)
        cost=0;
    if(t1==2&&t2==1&&weight>40)
        cost=(weight-40)*(price*0.015);
    if(t1==2&&t2==2&&weight<=30)
        cost=0;
    if(t1==2&&t2==2&&weight>30)
        cost=(weight-30)*(price*0.015);
    if(t1==2&&t2==3&&weight<=20)
        cost=0;
    if(t1==2&&t2==3&&weight>20)
        cost=(weight-20)*(price*0.015);
    if(t1==3)
        cost=weight*(price*0.015);
   
    printf("%f\n",cost);
}

本人初学者,请大家多多指教
2015-04-10 22:59
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1705
专家分:4345
注 册:2007-12-27
收藏
得分:3 
谁教你scanf里面带\n的?去掉就好。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2015-04-10 23:00
qq1761442432
Rank: 2
等 级:论坛游民
帖 子:14
专家分:14
注 册:2015-1-13
收藏
得分:3 
同意,把scanf里的\n去掉就行。
2015-04-11 09:50
maqiangdemo
Rank: 2
等 级:论坛游民
帖 子:78
专家分:98
注 册:2014-2-26
收藏
得分:3 
scanf()里面多了个\n,scanf会跳过你输入后按的回车键或空格键,再读取一个数,直到没地方存储才会结束scanf
2015-04-11 10:22
as2718340123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-4-10
收藏
得分:0 
后来我自己慢慢地再检查了一次,我自己就发现了,还是感谢大家的回答!
2015-04-11 12:31
快速回复:为什么C语言中要输入”1,“才能运行下面的程序,而不是”1回车“
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043338 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved