大学C语言考试题求解 操作题: 编写函数fun完成对一个整型数组所有元素按照升序排序。在主函数

大学C语言考试题求解 操作题: 编写函数fun完成对一个整型数组所有元素按照升序排序。在主函数中定义整型数组并为数组元素赋值。调用fun函数,最后输出排序后的数组元素。 本人只学过C语言,其他编程没学过,求大神将答案写完整

第1个回答  推荐于2017-11-26
我不知道你的fun函数有没有传参数 你看情况自己改下
void fun(int a[],int k)
{
int i,j;
for(j=0; j<k-1; j++)
{
for (i=0; i<k-j-1; i++)
if (b[i]>b[i+1])
{
temp=b[i+1];
b[i+1]=b[i];
b[i]=temp;
}
}
for(i=0; i<k; i++)
{
printf("%d ",b[i]);
}
}追问

这是完整答案吗,怎么没有主函数

追答

#include <stdio.h>

#include <stdlib.h>

void fun(int a[],int k)

{

int i,j,temp;

    for(j=0; j<k-1; j++)

    {

        for (i=0; i<k-j-1; i++)

            if (a[i]>a[i+1])

            {

                temp=a[i+1];

                a[i+1]=a[i];

                a[i]=temp;

            }

    }

for(i=0; i<k; i++)

    {

        printf("%d ",a[i]);

    }

}

int main()

{

    int a[10]={54,89,63,87,56,89,73,46,58,12};//你可以自己改数据以及个数

    fun(a,10);

    return 0;

}


本回答被提问者采纳

...编写函数fun完成对一个整型数组所有元素按照升序排序。在主函数_百...
void fun(int a[],int k){ int i,j;for(j=0; j<k-1; j++){ for (i=0; i<k-j-1; i++)if (b[i]>b[i+1]){ temp=b[i+1];b[i+1]=b[i];b[i]=temp;} } for(i=0; i<k; i++){ printf("%d ",b[i]);} } ...

C语言. .编写一个Sort函数,完成对整型数组元素升序排列。
include <stdio.h>void sort(int a[], int n) {\/\/选择排序int i,j,k,t;for(i = 0; i < n - 1; ++i) {k = i;for(j = k + 1; j < n; ++j) {if(a[k] > a[j]) k = j;}if(k != i) {t = a[i];a[i] = a[k];a[k] = t;}}}int main() {int ...

用C语言写一个子函数完成对一整型数组从大到小的排序
include<stdio.h> include<stdlib.h> int main(){ void sort(int x[],int n);int *p,i;int N;printf("please input the total num:");scanf("%d",&N);int a[N];printf("please input the %d num:\\n",N);p=a;for(i=0;i<N;i++)scanf("%d",p++);p=a;sort(p,N);for...

用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据...
\/*用C语言编程 编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次打印出来 *\/ include <stdio.h> define M 5 define N 5 void Fun(int iaArray[][N]);void main(){ int iaArray[M][N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19...

求解C语言程序设计题:编写函数用选择排序法对数组中的数据进行从小到...
void sort(int a[], int n){ int i, j, t;for(i = 0; i < n - 1; i++)for(j = i + 1; j < n; j++)if(a[i] > a[j]){ t = a[i]; a[i] = a[j]; a[j] = t;} }

用C语言编写函数实现快速排序(升序),在主函数中输入数组数据,并调用该...
include<string.h> include<stdio.h> bool merge(int * array,int p,int q,int r){ if(!(p<<q<r)&&p>=0&&r<=sizeof(array)\/sizeof(array[0])-1){ return false;} int * left =new int[q-p+1];int * right=new int[r-q];memcpy(left,array+p,sizeof(int)\/sizeof(char...

如何用c语言进行按升序排序?
方法步骤如下:1.首先,定义一个结构,包括数值、排名和序号。2.定义结构数组变量d,保存所有整数信息。3.接下来,定义一个自定义函数来比较整数序列中任意两个整数的大小。4.定义一个自定义函数,比较整数序列中任意两个数字的序数大小。5.在主函数中,首先定义两个整数,并保存整数个数和排名计数...

C语言编码题:输入一个整型数组,数组元素有正数有负数。数组中连续的一...
void fun(int *a, int n) \/\/ 数组,长度 { int maxSum=a[0];int p0=0, p1=0;int i,j,sum;for (i=0; i<n; i++){ sum=0;for (j=i; j<n; j++){ sum+=a[j];if (sum>maxSum){ maxSum=sum;p0=i;p1=j;} } } while (p0<p1) printf("%d," a[p0++]);pr...

C语言问题 请编写函数fun,其功能是:找出2*M整型二维数组中最大元素的...
define M 4int fun (int a[][M]){ int i=0,j=0; \/\/进行二重索引 int max=a[i][j]; \/\/用于保存最大值,初始化为第一个数 for(i=0;i<N;i++) \/\/进行循环,每一个值与max比较,大于就赋给max,这样下来max就 for(j=0;j<M;j++) \/\/ 是数组中最大值 if(a[...

大一C语言题。编辑调试程序将一个数组中的元素按逆序重新存放 要求:直接...
include <stdio.h>#define N 10void reverse(int *b) \/\/逆序排列函数{int i, t;for(i = 0; i <= N\/2 - 1; i++){t = b[i];b[i] = b[N-1-i];b[N-1-i] = t;}}int main(){int i;int a[N] = {9,8,7,4,5,1,2,0,3,6};reverse(a);for(i = 0; i <...

相似回答