C语言:输入10个整数,对其中前5个数按降序排列,然后输出这10个整数

输入10个整数,对其中前5个数按降序排列,然后输出这10个整数
分别用冒泡法和选择法编两个程序

第1个回答  2013-11-27
选择
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int nDec[10],i,j,k;
printf("Type 10 data...\n");
for(i=0;i<10;scanf("%d",nDec+i++));
for(i=0;i<5;i++){
for(k=i,j=k+1;j<5;j++)
if(nDec[k]<nDec[j]) k=j;
if(k!=i){
j=nDec[k];
nDec[k]=nDec[i];
nDec[i]=j;
}
}
for(i=0;i<10;printf("%d ",nDec[i++]));
printf("\n");
}
冒泡
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int nDec[10],i,j,k;
printf("Type 10 data...\n");
for(i=0;i<10;scanf("%d",nDec+i++));
for(i=0;i<5;i++)
for(j=0;j<4;j++)
if(nDec[j]<nDec[j+1]){
k=nDec[j];
nDec[j]=nDec[j+1];
nDec[j+1]=k;
}
for(i=0;i<10;printf("%d ",nDec[i++]));
printf("\n");
}本回答被提问者采纳
第2个回答  2013-11-27
1。
#include <stdio.h>

int main(void)
{
int i, j;
int arr[10], tmp;

printf("十个整数:");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
} //输入·十个数
for (j = 1; j <= 9; j++) // 冒泡法排序
{
for (i = 1; i <= 10 - j; i++)
{
if (arr[i - 1] > arr[i])
{
tmp = arr[i - 1];
arr[i- 1] = arr[i];
arr[i] = tmp;
}
}
}
printf("从小到大排\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}

2。
#include<stdio.h>
int main()
{int a[10],i;
for(i=0;i<10;i++) //用于十个元素排例。
scanf(“%d”,&a[i]);//对十个元素输入数值
for(i=0;i<10;i++)//从小到大排例输入的十个元素。
printf(“%d”,a[i]);
return 0;
}本回答被网友采纳
相似回答