| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1134 人关注过本帖
标题:我是菜鸟。输入4个数找出最大最小值,输出的为什么是乱码
只看楼主 加入收藏
lhz46
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-4-9
结帖率:0
收藏
已结贴  问题点数:10 回复次数:5 
我是菜鸟。输入4个数找出最大最小值,输出的为什么是乱码
include<stdio.h>
main()
{
    int a,b,c,d,f,h;
printf("请输入四个数字:(用逗号隔开)");

scanf("%d,%d,%c,%d",&a,&b,&c,&d);
if(b>a)
{
f=b;
h=a;
a=b;
b=h;
}
if(b>c)
{ f=c;
    h=b;
    b=c;
    c=h;
}
else
{
a=h;
c=f;
if(a<c)
a=f;
}
 if(b>d)
 { f=b;
 h=d;
 b=h;
 d=f;
  
 }
else
{f=a;
h=d;
if(a<d)
a=h;
}
printf("最大值=%d,最小值=%d",a,b);
}

   


[
2014-04-09 11:03
ying8501
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:1092
专家分:1446
注 册:2008-11-24
收藏
得分:4 
scanf("%d,%d,%c,%d",&a,&b,&c,&d);--->改为scanf("%d,%d,%d,%d",&a,&b,&c,&d);
2014-04-09 11:57
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:4 
直接用三目运算符来简便些啊。我用三目运算符写了个,供参考。
程序代码:
#include<stdio.h>
int main()
{
    float a,b,c,d, x,y; //防止输入小数,定义成float
    printf("请输入四个数a b c d:\n");
    scanf("%f %f %f %f",&a,&b,&c,&d);
    x=(c>d?c:d)>(a>b?a:b)?(c>d?c:d):(a>b?a:b); //最大值
    y=(c<d?c:d)<(a<b?a:b)?(c<d?c:d):(a<b?a:b); //最小值
    printf("最大值为%.3f,最小值为%.3f\n",x,y); //小数点后保留三位精度
    return 0;
}
看起来我掌握的还不错

[ 本帖最后由 安宁1991 于 2014-4-9 16:54 编辑 ]

因为有你,所以做什么都有动力。z,爱你。
2014-04-09 16:51
牧童不知道
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2013-12-10
收藏
得分:4 
回复 3楼 安宁1991
数字之间的逗号呢?
2014-04-09 17:11
牧童不知道
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2013-12-10
收藏
得分:0 
回复 3楼 安宁1991
用三目运算确实使程序简洁了不少
2014-04-09 17:11
安宁1991
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:76
专家分:123
注 册:2014-4-3
收藏
得分:0 
回复 4楼 牧童不知道
想用逗号隔开,直接在scanf那里每个%f之间都加个逗号就行了啊

因为有你,所以做什么都有动力。z,爱你。
2014-04-09 17:27
快速回复:我是菜鸟。输入4个数找出最大最小值,输出的为什么是乱码
数据加载中...
 
   



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

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