C语言如何输入十个数,按从大到小顺序排列!

作者&投稿:卓蔡 (若有异议请与网页底部的电邮联系)
用c语言,输入n个数按大小顺序排列输出~

#include
#include

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",data[i]);/*输出排序后的结果*/
free(data);
return 0;
}

#include int main(){int a[10];int i,j;int t;printf("请输入10个整数:");for(i=0;ia[j]){t=a[i];a[i]=a[j];a[j]=t;}}printf("排列后顺序为:");for(i=0;i<10;i++){printf("%d ",a[i]);}printf("
");}排序需要使用嵌套循环,单循环只能完成一个数一次排序,不能完成总体排序。

用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("输入数");

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

scanf("%d",&a[i]);

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

{

for (j = i + 1; j < 10;j++) 

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}

printf("从大到小");

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

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

return 0;

}

扩展资料:

代码还可以设计,如下:

#include<stdio.h>

int main()

{

int a[10],i,j,t;//定义数组; 

for(i=0;i<10;i++){

scanf("%d",&a[i]);//给数组赋值; 

}

for(i=0;i<9;i++)//10个数,进行9轮比较; 

for(j=0;j<10-i;j++){//第一个数比较9次,依次递减; 

if(a[j]>a[j+1]) {//交换值; 

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

for(i=0;i<10;i++){

printf("%d
",a[i]);//输出数组的值; 

}

return 0;

}

printf("the sorted numbers:
"); 

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

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

printf("
"); 

}

参考资料:百度百科-printf



代码如图所示:

#include<stdio.h>

int main()

{

int i,j,a[10],t;

printf("请输入十个数:");

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

scanf("%d",&a[i]);

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

{

for (j = i + 1; j < 10;j++) //循环

if (a[i] < a[j]){

t = a[i];

a[i] = a[j];

a[j] = t;

}

}        

printf("从大到小排序后:");

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

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

return 0;

}

扩展资料

C语言顺序排列题的其他解法

#include <stdio.h>

int main()

{

int a[10];

int i,j;

int temp;

printf("请输入10个整数:");

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

{

scanf("%d",&a[i]);

}

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

{

for(j=0;j<9-i;j++)

{

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

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

printf("排列后顺序为:");

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

{

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

}

printf("
");

return 0;

}

参考资料:百度百科-c语言



可以输入同时进行插入排序,提高效率。

代码如下:

#include <stdio.h>
int main()
{
    int a[10], i, j,t; //定义数组,及其它变量
    for(i=0;i<10;i++)
    {
        scanf("%d",&t);//输入到临时变量t
        for(j = i; j > 0; j --)//查找插入位置
        {
            if(a[j-1] >= t) break;
            a[j] = a[j-1]; //移动元素,让出插入的空间
        }
        a[j] = t;//插入
    }
    for(i=0;i<10;i++) //输出
    {
        printf("%d,",a[i]);
    }
    
    printf("
");
    return 0;
}


#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++) /*进行9次循环 实现9趟比较*/
for(i=0;i<9-j;i++) /*在每一趟中进行9-j次比较*/
if(a[i]<a[i+1]) /*相邻两个数比较*/
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf("\n");
}

已经上机运行过 就是用冒泡法啦
你应该知道怎么运行了吧 输入那十个数字 运行结果就出来了啦

void main()
{//冒泡排序 把十个数从大到小输出
int s[10];
for(int m=0;m<10;++m)
{
printf("请输入第%d个数据:",m);
scanf("%d",&s[m]);
}

for(int i=0;i<10;++i)//依次吧十个数放在合适的位置上
for(int j=i+1;j<10;++j)//把一个数先放在合适的位置上
if(s[i]<s[j])
{
int temp=s[i];
s[i]=s[j];
s[j]=temp;
}
for(int x=0;x<10;x++)
printf("%d ",s[x]);

}


从键盘输入10个实型数,求其倒数的和并输出(用c语言)
清晰简洁的代码:include"stdio.h"main(){ float a[10],i,sum=0;printf("请输入十个数:\\n");for(i=0;i<10;i++){scanf("%f",&a[i]);sum=sum+1.0\/a[i];} printf("这十个数的倒数和是:%f",sum);}

c语言中向一个数组中输入十个数怎么输入
include <stdio.h> int main(){ int i;int n[10];for(i=0;i<10;i++){ scanf("%d",&n[i]);\/\/scanf要的是地址,这里必须用&n[i],或者n+的方法,但不能n[i]} printf("%d",n[1]);return 0;}

c语言程序设计,从键盘输入10个数到数组a。至少用三种指针方式
int main(){ { printf("第一种:\\n"); int a[10]; int *p; printf("请输入十个整数:"); for(p=a;p<a+10;p++) scanf("%d",p); for(p=a;p<a+10;p++) printf("%d",*p); } { printf("第二种:\\n"); int a[10],i; int *p=&a; printf(...

用java语言编程:从键盘中输入十个无序的数字,从大到小输出。
import java.io.BufferedReader;import java.io.InputStreamReader;public class Demo { public static void main(String[]args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入10个数字,每个数字之间用“,”分割:");String...

用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数...
参考代码:include<stdio.h> int main() { int i,a[10],max,maxi;\/\/输入10个整数 for(i=0;i<10;i++){ scanf("%d",&a[i]);} \/\/假设数组的第1个是最大数max,同时设置最大值下标为0 max=a[0];maxi=0;\/\/for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值...

c语言从键盘上输出十个数 不用数组 求出他们的最大最小值
vs2012 运行结果:请输入第1个数字:2 请输入第2个数字:30 请输入第3个数字:20 请输入第4个数字:15 请输入第5个数字:15 请输入第6个数字:60 请输入第7个数字:9 请输入第8个数字:10 请输入第9个数字:82 请输入第10个数字:2 最大值为:82最小值为:2请按任意键继续. . ....

用计算机C语言编程,程序设计题:从键盘输入十个数,将他们进行降序排列...
include<stdio.h>int main(){int i,j,t,a[10]; for(i=0;i<10;i++) \/\/输入10个整数 scanf("%d",&a[i]); for(i=0;i<9;i++) \/\/降序冒泡排序 for(j=0;j<9-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;...

C语言编从键盘输入十个数,计算其平均值,并将大于平均值的数输出_百度知...
源代码如下:include <stdio.h> int main(){ int n, i;float num[100], sum = 0.0, average;printf("输入元素个数: ");scanf("%d", &n);while (n > 100 || n <= 0){ printf("Error! 数字需要在1 到 100 之间。\\n");printf("再次输入: ");scanf("%d", &n);} for(i...

C语言解答:输入10个数,统计并输出正数、负数和0的个数。
include<stdio.h>void main(){float Temp,zheng = 0,fu = 0;int i,zeroo = 0;for(i=1;i<=10;i++){scanf("%f",&Temp);if(Temp>0)zheng++;if(Temp<0)fu++;if(Temp==0)zeroo++; } printf("正数有:%g,负数有:%g,零有:%d。",zheng,fu,zeroo); \/* %g,舍弃无意义的小数...

C语言编程序,要求从键盘输入10个整数存入一维数组。。
include<stdio.h> main(){ int a[10];int i,j,t;for(i=0;i<10;i++)scanf("%d",&a);printf("\\n");for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a>a[i+1]){ t=a;a=a[i+1];a[i+1]=t;}}} for(i=0;i<10;i++)printf("%d",a);} ...

孝昌县18774215526: 输入10个整数,按照由大到小的顺序输出C语言编写
子春双歧: #include &lt;stdio.h&gt; #define NUM 10 void main() { int i,j,k,a[NUM]; printf("请输入10个数字进行从大到小的排序:"); for(i=0;i&lt;NUM;i++) { scanf("%d",&amp;a[i]); } for(i=0;i&lt;NUM;i++) { for(j=0;j&lt;NUM;j++) { if(a[i]&gt;a[j]) { k=a[i]; a[i]=a[j]; a[j]=k; } } } for(i=0;i&lt;NUM;i++) { printf("%d",a[i]); } }

孝昌县18774215526: C语言如何输入十个数,按从大到小顺序排列!
子春双歧: #include&lt;stdio.h&gt; void main() { int a[10]; int i,j,t; printf("input 10 numbers:\n"); for(i=0;i&lt;10;i++) scanf("%d",&amp;a[i]); printf("\n"); for(j=0;j&lt;9;j++) /*进行9次循环 实现9趟比较*/ for(i=0;i&lt;9-j;i++) /*在每一趟中进行9-j次比较*/ if(a[i]&...

孝昌县18774215526: C语言 编写程序,从键盘输入10个数据,按从大到小的顺序输出 -
子春双歧: main() { int a[10], i, j, k; printf("输入10个整数: "); for (i = 0; i < 10; i++) { scanf("%d", a + i); for (j = i; j > 0; j--) if (a[j-1] >= a[j]) break; else { k = a[j-1]; a[j-1] = a[j]; a[j] = k; } } for (i = 0; i < 10; i++) printf("%d ", a[i]); }

孝昌县18774215526: 用C语言编写“输入10个整数,按从大到小排列”的程序说明 -
子春双歧: #include<stdio.h>//标准输入输出函数调用需要此头文件、就是那个printf和scanf函数要用的 void main()//主函数 {int i,j,min,temp,a[10]; printf("请输入:\n"); //屏幕输出引号内的字符然后换行 for(i=1;i<=10;i++) //从键盘上循环输入10个数...

孝昌县18774215526: 初学C语言,求高手帮忙——依次输入10个数,按大小顺序输出 -
子春双歧: 天哪,有那么复杂吗? 用数组不就简单多了嘛! #includevoid main() { int a[10],i,t,max; printf("请输入10个数\n"); for(i=0; i

孝昌县18774215526: C语言程序:依次输入十个数、要求按照从小到大的顺序输出 -
子春双歧: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30# include <stdio.h> #define N 10//元素个数 voidsort(inta[], intn)//排序函数 {inti=0,j=0,temp; for(i=0; i<n; i++){for(j=i+1; j<n; j++){if(a[j]<a[i]){temp = a[i];a[i] = ...

孝昌县18774215526: C语言编程 要求10个数从大到小排列 -
子春双歧: #include <stdio.h> int main() {int a[10];int i,j,temp;printf("Please input 10 numbers : ");for(i=0;i<=9;i++){scanf("%d",&a[i]);//输入}for(i=0;i<=8;i++){ for(j=i+1;j<10;j++){//if(a[j]>a[i]){//你原来是a[j]>a[j-1]temp=a[i];a[i]=a[j];a[j]=temp;}}}...

孝昌县18774215526: C语言如何用选择法排序任意输入十个数(从大到小、从小到大)? -
子春双歧: #include <stdio.h> main(void) {int i,j,a[10],p=0,t=0,temp; printf("请输入原数组:\n");for(j=0;j<10;j++)scanf("%d",&a[j]);temp=a[0]; for(j=0;j<9;j++){t=j;temp=a[j];for(i=j+1;i<10;i++)if(temp>a[i]) //这是由小到大排序 如果是大到小则改...

孝昌县18774215526: C语言 用选择法对10个整数按从大到小顺序排序 -
子春双歧: for(p=a,i=0;i<10;i++) { printf("%d",*p); p++; 少了“}” void sort(int x[],int n); 多了“;”

孝昌县18774215526: C语言编写程序,用插入法将10个数进行从大到小排序 -
子春双歧: #includevoid main() { int a[11],n,i,j; printf("Please Input 10 Numbers:\n"); for(i=1;i<=10;i++) scanf("%d",&a[i]); for(i=2;i<=10;i++) { a[0]=a[i]; for(j=i-1;a[j]>a[0];j--) a[j+1]=a[j]; a[j+1]=a[0]; } for(i=1;i<=10;i++) printf("%d ",a[i]); printf("\n"); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网