| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1808 人关注过本帖
标题:求大神帮忙看看,这个赋值怎么乱来了。
只看楼主 加入收藏
tiantan929
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2018-3-27
结帖率:66.67%
收藏
 问题点数:0 回复次数:10 
求大神帮忙看看,这个赋值怎么乱来了。
#include<stdio.h>
int main(void)
{
    float x,m1,m2,m;
    char y,z;
    scanf("%f%c%c",&x,&y,&z);
    switch(y)
    {    case'a':
            m1=3.25;
            break;
        case'b':
            m1=3.00;
            break;i
        case'c':
            m1=2.75;
            break;
    }
    switch(z)
    {    case'i':
        m2=0;
        break;
        case'j':
        m2=0.05;
        break;
        case'k':
        m2=0.1;
        break;
    }
        m=x*m1-x*m1*m2;
    printf("选择的价格y(abc):%c\n",y);
    printf("选择的服务z(ijk):%c\n",z);
    printf("加入的金额:%.3f\n",m);
    return 0;
}
搜索更多相关主题的帖子: 赋值 case break printf 选择 
2018-04-06 22:52
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:0 
此回帖已删除!

[此贴子已经被作者于2018-4-7 08:42编辑过]


普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-04-07 02:05
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:0 
楼上说什么呢?
2018-04-07 07:14
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:0 
  scanf("%f%c%c",&x,&y,&z分开试试
2018-04-07 07:16
执念成狂
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-4-6
收藏
得分:0 

2018-04-07 08:43
lanke711
Rank: 9Rank: 9Rank: 9
来 自:流浪在天国之路
等 级:蜘蛛侠
威 望:7
帖 子:317
专家分:1437
注 册:2015-7-16
收藏
得分:0 
scanf("%f%c%c",&x,&y,&z);按照格式录入数据是没问题的。

普通人之所以普通,是因为他们普遍有一个通病,那就是认为自己永远普通。
千夫所指,我亦坚持。就算被所有人误解,我也照样守护这一切。
我们总是觉得,这些灵魂的表情,傲慢自大,目中无人,其实,真正目中无人的是我们。它们傲慢的不过是表情,而我们傲慢的却是行为!
记得,是为了忘记!
只要想着有那么一天,我就能忍受现在的每一天!
灾难并不可怕,可怕的是心中没有了希望。
你以为我在天堂,其实我正在路上。
当你觉得自己走不到终点的时候,请不要放弃。或许你的对手也是这种感觉。
2018-04-07 08:55
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:0 
以下是引用lanke711在2018-4-7 08:55:19的发言:

scanf("%f%c%c",&x,&y,&z);按照格式录入数据是没问题的。

    scanf("%f%c%c",&x,&y,&z);
    printf("x = %f  y= %c z=%c \n",x,y,z);//加一句看看
2018-04-07 09:04
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:0 
这个问题都不用讲不用看,用scanf函数要注意
2018-04-07 09:07
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10570
专家分:43038
注 册:2014-5-20
收藏
得分:0 
scanf 的 %c 格式会吸收空白符
加个空格试试,如:
scanf("%f %c %c",&x,&y,&z);
2018-04-07 09:27
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:0 
以下是引用吹水佬在2018-4-7 09:27:04的发言:

scanf 的 %c 格式会吸收空白符
加个空格试试,如:
scanf("%f %c %c",&x,&y,&z);

不应当这么用,当然如果你只是写自己测试程序可以。如果一定要用scanf

程序代码:
    printf("请输入: x = ");
    while( scanf("%f",&x) !=1)
    {
          while ((c = getchar()) != EOF && c != '\n');
         printf("输入错误,请重新输入: x = ");
    }


类似这样
2018-04-07 10:05
快速回复:求大神帮忙看看,这个赋值怎么乱来了。
数据加载中...
 
   



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

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