㈠ c語言給數組中的數按從大到小的順序排序
#include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b) { return *(char*)a - *(char*)b; // 這里記住一定要用排序的元素類型的指針做強制裝換並且再取指針指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qsort(s, strlen(s), 1, cmp); printf("%s", s); return 0;}
㈡ C語言編程 數組從大到小排列
我是這樣想的啊,僅供參考
定義兩個變數 maxNum 和 minNum(類型應該是int吧)
然後把數組的第一個元素賦給這個兩個變數
進行FOR循環(從第二個元素開始)
比較當前元素與最大最小元素的大小
大了賦給maxNum
小了賦給minNum
用偽代碼表示:
maxNum=a[0]
minNum=a[0]
for(i=1;i<N;i++)
{
if(a[i]<minNum)
minNum=a[i]
if(a[i]>maxNum)
maxNum=a[i]
}
printf(最大值是maxNum,最小值是minNum)
不一定對
個人想法
㈢ C語言怎樣給一個數組中的數從大到小排序
#include "stdio.h"
int main()
{
int i,j;
int a[12];
for(i=1; i<=10; ++i)
scanf("%d",&a[i]);
for(i=1; i<10; ++i)
for(j=i; j<=10; ++j)
if(a[i]<a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
//前十個數的排序
for(i=1; i<=10; ++i)
printf("%d ",a[i]);
printf("\n");
printf("Input a new number: ");
scanf("%d",&a[11]);
for(i=10; i>0; --i)
if(a[i+1]>a[i])
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
else break;
//11個數的排序
for(i=1;i<=11; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
㈣ C語言如何用選擇法排序任意輸入十個數(從大到小、從小到大)
#include
<stdio.h>
main(void)
{
int
i,j,a[10],p=0,t=0,temp;
printf("請輸入原數組:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i])
//這是由小到大排序
如果是大到小則改為
if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序後的數組為:\n");
for(j=0;j<10;j++)
printf("%d
",a[j]);
}
㈤ c語言 數組 從大到小排序
我是這樣想的啊,僅供參考
定義兩個變數
maxnum
和
minnum(類型應該是int吧)
然後把數組的第一個元素賦給這個兩個變數
進行for循環(從第二個元素開始)
比較當前元素與最大最小元素的大小
大了賦給maxnum
小了賦給minnum
用偽代碼表示:
maxnum=a[0]
minnum=a[0]
for(i=1;i
maxnum)
maxnum=a[i]
}
printf(最大值是maxnum,最小值是minnum)
不一定對
個人想法
㈥ C語言中如何從大到小排列一個數組中的元素
先找不是0的元素個數
然後對前面部分進行排序即可。
函數如下
voidmy_sort(int*a)
{
intn,i,j;
intt;
for(n=0;a[n];n++);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
自己寫主函數 調用my_sort就好了。
㈦ c語言 數組 從大到小排序
#include<stdio.h>
int
main(void)
{
int
n,
i,
index,
k,
temp
=
0;
int
a[10];
printf("Enter
n:");
scanf("%d",
&n);
printf("Enter
%d
numbers:",
n);
for
(i
=
0;
i
<
n;
i++)
scanf("%d",
&a[i]);
for
(k
=
0;
k
<
n;
k++)
{
index
=
k;
for
(i
=
k
+
1;
i
<
n;
i++)
{
if
(a[i]
>
a[index])
index
=
i;
temp
=
a[index];
a[index]
=
a[k];
a[k]
=
temp;
}
}
for
(i
=
0;
i
<
n;
i++)
printf("%d",
a[i]);
return
0;
}
這是修改了的
你的思路沒錯,就是在第三個for後要個大括弧把
if(a[i]>a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;括起來。
㈧ c語言編程: 將一組數按從大到小的順序排序
#include <stdio.h>
main()
{
int x;
printf("請輸入要排序數字個數:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("輸入數據:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}
(8)c語言數組從大到小排序擴展閱讀:
include用法:
#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。
插入頭文件的內容
#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:
#include<math.h>//一些數學函數的原型,以及相關的類型和宏
如果需要包含針對程序所開發的源文件,則應該使用第二種格式。
採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。
㈨ C語言:用選擇法對數組中10個數按由大到小排序
#include<iostream>
using namespace std;
int main()
{
void select_sort(int arry[],int n)
int a[10],i;
for(i=0;i<=9;i++)
{
cin>>a[i];
}
cout<<endl;
cout<< select_sort(a,10); //函數調用,數組名作實參
for(i=0;i<=9;i++) //輸出10個已經排好序的數
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
void select_sort(int arry[],int n) //形參arry是數組名
{
int i,j,k,t;
for(i=0;i<=n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(arry[j]<arry[k])
{
k=j;
}
t=arry[k];
arry[k]=arry[i];
arry[i]=t;
}
}
}
運行結果:
(9)c語言數組從大到小排序擴展閱讀:
return表示把程序流程從被調函數轉向主調函數並把表達式的值帶回主調函數,實現函數值的返回,返回時可附帶一個返回值,由return後面的參數指定。
return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。如果函數執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函數執行的順利與否(-1和0就是最常用的狀態碼),主調函數可以通過返回值判斷被調函數的執行情況。
㈩ 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;
}
(10)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(" ");
}