编一程序,从键盘输入三个整数,从大到小输出!

C语言
忽忽,,
又没简单点的,,
太复杂咯!!

第1个回答  2009-04-07
1.输入三个整数,输出最大数和最小数。
main(){
int a,b,c,max,min;
printf("input three numbers: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{max=a;min=b;}
else
{max=b;min=a;}
if(max<c)
max=c;
else
if(min>c)
min=c;
printf("max=%d\nmin=%d",max,min);
}

本程序中,首先比较输入的a,b的大小,并把大数装入max,小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。
2.用选择法对10个整数排序。
main()
{int *p,i,a[10]={3,7,9,11,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
printf("\n");
}
sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k])k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
第2个回答  2009-04-07
#include <stdio.h>

void main()
{
int a[3],i,j,temp;
printf("enter three interger!!\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
{for(j=i;j<3;j++)
{
if(a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (i=0;i<3;i++)
printf("%d\n",a[i]);
}
输入以空格区分。这个程序的可维护性比较好。虽然时间复杂度高点。
第3个回答  2009-04-07
main()
{
int a[3],max,i,j;
printf("input 3 number:\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
if(a[j]<a[j+1])
{
max=a[j+1];
a[j+1]=a[j];
a[j]=max;
}
}
}
for(i=0;i<3;i++)
printf("%d,",a[i]);
printf("\n");
}

LZ可以将这段程序修改成输入多个数进行比较的哈~
第4个回答  2009-04-07
#include "stdio.h"
void main()
{
int a,b,c;
int temp;
scanf("%d%d%d",&a,&b,&c);
if(a<b) {temp=a;a=b;b=temp;}
if(b<c) {temp=b;b=c;c=temp;}
if(a<b) {temp=a;a=b;b=temp;}
printf("%d %d %d",a,b,c);
}本回答被提问者采纳
相似回答