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

C语言题目谢谢帮助... C语言题目 谢谢帮助 展开
 我来答
匿名用户
2013-04-26
展开全部
#include<stdio.h>
#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;i<m;i++)
scanf("%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<k-1;j++)
{
flag=0;
for(i=0;i<k-j-1;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<k;i++)
{
if(i%4==0) putchar('\n');
printf("%-6d",b[i]);
}
}
已经用vc++调试过了,应该没有问题了,先输入要排序元素的个数,然后在输入元素
输入元素的个数可以自己修改
匿名用户
推荐于2018-04-14
展开全部
/* 标准文档模板 */

#include "Stdio.h"
#include "Conio.h"
void sort(int a[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]<a[j]) k=j;
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<N;i++)
scanf("%d",&a[i]);
sort(a,N);
for(i=0;i<N;i++)
printf("%d",a[i]);
getch();
return 0;
}
你自己试试,我用的是win-tc编译的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式