| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1748 人关注过本帖
标题:才接触C语言,遇到一个判断条件的问题,请前辈进来指点下,谢谢了.
只看楼主 加入收藏
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
结帖率:72.73%
收藏
已结贴  问题点数:20 回复次数:22 
才接触C语言,遇到一个判断条件的问题,请前辈进来指点下,谢谢了.
问题是这样的:

    编写程序,将下列数据分类,使用格式输入函数,从键盘输入下列数据,再将其用合适的格式分类输出屏幕上.(注意scanf函数的格式要求)
    'a'   15   'c'   100   20.6   60000   3500   32768   450.34   126.3455568


        我才学习不到一个月,我学到if for do-while switch-case,我的问题就是怎么写判断语句,尤其是浮点数和整数.
搜索更多相关主题的帖子: 键盘 学习 编写程序 C语言 
2011-10-24 17:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:9 
这个题目本身就毛病,读入什么数,是由你自己设定的scanf()格式串决定的,不是数据本身决定的,根本就不用判断语句。

授人以渔,不授人以鱼。
2011-10-24 18:29
百万英镑
Rank: 1
等 级:新手上路
帖 子:32
专家分:7
注 册:2011-9-14
收藏
得分:0 
c语言程序设计第四章有scanf 的讲解呀!!!!
2011-10-24 18:53
smallmoon521
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:517
专家分:1373
注 册:2008-4-21
收藏
得分:5 
格式输入同格式输出差不多,
LZ先用一个参数的试,熟悉作用,原理
int a=0;
scanf("%d",&a);
再慢慢拓展到多个参数。
int a=0;
float f = 0f;
scanf("%d %f",&a,&f);//注意%d与%f间的空格,这个和输入是对应的,查书看吧!

为游戏狂~~!!    大家努力编哈!
2011-10-24 19:34
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 4楼 smallmoon521
那如果占位符之间加空格的话就是说我输入数值的时候也得加空格,你的代码我去试试,谢谢!

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-10-24 20:12
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 2楼 TonyDeng
我理解的就是  用判断 比如  如果符合整形条件 输出这个数值为整形类,   如果判断符合字符条件,  输出这个数值为字符类,  如果不加判断   用Scanf输入格式 是不是得设成很多个占位符?

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-10-24 20:15
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 3楼 百万英镑
你学的是哪本教材啊?  网上有么?   名字告诉我吧  我报的是培训班,教材可能不一样! 谢谢!

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-10-24 20:17
勤奋的关键字
Rank: 1
来 自:辽宁
等 级:新手上路
帖 子:51
专家分:2
注 册:2011-10-24
收藏
得分:0 
回复 4楼 smallmoon521
我试了试,顺着你的思路写了段 ,  你看下   float f=0           后面+f是什么意思? 我没加,是不是加了就没有那么多0了?   

怎么传 像你那样的程序段啊? 我怎么不会 给你写下面了,    如果像我上面的问题那样 我是不是得在scanf里面写相对应数量的地址? 怎么写? 还需要另外设变量吗? a=0我可不可以不写,直接设变量a呢?
void main()
{
    int a=0;
    float f=0;
    char c=0;
    printf("请输入一组数据:");
    scanf("%d %f %c",&a,&f,&c);
    printf("%d为整型类数值\n",a);
    printf("%f为浮点型数值\n",f);
    printf("%c为字符型数值\n",c);
}

人生就像程序,得经过一次次的调试才会趋于简单但却完美.
2011-10-24 20:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这道题你做了没意义的。scanf("%d", &a)这样的函数调用,"%d"就已经注定了读入的必然是int,无论你实际输入的什么数值(浮点数也没用),它都强制转换为int赋给a,那么a必然是int型,这样的用法,何来的判断依据?你全写"%d",就全部都是int。都不知道哪个没脑子的出这种题。

真要用判断,也不是不可以,把所有输入都当字符串读入,再根据约定的数据格式分析每个串可能是什么类型,相当于自己做一个简易编译器,这不是初学者能做得来的。

[ 本帖最后由 TonyDeng 于 2011-10-24 23:05 编辑 ]

授人以渔,不授人以鱼。
2011-10-24 22:59
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:5 
程序代码:
#include < stdio.h >
#include < stdlib.h >

void main ( )
{
    char a1, a3;
    int a2,a4,a6,a7,a8;
    float a5,a9,a10;
    scanf ( "%c%d%c%d%f%ld%d%ld%f%f", &a1, &a2, &a3,&a4, &a5,&a6,&a7,&a8,&a9,&a10 );
    printf ( "%c%d%c%d%f%ld%d%ld%f%f",a1, a2, a3, a4, a5, a6, a7, a8, a9, a10 );
    system ( "pause" );
}

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-24 23:20
快速回复:才接触C语言,遇到一个判断条件的问题,请前辈进来指点下,谢谢了.
数据加载中...
 
   



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

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