⑴ 輸入10個整數按照由大到小的順序如何輸出c語言編寫
輸入10個整數按照由大到小的順序輸出C語言編寫具體如下:
#include<isostream.h>
void main()
int data[10];
cout<<endl<<;
for(i=0;i<10;i++)cin>>data[10];
#define SIZE(sizeof(data)/sizeof(data(0))
for(m=0;m<SIZE-1;m++)
{ int j=m;
for(int i=m+1;i<SIZE;I++)
if(data[i]<data[j]) j=i;
if(j>m)
{int k=data[m];
data[m]=data[j];
data[j]=k;
cout<<endl<<"排序:";
for(m=9;m>=0;m--) cout<<data[m]<<' '。
⑵ c語言編程: 將一組數按從大到小的順序排序
以下是輸入10個整數按從大到小排序後再插入一個整數的程序。
#include <stdio.h>
int main(void)
{
int i,j,temp,sz[50];
for(i=0;i<10;i++)
{
printf(" 請輸入第 %d 個整數:",i+1);
scanf("%d",&sz[i]);
}
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(sz[i]<sz[j])
{
temp=sz[i];
sz[i]=sz[j];
sz[j]=temp;
}
printf(" 10個整數按從大到小排序:");
for(i=0;i<10;i++)
printf(" %d",sz[i]);
printf("
請輸入需要插入的整數:");
scanf("%d",&temp);
j=10;
for(i=9;i>=0;i--)
if(temp>sz[i])
j--;
if(10-j>0)
for(i=9;i>j-1;i--)
sz[i+1]=sz[i];
sz[j]=temp;
printf(" 插入整數 %d 後的數組:",temp);
for(i=0;i<11;i++)
printf(" %d",sz[i]);
return 0;
}
⑶ c語言編譯,將輸入的三個值以從小到大的順序輸出,下面的這段程序無法編譯,是什麼原因,請幫忙改正
你不覺得
scanf("%f,%f,%f",&a,&b,&c);
這句很奇怪嗎?
%f之間為什麼要加逗號啊。
指針啊,傳遞指針,傳遞變數無用。
另外,你的exchange函數為什麼要返回「float"?即便如此,你函數內部也沒有return 任何變數,編譯都不會同過。把第一個float改成void.
最後,也是最關鍵的錯誤,你這整個思路就錯了,如果是3 2 1,會進行如下操作:
3>2 變成2 3 1
3>1 變成2 1 3
2<3 不變
結果2 1 3
⑷ 在C語言中怎麼寫出讓編譯出來的結果是寫出任意三個數,讓他識別出依次的大小
你需要一個排序演算法,具體程序如下,這里採用的是冒泡演算法,也可以用其他演算法。
#include <stdio.h>
void bubble(int *,int);
main(){
int a,b,c;
int result[3];
int i;
printf("請輸入三個整數,以空格分開:");
scanf("%d %d %d",&a,&b,&c);
result[0]=a;result[1]=b;result[2]=c;
bubble(result,3);
for(i=0;i<3;i++)
{
printf("%d ",result[i]);
}
printf("\n");
}
void bubble(int *a,int n) /*定義兩個參數:數組首地址與數組大小*/
{
int i,j,temp;
for(i=0;i<n-1;i++){
for(j=i+1;j<n;j++){/*注意循環的上下限*/
if(a[i]>a[j]) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
⑸ 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;
}
(5)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語言編譯使a,b,c三個數按大小順序輸出
冒泡排序多少個都能排,這個是由小到大排x0dx0ax0dx0a# include ⑺ 用C語言比較三個數的大小,並按照從大到小排序
#include <stdio.h> ⑻ C語言編程:三個字元串按大小順序排列
#include <math.h>
int main(void)
{
int a,b,c;
printf("請輸入任意三個整數a,b,c:");
scanf("%d%d%d",&a,&b,&c);
int s;
if(a>b)s=a,a=b,b=s;//比較a,b大小,通過賦值,使得a<b 。此語句目的:a<b
if(a>c)s=a,a=c,c=s;//進一步比較a,c大小,通過賦值得出最小值,並賦給a; 此語句目的:a<c
if(b>c)s=b,b=c,c=s;//最後比較出b,c中的較大值。
printf("從大到小的順序依次是:%d%d%d",c,b,a);
return 0;
}
#include<stdio.h>
#include<string.h>
#include<search.h>
structs_len{
intelem;intlen;
};
intcomp(constvoid*a,constvoid*b)
{
return((s_len*)a)->len<((s_len*)b)->len?1:-1;
}
intmain()
{
charword[3][20];
intlen,len_max;
unsignedintmax=0;
s_lenwlen[3];
for(len=0;len<3;len++)
{
gets(word[len]);
wlen[len].elem=len;
wlen[len].len=strlen(word[len]);
}
qsort(wlen,3,sizeof(s_len),comp);
for(len=0;len<3;len++)
{
printf("%s
",word[wlen[len].elem]);
}
return0;
}
⑼ 輸入4個整數,要求按大小順序輸出,要求用C語言IF語句編程
在VC中編譯通過,你可以改成輸入很多個數,按大小輸出:
#include<iostream.h>
void
main()
{
int
a[4];
int
i,j,t;
for(i=0;i<4;i++)
{
cin>>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++)
{
cout<<a[i]<<endl;
}
}