用c语言,输入n个数按大小顺序排列输出

如题所述

#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}

int main(void)
{
int i,n,*data;
printf("n=");
scanf("%d",&n);/*输入n的大小*/
data=(int *)malloc(sizeof(int)*n);
for (i=0;i<n;++i) scanf("%d",data+i);/*输入n个整数*/
qsort(data,n,sizeof(int),cmp);
for (i=0;i<n;++i) printf("%d\t",data[i]);/*输出排序后的结果*/
free(data);
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?
从键盘输入一个整数N(N>=0),然后再输入N个整数, 按从小到大的顺序输出。 正在学C语言程式设计,求教 #include<stdio.h> int main(void) { int n,i,j,t; printf("please enter anumber:\\n"); scanf("%d",&n); int a[n]; printf("please enter %d number:\\n",n)...

c语言如何输入一个正整数N,再输入N个整数,按从小到大的顺序输出?
int num[10000],i,j,temp,N,count=0;\/\/确定数组num的实际大小 printf("请输入一个大于0的整数:");scanf("%d",&N);\/\/限制数字n的值在0到10000之间 while(N<=0||N>=10000){ printf("你输入的数字不在0到10000之间,请重新输入!\\n\\n");printf("请输入一个大于0的整数:");scanf("...

c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出
if(i<n-1)printf("%d",a[i]);else printf("%d\n",a[n-1]);} return0;}

c语言数组编程,输入n个整数,将这n个数按绝对值由大到小排序输出
for(i=0; i<n; i++) { printf("%d ",a[i]); } printf("\\n"); return 0;}好了,调试通过,输入数组后,先打印排序前的数组,然后排序,之后输出排序后的数组。。。 本回答由网友推荐 举报| 答案纠错 | 评论 2 17 右手兂名指 采纳率:69% 来自团队:CppExpert 擅长: C\/C++ Linux 网站使用 其他...

用C语言怎样将n个数如何按大小顺序输出
int i,n,*data;printf("n=");scanf("%d",&n);\/*输入n的大小*\/ data=(int *)malloc(sizeof(int)*n);for (i=0;i<n;++i) scanf("%d",data+i);\/*输入n个整数*\/ qsort(data,n,sizeof(int),cmp);for (i=0;i<n;++i) printf("%d\\t",data[i]);\/*输出排序后的结果*\/ ...

C语言 从键盘输入n个字符串,从大到小排序输出
include<string.h> int main(){int i,j,n;char s[100][20],t[20];scanf("%d",&n);for(i=0;i<n;i++)scanf("%s",s[i]);printf("=== After sort ===\\n");for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(strcmp(s[j],s[j+1])>0){strcpy(t,s[j]);strcpy...

...一个正整数N,再输入N个整数,按从小到大的顺序输出。
int n,i,j,t,a[10000]; printf("请输入正整数N:"); scanf("%d",&n); printf("请依次输入%d个数",n); for(i=0;i<n;i++) { printf("请输入第%d个数",i+1); scanf("%d",&a[i]); } for(j=0;j<n-1;j++) for(i=0;i<n-1-j;i++) if(a[i]>a[i+1]) { t=a[i]; ...

C语言求算法,任意输入n个数(n为变量) 输出这几个数按从大到小排名时所 ...
= Min--; } printf("从大到小的位序为:\\n"); for(i = 0; i < n; i++) printf("%-4d", t[i]); printf("\\n原来的数据为:\\n"); for(i = 1; i <= n; i++) printf("%-4d", s[i]); printf("\\n");} 运行结果 ...

c语言问题从键盘输入n个整数从大到小排序后在屏幕上输出
void main(){ int i,j,tmp,a[N];printf("please input %d number:",N);for(i=0;i<N;i++){ scanf("%d",&a[i]);} for(i=0;i<N;i++){ for(j=i+1;j<N;j++){ if(a[i]<a[j]){ tmp=a[i];a[i]=a[j];a[j]=tmp;} } } printf("now a:");for(i=0;i<...

c语言中从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出
define N 10 int main(){char str[N][100]; int i,j; for(i = 0; i < N; i ++) scanf("%s",str[i]); for(i = 0; i < N-1; i ++) { for(j = i+1; j < N; j ++){ if(strcmp(str[i],str[j])>0) { char temp[100]; strcpy(temp,str[i]); strcpy(...

相似回答