Ⅰ 怎樣用c語言使輸入的數按升序排列
還是簡單給你個程序吧!這樣你也好理解;
#include <stdio.h>
void main()
{
int a,b,c,t;
printf("input the numbers:\n");
scanf("%d%d%d",&a,&b,&c);//輸入三個數;
if(a>b){t=a;a=b;b=t;}//如果a比b大,那麼交換枝枯a,b的值
if(a>c){t=a;a=c;c=t;}//如果a比c大,交換a,c的值
if(b>c){t=b;b=c;c=t;}//如果b比c大,交換b,c的值
printf("%d,%d,%d"冊搭閉,a,b,c);
}
3個數共州裂比較3次,每兩個數都要比較一次;
要是4個數就要6次 比方說
a,b,c,d
(a>b)(a>c)(a>d)(b>c)(b>d)(c>d)
Ⅱ c語言編程題 從鍵盤上輸入3個數a b c 按照升序排列後輸出 怎麼編啊
#include<stdio.h>
main()
{
floata,b,c,temp;
//輸入abc以空格隔開
scanf("%f%f%f",&彎判a,&b,&c);
if(a>b)
{//如果a大於b則將a和b進行埋指改互換
temp=a;a=b;b=temp;
}
if逗氏(a>c)
{//如果a大於c則將a和c進行互換
temp=a;a=c;c=temp;
}
if(b>c)
{//如果b大於c則將b和c進行互換
temp=b;b=c;c=temp;
}
//列印abc
printf("%f%f%f",a,b,c);
}
Ⅲ c語言問題 輸入三個數,輸出升序
你好,程序羨橋如下:
#include<stdio.h>
void
main()
{
int
a,b,c,min;
printf("請輸入三個數字:\n"余則);
scanf("%d%d%d",&a,&b,&c);
if(a<b&&a<c)
min=a;
if(b<a&&b<c)
min=b;
if(c<a&&c<b)
min=c;
printf("最小數字是:
%d\n",min);
}
有疑問提出。兄毀猛
望採納。
Ⅳ C語言如何從鍵盤輸入任意3個數,按從小到大的順序輸出
代碼1.
//輸入3個數,要求按從小到大順序輸出
#include<stdio.h>
intmain()
{
inta,b,c,t;
printf("請輸入三個數:");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("從小到大的順序是:%d%d%d ",a,b,c);
return0;
}
代碼2.
輸入3個字元串,按從小到大順序輸出。//先用程序對三個數進行從小到大排序,然後修改程序
#include<stdio.h>
#include<string.h>
intmain()
{voidswap(char*pt1,char*pt2);
chara[20],b[20],c[20];
char*p1,*p2,*p3;
printf("請輸入三個字元串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三個指針分別指向三個字元數組
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b);//比較兩個字元串的大小,為什麼用前一句的時候會出現警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);//if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s %s %s ",a,b,c);
return0;
}
voidswap(char*pt1,char*pt2)
{chart[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
}
代碼3.
#include<stdio.h>
#include<string.h>
#defineSIZE3
#defineLEN50
intmain(void)
{
charstr[SIZE][LEN];
char(*pst)[LEN]=str;
chartemp[LEN];
inti,j;
printf("Pleaseenter3string. ");
for(i=0;i<SIZE;i++)
{
fgets(*(pst+i),LEN,stdin);
}
printf("Beforsort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
{
if(strcmp(*(pst+i),*(pst+j))==1)
{
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
}
}
printf("Aftersort: ");
for(i=0;i<SIZE;i++)
{
fputs(*(pst+i),stdout);
}
}
Ⅳ C語言中從鍵盤上輸入三個數,將之排序後按由大到小的順序輸出
具體操作方法如下:
#include<stdio.h>
int main(void)
{int a,b,c,t;
printf("請輸入三個數");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;}
if(b<c)
{t=b;b=c;c=t;}
if(a<b)
{t=a;a=b,b=t;}
printf("從大到小:%d %d %d",a,b,c);
system("pause");
return 0;}
注意:中間的t=a;a=b;b=t,就是交換a和b的位置,總是把大的換到前面來。
(5)任意輸入三位數按升序排出c語言擴展閱讀:
c語言任意輸入5個數,並按從大到小順序輸出的方法如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{int a[5];
int i,j,k;
for(i=0;i<=4;i++)
{scanf("%d",&a[i]);}
for(i=0;i<=4;i++){
for(j=0;j<=4;j++)
{if(a[i]>a[j])
{k=a[i]; a[i]=a[j]; a[j]=k;}}}
printf("排序結果是: ");
for(i=0;i<=4;i++)
{ printf("%d ",a[i]);
}return 0;
Ⅵ 設置C語言程序,由鍵盤輸入3個數,按升序將其輸出
#include <stdio.h>
void main()
{
int i,j,temp;
int a[3]={0};
printf("輸入3個數消寬碼陪\n");
scanf("%d%d%d",&a[0],&a[1],&a[2]);
for (i=0;i<2;i++)
{
for (j=i+1;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,"拿模亮,a[i]);
}
}