问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言排序问题

发布网友 发布时间:2022-05-07 23:24

我来回答

4个回答

热心网友 时间:2022-07-01 20:44

你的函数实参全写成了形参形式。区分开实参和形参。另外提醒你一维数组做参数,实际是指针,数组长度是丢失了的,如果一定要传进去长度,需要另外附加参数,不过你这里数组长度N被你定义为常量,所以就不必传了。而且主函数需要加返回值。更改后代码如下(已调试正常):
#include<stdio.h>
#define N 10
int a[N];
int input(int a[]);
int output(int a[N]);
int sort(int a[N]);
int main()
{
int a[N],i,j,r,temp;
printf("请输入数组a中的10个数字:\n");
input(a);
printf("排序前序列:\n");
output(a);
sort(a);
printf("\n排序后序列:\n");
output(a);
printf("请输入要查找的数: \n");
return 1;
}
int input(int a[])
{
int i;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
return 0;
}
int output(int a[])
{
int i;
for(i=0;i<N;i++)
{
printf("%5d",a[i]);
printf("\n");
if( (i+1)%5 )
printf("\n");
}
return 0;
}
int sort(int a[]){
int i,j,r,temp;
for(i=0;i<N-1;i++)
{
r=i;
for(j=i+1;j<N;j++)
if(a[j]>a[r])
r=j;
if(r!=i)
{
temp=a[r];
a[r]=a[i];
a[i]=temp;
}
}
return 0;
}

热心网友 时间:2022-07-01 20:44

#include<stdio.h>
#define N 10
int a[N];
int input(int a[N]);
int output(int a[N]);
int sort(int a[N]);
int main()
{
    int a[N],i,j,r,temp;
    printf("请输入数组a中的10个数字:\n");
    input(a);    /*调用函数的时候,参数只要一个变量名就可以了,下同*/
    printf("排序前序列:\n");
    output(a);
    sort(a);
    printf("\n排序后序列:\n");
    output(a);
    printf("请输入要查找的数: \n");
}
int input(int a[N])
{
    int i;
    for(i=0; i<N; i++)
        scanf("%d",&a[i]);
    return 0;
}
int output(int a[N])
{
    int i;
    for(i=0; i<N; i++)
    {
        printf("%5d",a[i]);
        //printf("\n");    /*每个数字都要换行?*/
        if( (i+1)%5==0 )    /*每5个数字换行?*/
            printf("\n");
    }
    return 0;
}
int sort(int a[N])
{
    int i,j,r,temp;
    for(i=0; i<N-1; i++)
    {
        r=i;
        for(j=i+1; j<N; j++)
            if(a[j]>a[r])
                r=j;
        if(r!=i)
        {
            temp=a[r];
            a[r]=a[i];
            a[i]=temp;
        }
    }
    return 0;
}

热心网友 时间:2022-07-01 20:44

#include<stdio.h>
#define N 10
int a[N];
void input(int a[N]);//输入函数不需要返回值
void output(int a[N]);//输出函数不需要返回值
void sort(int a[N]);//排序函数不需要返回值
int main()
{
  int a[N];
  printf("请输入数组a中的10个数字:\n");
  input(a);//函数调用的实参形式,不能写成定义时的形式
  printf("排序前序列:\n");
  output(a);
  sort(a);
  printf("\n排序后序列:\n");
  output(a);
  printf("请输入要查找的数: \n");
  return 0;
}
void input(int a[N])
{
 int i;
 for(i=0;i<N;i++)
  scanf("%d",&a[i]);

}
void output(int a[N])
{
 int i;
 for(i=0;i<N;i++)
{
printf("%5d",a[i]);
        if( (i+1)%5 == 0 )
printf("\n");
     }
}
void sort(int a[N])
{
 int i,j,r,temp;
 for(i=0;i<N-1;i++)
     {
       r=i;
       for(j=i+1;j<N;j++)
         if(a[j]>a[r])
           r=j;
         if(r!=i)
         {
           temp=a[r];
           a[r]=a[i];
           a[i]=temp;
         }
     }
}

热心网友 时间:2022-07-01 20:45

input(int a[N]); 调用函数的时候input(a);就可以了,下同
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
挖掘机上的字母标志是什么牌子的挖机 中国市场上挖掘机那国技术占优 微信个人标签经典短句最精辟的微信个性签名 肚子总是不消化,吃完东西不想上厕所。涨涨的 最近老是肚子疼,但疼一会儿就不疼了,就是不想上厕所,有时候五六天都没... ...但是不疼几乎每天早上都会不舒服,也不想上厕所,就是弄的你睡不着觉... 我的肚子老疼,但不是很想上厕所,最近有点拉肚子,可是一吃凉的东西肚子... 因为节目结缘却最终分开,姚沐希彭措的分手,暗示了娱乐圈什么问题? x79支持什么显卡 四叶草是不是三叶草? 关于C语言选择法排序的问题 有一个地方一直没搞懂.还希望路过的IT高手帮我解答下.谢谢了,下面是我的代码; C语言中“sort(a,10)”代表什么意思? 之前已定义int a[10],并输入数据... 这个C语言下面那个方框的sort(a,10)是什么意思?我试过有没有都能执行还有return 关于现金流量表的编制方法 施工企业如何快速编制现金流量表 如何利用资产负债表和利润表快速编制现金流量表? 怎样根据资产负表、利润表手工快速编制现金流量表,谢谢了。 怎样快速准确的编制现金流量表 怎样通过朋友圈,看他是否值得交往? 灵川深通村镇银行有限责任公司怎么样? 为什么有些人把每个学习目标放在朋友圈的背景图片上? 每个人都可以在他的微信上看到。 太明显了 微信滴滴出行,标出:出租车 ——专车——代驾,字样,没有顺风车,请问是这样吗 LACTOROSE注册过商标吗?还有哪些分类可以注册? 华为麦芒把微信里面为什么没有顺风车呢? 便利蜂蜂惠选啤酒怎么样 食物利尿有什么 什么食物比较利尿..消炎? 宝妈们在怀女儿和怀儿子初期,感觉是不一样的吗? 怀女孩初期什么感觉 吃什么能利尿 蜜粉散粉哪个牌子好用 茄子干上的白霜是什么 老话说:男不过三,怕属鸡,女不过四,怕属羊。是什么意思? 女人四十生日 禁忌有谁知道?到底过还是不过? 俗语“拜三不拜四,拜四要出事”,是什么意思呢? 女人过生日的禁忌 我被一个朋友拉入微信黑名单,我要怎么样才可以重新加她? 雯艾尔化妆品含有激素吗 雯艾尔护肤品有含超标 懒女孩平时怎么保养皮肤? 脸上总是红红的该用什么护肤品? 雯艾尔护肤品好 还是布伦兰妮 雯艾尔玫瑰精纯露广州哪里有售 狐朋狗友的成语故事是什么内容? 《红楼梦》成语故事题目经典? mysql 有first函数吗 狐凭鼠伏成语故事 酒肉朋友成语故事 成语故事天诛地灭 狼狈为奸 儿童成语故事18