⑴ 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語言程序設計: 從用戶輸入10個整數,對其按照從小到大的順序排序,並輸出結果。
//要求任意輸入10個數,然後按從小到大順序輸出
#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;
}
(2)c語言輸入數據有順序擴展閱讀:
①printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
②printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
printf()函數的調用格式為:printf("<格式化字元串>",<參量表>)。
其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。
⑶ C語言在輸入變數的時候有先後順序嗎
變數的順序和你實際輸入的順序對應即可,代碼順序無所謂
你寫前者就先輸入a在輸入b,後者則反之
⑷ C語言如何輸入十個數,按從大到小順序排列!
代碼如圖所示:
#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;
}
(4)c語言輸入數據有順序擴展閱讀
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語言中輸入一串字元,怎樣讓它按照字母從小到大的順序排列
這可以把字元串輸入到字元數組中,然後採用排序的方法來實現:
(需要包含<string.h>頭文件)
char t,s[200];
int i,i;
gets(s);
for(i=0;i<strlen(s)-1;i++)
for(j=0;j<strlen(s)-1-i;j++)
if(s[j]>s[j+1])
{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}
puts(s);
⑹ C語言如何輸入十個數,按從大到小順序排列!
用選擇排序法編寫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;
}
(6)c語言輸入數據有順序擴展閱讀:
代碼還可以設計,如下:
#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(" ");
}
⑺ C語言編程,從鍵盤輸入四個整數,按照數值從小到大順序輸出
源代碼如下:
#include<stdio.h>
intmain()
{
intnum[4];
for(inti=0;i<4;i++){
scanf("%d",num+i);
}
for(inti=0;i<4;i++){
intk=i;
for(intj=i+1;j<4;j++){
if(num[k]>num[j]){
k=j;
}
}
if(k!=i){
inttemp=num[k];
num[k]=num[i];
num[i]=temp;
}
for(inti=0;i<4;i++){
printf("%d",num[i]);
}
return0;
}
(7)c語言輸入數據有順序擴展閱讀
輸入5個數,按從小到大順序輸出的源代碼如下:
#include<stdio.h>
void main()
{
int a[5];
int i,j,t;
printf("請輸入5個數:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf(" ");
for(j=0;j<4;j++)
for(i=0;i<4-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("排序後的數據為:");
for(i=0;i<5;i++)
printf("%d ",a[i]);
printf(" ");
}