| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 565 人关注过本帖
标题:高手帮忙…………
只看楼主 加入收藏
情兮,假
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
高手帮忙…………
我是c++刚入门、希望各位高手能帮我看看是什么情况……
题目是这样的:分别对三个整数,三个实数,三个字符从小到大排序输出。要求:用重载函数实现。


下面是我的代码……

#include< iostream>
using namespace std;
int main ()

{
    int a[3];
    float b[3];
    char c[3];
    int i;

    for  ( i = 1 ; i <= 3 ; i++ )
    {
        cin >> a[i];
        cin >> b[i];
        cin >> c[i];
    }

    int z;
    z = line( a[1] , a[2] , a[3] );
    cout << a[1] << a[2] << a[3] << endl;

    float s;
    s = line( b[1] , b[2] , b[3] );
    cout << b[1] << b[2] << b[3] << endl;

    char f;
    f = line( c[1] , c[2] , c[3] );
    cout << c[1] << c[2] << c[3] << endl;

    return 0;

}

int line( int a[1] , int a[2] , int a[3] )
{
    int i , j , k;

    for ( i = 1 ; i <= 3 ; i++ )
    {
        for ( j = i -1 ; j <= 3 ; j++)
        {
            if ( a[i] > a[j] )
            {
                k = a [j];
                a[j] = a [i];
                a[i] = k;
            }
        }
    }
}

float line( float b[1] , float b[2] , float b[3] )
{
     float i , j , l;

     for ( i = 1 ; i <= 3 ; i++ )
      {
         for ( j = i -1 ; j <= 3 ; j++)
        {
            if ( b[i] > b[j] )
            {
                l = b[j];
                b[j] = b[i];
                b[i] = l;
            }
        }
    }
}

char line( char c[1] . char c[2] , char c[3] )
{
    char i , j , m;
      for ( i = 1 ; i <= 3 ; i++ )
      {
         for ( j = i -1 ; j <= 3 ; j++)
        {
            if ( c[i] > c[j] )
            {
                m = c[j];
                c[j] = c[i];
                c[i] = m;
            }
        }
    }
}
搜索更多相关主题的帖子: include 
2011-03-20 16:07
lyj23
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:140
注 册:2010-10-31
收藏
得分:7 
可怜的你,错的好多,帮你纠错!
你全错了。
你这里函数传递怎么这样?值传递啊!不是地址,形参改变了实参不改变!
而且你是数组干嘛把每个元素分开传?
你这就“全等”三个变量了,不像数组了!
传递参数时候用指针比较好!传地址,或者变量的引用!

你的函数根本没有返回值,z=line(……)……这样写不对。再有这几个函数必须有返回值,这不是因为题目了。语法错误,int float 等不是void的函数必须
有返回值!否则会报错!

举个你的函数例子:
程序代码:
char line( char c[1] . char c[2] , char c[3] )
{
    char i , j , m;
      for ( i = 1 ; i <= 3 ; i++ )               // <=3这里不对,不能=3,只写<3
      {                                            //这里什么都没有干嘛要用复合语句?{ }
         for ( j = i -1 ; j <= 3 ; j++)
        {                                         //这里只有一个语句if();为什么要加复合语句?
            if ( c[i] > c[j] )
            {
                m = c[j];
                c[j] = c[i];
                c[i] = m;
            }
        }
    }
} 
你的程序毛病不是一般的多,书看看懂再写代码!


[ 本帖最后由 lyj23 于 2011-3-20 16:48 编辑 ]
2011-03-20 16:40
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:7 
虽然错误比较多,但代码的格式很好,看上去也比较整齐。好的地方要一直坚持下去哟~
2011-03-20 19:28
阿韬
Rank: 2
等 级:论坛游民
帖 子:22
专家分:10
注 册:2010-10-1
收藏
得分:7 
参数的传递有问题!实参应该是地址或者你直接用引用类型
2011-03-20 20:01
情兮,假
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-25
收藏
得分:0 
回复 2楼 lyj23
谢谢
2011-04-27 15:51
Lyone
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:99
专家分:195
注 册:2010-12-7
收藏
得分:0 
以下是引用pangding在2011-3-20 19:28:37的发言:

虽然错误比较多,但代码的格式很好,看上去也比较整齐。好的地方要一直坚持下去哟~
没错,这个代码的格式虽然不影响程序运行,但是绝对影响代码的可读性。打基础的时候就养成良好的格式习惯很重要。
2011-04-27 16:27
快速回复:高手帮忙…………
数据加载中...
 
   



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

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