『壹』 將組成整數的每個數字重新排列成一個最大和最小的數的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(" ");
}