C语言程序设计
任意输入10个数,排序:输入a为从大到小排序,输入b为从小到大排序,输入c的排序为:最大,最小,次最大,次最小等等,每输入两个数换行
用C语言编写,求助
#include<stdio.h>
#include<stdlib.h>
void sort1(int a[],int length)
{
int i,j,k;
for(i=0;i<length;i++)
{
for(j=0;j<length;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
}
void show(int a[],int length)
{
int i;
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
}
void sort2(int a[],int length)
{
int i,j,k;
for(i=0;i<length;i++)
{
for(j=0;j<length;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
}
void sort3(int a[],int length)
{
int i,j,k,max,min;
for(i=0;i<length;i++)
{
if(i%2==0)
{
max=a[i];
for(j=i;j<length;j++)
{
if(a[j]>max)
{
max=a[j];
k=j;
}
}
j=a[i];
a[i]=max;
a[k]=j;
}
else
{
min=a[i];
for(j=i;j<length;j++)
{
if(a[j]<min)
{
min=a[j];
k=j;
}
}
j=a[i];
a[i]=min;
a[k]=j;
}
}
for(i=0;i<length;i++)
{
printf("%d ",a[i]);
if((i+1)%2==0)
printf("\n");
}
}
int main()
{
char ch;
int a[10];
int i;
printf("请输入10个数字\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
getchar();
ch= getchar();
if(ch=='a')
{
sort1(a,10);
show(a,10);
}
if(ch=='b')
{
sort2(a,10);
show(a,10);
}
if(ch=='c')
sort3(a,10);
return 0;
}
#include<stdlib.h>
void sort1(int a[],int length)
{
int i,j,k;
for(i=0;i<length;i++)
{
for(j=0;j<length;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
}
void show(int a[],int length)
{
int i;
for(i=0;i<10;i++)
printf("%3d",a[i]);
printf("\n");
}
void sort2(int a[],int length)
{
int i,j,k;
for(i=0;i<length;i++)
{
for(j=0;j<length;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
}
void sort3(int a[],int length)
{
int i,j,k,max,min;
for(i=0;i<length;i++)
{
if(i%2==0)
{
max=a[i];
for(j=i;j<length;j++)
{
if(a[j]>max)
{
max=a[j];
k=j;
}
}
j=a[i];
a[i]=max;
a[k]=j;
}
else
{
min=a[i];
for(j=i;j<length;j++)
{
if(a[j]<min)
{
min=a[j];
k=j;
}
}
j=a[i];
a[i]=min;
a[k]=j;
}
}
for(i=0;i<length;i++)
{
printf("%d ",a[i]);
if((i+1)%2==0)
printf("\n");
}
}
int main()
{
char ch;
int a[10];
int i;
printf("请输入10个数字\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
getchar();
ch= getchar();
if(ch=='a')
{
sort1(a,10);
show(a,10);
}
if(ch=='b')
{
sort2(a,10);
show(a,10);
}
if(ch=='c')
sort3(a,10);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-10-19
没懂 你题目的意思追问
就是用C语言编个程序,实现这个
追答你把原题目拍了发上来吧。或者你再解释一下怎么输入10个数又输入两个数换行
追问额,我错了,是输出两个数一行,对不住啊
第2个回答 2014-10-19
最好你写写看 不对 我们帮你改 这样比较好