『壹』 4個數比較大小,結果從小到大排列,用c語言怎麼編
1、首先雙擊打開桌面上的C-Free5編程軟體。
『貳』 C語言編程題:輸入4個整數,要求按由小到大順序輸出怎麼編啊
使用冒泡排序法進行編程:
解釋:
1.第一個for循環:利用數組循環輸入4個變數。
2.第二個for循環:該循環的意思是如果a[0]>a[1]的話,兩個變數的值交換,利用循環依次比較。要注意的是i<3,因為其中有i+1,i最大取到2,也就是i+1最大取到3才正確。
3.第三個for循環:利用循環依次輸出排序後的數組,每輸出一個加一個空格以便於區分。
(2)編寫四個整數排列的c語言程序擴展閱讀:
冒泡排序法,從數組頭部開始,不斷比較相鄰的兩個元素的大小,通過交換兩個元素的值使較大的元素逐漸往後移動,直到數組的末尾。
經過第一輪的比較,就可以找到最大的元素,並將它移動到最後一個位置。第一輪結束後,繼續第二輪。仍然從數組頭部開始比較,讓較大的元素逐漸往後移動,直到數組的倒數第二個元素為止。
經過第二輪的比較,就可以找到次大的元素,並將它放到倒數第二個位置。
以此類推,進行 n-1(n 為數組長度)輪「冒泡」後,就可以將所有的元素都排列好。
『叄』 輸入4個整數,要求從大到小排列(用C語言的IF語句)
就是冒泡演算法咯:
把序列底部的數字跟上面的數字依次比較,如果比上面的大就把他們交換位置,直到比上面的小為止,這樣把每個數字都這樣弄一次數列就按順序排好了。
void main()
{
int a[3];
int i,temp;
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<4;i++)
{
int j;
for(j=0;j<=4-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<4;i++)
{
printf("%d",a[i]);
}
}
『肆』 我有四個數(如1,3,6,7)怎麼用c語言編寫:四個數所有排列組合
#include<stdio.h>
#include<stdlib.h>
voidswap(int&a,int&b)
{
inttemp=a;
a=b;
b=temp;
}
voidPermutation(int*pStr,intbegin,intend)
{
if(begin==end-1)//只剩一個元素
{
inti;
for(i=0;i<end;i++)//列印
printf("%d",pStr[i]);
printf(" ");
}
else
{
intk;
for(k=begin;k<end;k++)
{
swap(pStr[k],pStr[begin]);//交換兩個字元
Permutation(pStr,begin+1,end);
swap(pStr[k],pStr[begin]); //恢復
}
}
}
intmain()
{
inta[]={1,3,6,7};
Permutation(a,0,4);
getchar();
return0;
}
『伍』 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;
}
(5)編寫四個整數排列的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(" ");
}
『陸』 C語言:輸入四個正整數按從大到小排序,用冒泡排序方法,書上沒有詳細過程,老師沒講,盡量用簡單的方法
#include<stdio.h>
intmain()
{
inta[4],i,j,t;
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
{
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=0;i<4;i++)
printf("%d",a[i]);
}
這是最簡單的冒泡排序把,利用雙for循環完成的。這個代碼的意思是,將數字存入到一個數組中,然後用數組的第一個元素一次後面的元素比較,如果後面的元素大於第一個元素,那麼就和第一個元素對調。這樣最大的個元素會移動到第一個元素的位置上。然後用數組的第二個元素同樣的方法進行比較和交換。最終完成從大到小的排序。
外面的for循環的作用是確定用來比較的基數的、。第一循環時,它確定的比較基數就是第一個元素,以此類推。裡面的循環的作用是將基數和後面的元素比較,如果後面的元素小於的基數,那麼和基數互相對調。
『柒』 任意輸入4個整數,從大到小排列輸出。c語言程序怎麼寫
個整數的排序,有使用單個變數和使用數組二種方法實現。
使用單個變數的方法:
#include<stdio.h>
int main()
{int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(a>d){t=a;a=d;d=t;}
if(b>c){t=b;b=c;c=t;}
if(b>d){t=b;b=d;d=t;}
if(c>d){t=c;c=d;d=t;}
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}
使用數組和循環的方法:
#include<stdio.h>
int main()
{int a[4],i,j,t;
for(i=0;i<4;i++) //讀入4個數據
scanf("%d",&a[i]);
for(i=0;i<3;i++) //冒泡排序
for(j=0;j<3-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
for(i=0;i<4;i++) //輸出4個數據
printf("%d ",a[i]);
printf("\n");
return 0;
}