| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:求助,不知道哪里错了
只看楼主 加入收藏
zhangqidaxia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2013-10-16
结帖率:100%
收藏
 问题点数:0 回复次数:9 
求助,不知道哪里错了
将四个整数从小到大排列
#include<stdio.h>

void max(int x,int y)
{
    int t;
    if(x>y)
    {
        t=y;
        y=x;
        x=t;
    }
}
int main(void)
{
    int i,j;
    int a[4];
    printf("请输入四个整数\n");
    for(i=1;i<5;++i)
    {
        printf("请输入第%d个数:",i);
        scanf("%d",&a[i]);
    }
        printf("由小到大排序为:");
    for(i=0;i<3;++i)
    {
        for(j=1;j<4;j++)
            max(a[i],a[j]);
    }
    for(i=0;i<4;++i)
        printf("%d ",a[i]);
    printf("\n");  
    return 0;
}
搜索更多相关主题的帖子: include 
2013-10-24 09:40
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
函数是传值的。而且这里数组越界,
    for(i=1;i<5;++i)
    {
        printf("请输入第%d个数:",i);
        scanf("%d",&a[i]);
    }

总有那身价贱的人给作业贴回复完整的代码
2013-10-24 09:44
zhangqidaxia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2013-10-16
收藏
得分:0 
回复 2楼 embed_xuel
我改成了
for(i=0;i<4;++i)
    {
        printf("请输入第%d个数:",i+1);
        scanf("%d",&a[i]);
    }
运行时输入4,3,2,1,结果输出的还是4,3,2,1
2013-10-24 09:56
hh373231690
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:138
注 册:2012-10-13
收藏
得分:0 
回复 3楼 zhangqidaxia
因为你的max函数没有任何意义
2013-10-24 10:35
xufan
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:232
专家分:804
注 册:2008-10-20
收藏
得分:0 
程序代码:
#include<stdio.h>
void max(int& x,int& y)

 {
     int t;
     if(x>y)
     {
         t=y;
         y=x;
         x=t;
     }

 }

 int main(void)

 {
     int i,j;
     int a[4];
     printf("请输入四个整数\n");
     for(i=0;i<4;++i)
     {
         printf("请输入第%d个数:",i);
         scanf("%d",&a[i]);
     }
     printf("由小到大排序为:");
     for(i=0;i<3;i++)
     {
         for(j=0;j<3-i;j++)
             max(a[j],a[j+1]);
     }
     for(i=0;i<4;i++)
         printf("%d ",a[i]);
     printf("\n");
     return 0;

 }

~~~~~~我的明天我知道~~~。
2013-10-24 10:38
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
看书,这样的代码,完全是没有理解

思考赐予新生,时间在于定义
2013-10-24 10:42
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 3楼 zhangqidaxia
我在二楼说了,函数是传值的。

总有那身价贱的人给作业贴回复完整的代码
2013-10-24 11:08
zhu_zhi
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:129
专家分:92
注 册:2013-4-25
收藏
得分:0 
可能错在函数,其实不用函数也能解决,试一试我下面的代码:
#include<stdio.h>
int main(void)
{
    int i,j;
    int a[4];
    printf("请输入四个整数\n");
    for(i=1;i<5;++i)
    {
        printf("请输入第%d个数:",i);
        scanf("%d",&a[i-1]);
    }
        printf("由小到大排序为:");
    for(i=0;i<=3;++i)
        for(j=i+1;j<=3;j++)
            if(a[i]>a[j])
            {
                int t=0;
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
    for(i=0;i<4;i++)
        printf("%d ",a[i]);
    printf("\n");  
    return 0;
}
2013-10-24 11:54
haiboself
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:193
专家分:196
注 册:2013-10-23
收藏
得分:0 
你的自定义函数没有返回值。书上不是有吗
2013-10-24 12:37
zhangqidaxia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2013-10-16
收藏
得分:0 
回复 5楼 xufan
谢谢,但是定义函数时的int&x,int&y为什么要用取地址符呢
2013-10-24 14:34
快速回复:求助,不知道哪里错了
数据加载中...
 
   



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

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