當前位置:首頁 » 編程語言 » c語言輸入實數排序
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸入實數排序

發布時間: 2022-06-01 10:46:12

『壹』 c語言編程,對用戶輸入的 N ( 0 < N <= 20) 個實數進行升序排序並輸出排序結果

如同你的第一個輸入語句一樣,第二處的圖文語句也要用&取地址符號。還有排序時的范圍也錯了。改正後的程序如下,已經運行通過:

#include<stdio.h>

voidmain()

{

inti,o,p;

floata[100],t;

scanf("%d",&o);

for(i=0;i<o;i++)

{

scanf("%f",&a[i]);

}

for(i=0;i<o-1;i++)

{

for(p=0;p<o-i-1;p++)

{

if(a[p]>a[p+1])

{

t=a[p];

a[p]=a[p+1];

a[p+1]=t;

}

}

}

for(i=0;i<o;i++)

{

printf("%.1f",a[i]);

}

printf(" ");

}

『貳』 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;

}

(2)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語言實現)

void
main()
{
int
a,b;
printf("請輸入兩個數字,將判斷他們誰大");
scanf("%d%d",&a,&b);
if(a>b)
{
printf("%d大於%d",a,b);
}
if(a<b)
{
printf("%d大於%d",b,a);
}
else
{
printf("兩個數一樣大");
}
}

『肆』 C語言輸入一個整數n,再輸入n個實數,用冒泡排序法為實數序列做降序排序

#include<stdio.h>

int main()

{

int n;

float a[100],t;

scanf("%d",&n);

for(int i=0;i<n;i++)

{

scanf("%f",&a[i]);

}

for(int i=0;i<n;i++)

{

for(int j=0;j<n-i-1;j++)

{

if(a[j]<a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

for(int i=0;i<n;i++)

{

printf("%.2f ",a[i]);//保留兩位小數

}

return 0;

}

『伍』 C語言編程序:輸入兩個實數,按代數值由大到小的順序輸出這兩個數。

#include<stdio.h>
void main()
{
float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)//這里多了個;,就是沒有進入if下面的調換,去掉就可以了
{t=a;
a=b;
b=t;}
printf("%f,%f\n",a,b);

}

『陸』 C語言編程,用選擇法對數組中20個實數進行排序

選擇排序法:
#include
"stdio.h"
#define
N
20
main()
{
int
i,j,k;
float
a[N],t;
printf("請輸入二十位數:\n");
for(i=0;i<N;i++)
scanf("%f",&a[i]);
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(a[k]>a[j])
k=j;
if(i!=k)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<N;i++)
printf("%f\t",a[i]);
printf("\n");
}
插入排序法:
#include
"stdio.h"
#define
N
20
main()
{
int
i,j;
float
a[N],k;
printf("請輸入二十位數:\n");
for(i=0;i<N;i++)
scanf("%f",&a[i]);
for(i=0;i<N;i++)
{
k=a[i];
j=i-1;
while(j>=0&&k<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=k;
}
for(i=0;i<N;i++)
printf("%f\t",a[i]);
printf("\n");
}
冒泡排序法:
#include
"stdio.h"
#define
N
20
main()
{
int
i,j;
float
a[N],t;
printf("請輸入二十位數:\n");
for(i=0;i<N;i++)
scanf("%f",&a[i]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<N;i++)
printf("%f\t",a[i]);
printf("\n");
}
如果對你有幫助,請記得採納最佳答案,謝謝!

『柒』 關於C語言中實數的排序問題

一,排序演算法有問題
二,float型的默認時保留小數點六位,2.0和2.000000是不等的
三,精度問題
四,float型默認六位,多出的位數隨即產生

for(i=0;i<n;i++) /*使用選擇法排序*/

{

k=i;

for(j=i+1;j<n;j++)

{

if(y[j]<y[k])
{
k=j;
continue;
}
}
if(k!=i)

{

t=y[k];

y[k]=y[i];

y[i]=t;

}

}

『捌』 C語言輸入任意3個實數,然後按倒序和依次輸出怎麼編程

思路:利用輸入語句輸入3個實數,用輸出語句輸出正序,用輸出語句輸出反序

/*源程序如下:*/
#include<stdio.h>
int
main()
{
float x,y,z;/*定義3個整數*/
printf("請輸入一個3個實數:");
scanf("%f,%f,%f",
&x,&y,&z);/*輸入3個數中間用逗號分開*/
printf("依次輸出這三個數為:%f,%f,%f\n「,x,y,z);

printf("倒序輸出這三個數為:%f,%f,%f\n「,z,y,x)/*將輸出的三個數位置倒序即可*/
return
0;
}

VC++6.0測試如下

請輸入一個3個實數:1,2,3

依次輸出這三個數為:1.00,2.00,3.00

倒序輸出這三個數為:3.00,2.00,1.00

『玖』 4個數比較大小,結果從小到大排列,用C語言怎麼編

1、首先雙擊打開桌面上的C-Free5編程軟體。

『拾』 c語言輸入任意5個實數,按照由大到小排序輸出

用C語言實現如下功能:從鍵盤輸入5個實數,可以使用冒泡排序法把他們降序輸出。

#include 「stdio.h」

main()
{
int a[8];

int j,i;

for(i=0;i<5;i++)
{
printf(「請輸入第%d個數:\n」,i+1);

scanf(「%d」,&a[i]);

}

for(i=0;i<;j++)

for(i=0;i<5–j;i++)
{
if(a[i]>a[i+1])
a[i+1]=a[i];

}

for(i=0;i<5;i++)
printf("\n排序後的結果是:%d\n",a[i]);
return 0;
}