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

排列組成最小數c語言

發布時間: 2022-06-26 19:23:12

『壹』 將組成整數的每個數字重新排列成一個最大和最小的數的c語言源程序責怎麼寫

C不是太熟,希望對你有點兒幫助。
首先是取得數字(如果是其他方式獲得,這部分程序就改掉)
比如用getchar();

然後,將所得的數字處理好。
這個就是什麼冒泡法什麼的了,隨便選擇方式。下面的方式比較好理解:多次循環,比較相鄰數組元素大小,看是否需要交換相鄰兩個變數的位置。

然後輸出。
比如用printf();

如果是已經在內存中的數字,需要用%運算符,將余數賦值給數組。這是因為第一種例子中的數是字元型的,每個數字實際上都是ASCII字元。而現在說的這個數字,可能是一個整形數,這樣就需要對其進行除以10取余數的運算。

加油!你肯定能寫好。

『貳』 C語言:冒泡排序法將數組中10個元素從小到大排序,並找出最小值

#include<stdio.h>

int main()

{

int a[11],min=0,t;

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

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

min=a[0];

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

if(a[i]<min)//求最小值

min=a[i];

for(int i=0;i<10;i++)//冒泡排序

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

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

{

t=a[j];

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

a[j+1]=t;

}

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

printf("%d ",a[i]);

printf(" %d",min);

return 0;

}

『叄』 用選擇排序搜索數組中的最小值【C語言】

void sort(int a[],int i,int n){
if(i==n) return ;
else {
int j;
int flag=i,t;
for(j=i;j<n;j++){
if(a[flag]>a[j]) flag=j;
}
if(flag!=j){
t=a[flag];
a[flag]=a[i];
a[i]=t;
}
sort(a,i+1,n);
}
}
void main(){
int a[10]={3,9,1,6,4,78,1,2,3,8};
int i;
printf("before sort:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\nafter sort:\n");
sort(a,0,10);
for(i=0;i<10;i++) printf("%d ",a[i]);
}

『肆』 C語言題目,輸入一個不超過20位的數,不改變位數,重新排列後輸出最小的數

//根據題意,實際上就是對輸入的數字進行從小到大的排序,一下代碼使用冒泡排序#include<stdio.h>int main() {
int num[20];
char *str=new char[20];
//初始化數組
for(int i=0;i<20;i++){
num[i]=-1;
str[i]='\n';
}
//輸入數據

cin>>str;
int i=0;
while(str[i]!=0)
{
num[i]=str[i]-48;
i++;
}
//排序
//冒泡排序
for(int i=0;i<20;i++){
for(int j=0;j<i;j++){
if(num[i]<num[j]){
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
for(int i=0;i<20;i++){
if(num[i]==-1){
continue;

}
else
{
printf("%d",num[i]);
}
}
return 0;
}

『伍』 c語言對整形數組進行排序,輸出其最小值和次最小值的序號如何做啊

C數組中, 找出最小、最大值你會吧, 其實這個思想跟找最大值是一樣的
首先, 定義兩個變數a,b用來存最小值和次最小值, 先比較數組的前兩個元素,把最小的賦值給a,次最小的賦值給b,
然後 利用循環 把數組的元素依次與a,b相比,①如果這個值比最小的小,那就把這個最小的重新賦值給a,原來的最小也就變為次最小,②如果這個值只比次最小值 小,那就只把次最小重新賦值,③ 如果這個值比a,b都大,則換下一個元素繼續比較,直到數組最後一個元素為止,

自己寫程序吧, 這樣才能學習的更深, 方法已經給你說了

『陸』 一個10個數排序並且記錄最大最小位置的C語言程序

帶符號的 char 只能表示最大 127 的正數。將 char a[10] 改成 int a[10] 就是了。

『柒』 C語言~十個數字從小到大怎麼排列~從大到小呢~

//要求任意輸入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;
}

『捌』 C語言中要把三個數從大到小排列出來應該怎麼編

初學簡單版本代碼如下:

#include<stdio.h>

int main( )

{

int a, b, c;//定義三個數的變數

int t ;//定義作為交換的變數

scanf ( "%d%d%d" , &a, &b, &c ) ; //取值

if ( a < b )

{t = a; a = b; b = t ;};//如果a,b,進行交換,反之不動

if ( a < c )

{t = a; a = c; c = t ;};//同上

if ( b < c )

{t = b; b = c; c = t ;};

printf( "%-5d%-5d%-5d " , a, b, c);//輸出

}

(8)排列組成最小數c語言擴展閱讀:

C語言中其他多個數排序的方法:

1、冒泡排序法

#include <stdio.h>

#define SIZE 8

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n)

{

int i, j, temp;

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

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

{

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

{

temp = a[i];

a[i] = a[i + 1];

a[i + 1] = temp;

} } }

int main()

{

int number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};

int i;

bubble_sort(number, SIZE);

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

{

printf("%d ", number[i]);

}

}

2、選擇排序

#include<stdio.h>

void main()//主函數

{

int a[10];

int i,j,w;

printf("請輸入10個數字: ");

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])//進行比較

//比較後進行交換

{

w=a[i];

a[i]=a[j];

a[j]=w;

}

『玖』 C語言把十個數按從小到大順序排列,結果輸出十個數都是最小的那個數,不知道哪裡錯了

#include<stdio.h>
intmain()
{
inta[10]={65,12,12,4,32,54,8,4,2,34},i,j,t;
/*
for(i=0;i<9;i++)
for(j=i+1;j<=9;j++)
if(a[i]<a[j])
{
t=a[i];a[i]=a[j];a[j]=t;
}
}
*/
//修改如下
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
for(j=0;j<10;j++)
{
printf("%d ",a[j]);
}
printf(" ");
}

『拾』 c語言 編程。 整數各位數重組構成的最大值與最小值

#include<string.h>
voidmain()
{
chars[10],i,j,t,k;
printf("輸入一個整數(不大於十位): ");
scanf("%s",&s);
k=strlen(s);
for(i=0;i<k;i++)
{
for(j=0;j<=i;j++)
if(s[i]>s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}
printf("Max=%s ",s);
printf("Min=");
for(i=k-1;i>=0;i--)
printf("%c",s[i]);
printf(" ");

}