在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。

C语言题目 谢谢帮助
2024-12-02 20:10:12
推荐回答(2个)
回答1:

#include
#define N 80
void main()
{
int a[N],i,m=100;
void sort(int b[],int k);
void print(int b[],int k);
printf("\nInput m(<80):");
scanf("%d",&m);
for(i=0;iscanf("%d",&a[i]);
sort(a,m);
print(a,m);
return 0;
}
void sort(int b[],int k)
{
int i,j,t,flag;
for(j=0;j{
flag=0;
for(i=0;i if(b[i]>b[i+1])
{
t=b[i];
b[i]=b[i+1];
b[i+1]=t;
flag=1;
}
if(flag==0) break;
}
}
void print(int b[],int k)
{
int i;
for(i=0;i{
if(i%4==0) putchar('\n');
printf("%-6d",b[i]);
}
}
已经用vc++调试过了,应该没有问题了,先输入要排序元素的个数,然后在输入元素
输入元素的个数可以自己修改

回答2:

/* 标准文档模板 */

#include "Stdio.h"
#include "Conio.h"
void sort(int a[],int n)
{
int i,j,k,t;
for(i=0;i {
k=i;
for(j=i+1;j if(a[k] t=a[k];a[k]=a[i];a[i]=t;

}
}
int main(void)
{
int i,N;
int a[80];
printf("ni yao shu ru de N\n");
scanf("%d",&N);
for(i=0;i scanf("%d",&a[i]);
sort(a,N);
for(i=0;i printf("%d",a[i]);
getch();
return 0;
}
你自己试试,我用的是win-tc编译的