| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:这c怎么改
只看楼主 加入收藏
qq425643836
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2011-2-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
这c怎么改
main()
{
float x,y,z;
scanf("%f%f%f",&x,&y,&z);
if(x>=y&&x>=z)
{
printf("%f\t",x);
if(y>=z) printf("%f\t%f\n",y,z);
else printf("%f\t%f\n",z,y);
}
else if(y>=x&&y>=z)
{
printf("%f\t",y);
if(x>=z) printf("%f\t%f\n",x,z);
else printf("%f\t%f\n",z,x);
}
else if(z>=x&&z>=y)
{
printf("%f\t",z);
if(x>=y) printf("%f\t%f\n",x,y);
else printf("%f\t%f\n",y,x);
}
getch();
}

这个是要三个数排列,现在第一个数变的很大,第二个数是对的,第三个数总为零,怎么解决?
2011-02-09 18:39
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
在我看来,这个没错,
你说的是不是后面有很多0??
把你输出的%f  改成%g试试

勤能补拙,熟能生巧!
2011-02-09 19:28
qq425643836
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2011-2-9
收藏
得分:0 
改成%g后,第一个数固定2.5……+30   第二个数是输入三个数中的第一个数  第三个数是2.8……-34
……代表很多小数
2011-02-09 19:33
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:6 
肯定是你编译器的问题了,要不就是你测试的方法太狠了
图片附件: 游客没有浏览图片的权限,请 登录注册
这是我的测试图

勤能补拙,熟能生巧!
2011-02-09 19:48
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:0 
我运行也没有错,你这程序看的我头都大了

勤奋不止,自强不息。
2011-02-09 22:40
qq312154421
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:124
专家分:120
注 册:2010-6-7
收藏
得分:4 
#include <stdio.h>
int main()
{
    float x,y,z;
    scanf("%f%f%f",&x,&y,&z);
    if(x>=y&&x>=z)
    {
        printf("%f\t",x);
        if(y>=z)
            printf("%f\t%f\n",y,z);
        else
            printf("%f\t%f\n",z,y);
    }
    else
        if(y>=x&&y>=z)
        {
            printf("%f\t",y);
            if(x>=z)
                printf("%f\t%f\n",x,z);
            else
                printf("%f\t%f\n",z,x);
        }
        else
            if(z>=x&&z>=y)
            {
                printf("%f\t",z);
                if(x>=y)
                    printf("%f\t%f\n",x,y);
                else
                    printf("%f\t%f\n",y,x);
            }
    return 0;
}

帮你排版了一下,你那个看的真头疼,写程序的时候要注意一下,要怎么才能让别人看的清晰。

勤奋不止,自强不息。
2011-02-09 22:46
walzlx
Rank: 1
等 级:新手上路
帖 子:8
专家分:2
注 册:2011-2-9
收藏
得分:0 
我的也没有问题啊,楼主,不过我不知道getch();是什么意思,加上它就编译不过,我把它删后就好了!
2011-02-09 22:51
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
回复 7楼 walzlx
你在头文件加上#include <conio.h>
他的作用就是接收你按下的一个键,再具体的用法去查MSDN

勤能补拙,熟能生巧!
2011-02-09 22:52
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
没错的吧

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-02-09 23:12
丞相杀手
Rank: 6Rank: 6
等 级:侠之大者
帖 子:203
专家分:462
注 册:2011-1-11
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <iostream.h>

void exchange(float *a, float *b);

int main(void)
{
    float x, y, z;
    printf("Please input three floats: \n");
    scanf("%f%f%f",&x, &y, &z);

    if(x < y) exchange(&x, &y);
    if(x < z) exchange(&x, &z);
    if(y < z) exchange(&y, &z);

    printf("%f > %f > %f\n", x, y, z);
    system("pause");

} 

void exchange(float *a, float *b)
{
    int c;
    c = *a;
    *a = *b;
    *b = c;
}


不解释

斗不过疯子,不参与争论。
2011-02-10 09:19
快速回复:这c怎么改
数据加载中...
 
   



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

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