C語言實現 輸入數字按從小到大排序
首先看最簡單的2個數的比較排序。
方法一:
最最簡單、直接的方法,利用比較。
#include <stdio.h>
int main()
{
int x,y;
int tem;
printf("請輸入兩個數:\n");
scanf("%d",&x);
scanf("%d",&y);
printf("x=%d\n",x);
printf("y=%d\n",y);
if(x>y)
{
tem=x;
x=y;
y=tem;
}
printf ("兩個數從小到大排序的結果為:\n");
printf("%d %d\n",x,y);
return 0;
}
方法二:
利用指標和函式呼叫實現。
#include <stdio.h>
void swap(int *a,int *b)
{
int tmp;
if(*a>*b)
{
tmp=*a;
*a=*b;
*b=tmp;
}
}
main()
{
int x,y;
int *p_x,*p_y;
printf("請輸入兩個數:\n");
scanf("%d",&x );
scanf("%d",&y);
printf("x=%d\n",x);
printf("y=%d\n",y);
p_x=&x;
p_y=&y;
swap(p_x,p_y);
printf("兩個數從小到大排序的結果為:\n");
printf("x=%d\n",x);
printf("y=%d\n",y);
return 0;
}
**
輸入任意數字進行排序
**
用冒泡法進行比較然後排序:
#include <stdio.h>
//氣泡排序,由低到高
int main()
{
int a[100];
int temp;
char c;
int i, j,k=0;
printf("輸入需要排序的數字:\n");
for(i=0; ;i++)
{
scanf("%d",&a[i]);
k++; //統計輸入數字的個數
c=getchar(); //接受回車符判斷結束
if(c=='\n')
break;
}
for (i = 1; i < k; i++) //氣泡排序
{
for (j = 0; j < i; j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
printf("從小到大排序後的結果為:\n");
for (i = 0; i < k; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
函式呼叫和指標共同實現:
#include <stdio.h>
void order(int a[],int n)
{
int i,t,j;
for(i=1;i<n;i++)
for(j=0;j<i;j++)
if(*(a+j)>*(a+j+1)) /*判斷相鄰兩個元素的大小*/
{
t=*(a+j);
*(a+j)=*(a+j+1);
*(a+j+1)=t; /*藉助中間變數t進行值互換*/
}
printf("排序後的陣列:");
for(i=0;i<n;i++)
{
printf("%5d",*(a+i));
}
}
int main()
{
int a[100],b,n=0;
int *d;
char c;
printf("輸入數字:\n");
d=a;
for(b=0; ;b++)
{
scanf("%d",&a[b]);
n++;
c=getchar();
if(c=='\n')
break;
}
d=a;
order(d,n);
}
相關推薦
C語言實現 輸入數字按從小到大排序
首先看最簡單的2個數的比較排序。 方法一: 最最簡單、直接的方法,利用比較。 #include <stdio.h> int main() { int x,y; in
C語言實現輸入一個數,輸出這個數的立方根
#include<stdio.h> int main() { double x,x1,x2,w; scanf("%lf",&x); x1=x; x2=(2.0*x1+x/(x1*x1))/3.0; w=(x2-x1)/x1; if(w&
C語言實現輸入一個數,輸出這個數的sin值
#include<stdio.h> double shang(double x,int n) { int i; double k=1; for(i=0;i<n;i++) { k=k*x; } return k; } int
C語言實驗——輸入數字星期,輸出英文(switch語句)
#include<stdio.h> int main() { int n; scanf("%d",&n); switch(n) { case 1: printf(“Monday”); break; case 2: printf(“Tuesday”); break; c
[Trie樹] 統計英文文字中單詞出現的個數 - C語言實現 - 考慮數字、英文
【英文文字】 However, after reaching the shore there are plenty of challenges waiting for him."The biggest challenge now is learning to walk agai
用c語言實現求數值的最大值。
對於求10個整數中的最大值這類問題,具體分析和解決辦法如下。 第一類:給定一個具體的陣列求陣列中的最大值 程式1: #include<stdio.h> #include<stdlib.h> int main(){ int arr[10] = { 1, 2,
1119-C語言實驗——輸入數字星期,輸出英文(switch語句)-JAVA
C語言實驗——輸入數字星期,輸出英文(switch語句) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 從鍵盤上輸
c語言實現輸入成績,輸出評分
方法一: #include <stdio.h> int main() { int a; printf("請輸入成績\n"); scanf("%d",&a); if(a>100||a<0) { printf("輸入錯誤
c語言實現輸入一個數,輸出這個數的sin的值
#include<stdio.h> double shang(double x,int n) { int i; double k=1; for(i=0;i<n;i++) { k=k*x;
C語言實現猜數字遊戲 全乾貨!
知識點:隨機數的生成: srand((unsigned)time(NULL)): srand函式是隨機數發生器的初始化函式。原型:void srand(unsigned seed); 用法:它初始化隨機種子,會提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的ran
C語言實現輸入的密碼與設定密碼進行比對,輸入密碼可以任意輸入。
int checkPasswd( char *src,int src_length, char * target,int target_length){ int i,j;int isOk;//引數檢測
大整數的四則運算(C語言實現)(2)——大整數的加法和減法運算
斷斷續續調了好久個演算法的程式碼終於除錯好了,廢話不多說了,直接說思路,然後上程式碼。上一篇文章介紹了大整數的輸入的處理,包括接收方式、儲存方式、前導零的處理等內容。本文接著上一篇的內容。簡述大整數加減運算的思路。首先對於加法運算,存在以下四種情況:
C語言實現輸入三角形兩邊邊長以及夾角求三角形第三邊邊長與面積
來源:大工慕課 連結 作者:Caleb Sung 解答示範 #include<stdio.h> #include<math.h> int main() { in
C++ 計166-1 C語言實驗——輸入數字星期,輸出英文
/*Description 從鍵盤上輸入數字星期,然後輸出它的英文: 其對應關係是 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 Sunday Input 從鍵盤輸入數字星期, Out
用c語言實現輸入和為n的迴文數
#include<stdio.h> int main() { int a,b,c,d,e,f,n; scanf("%d",&n); if(1<=n<=54) { f
C語言 對輸入的一個字串進行排序
#include <stdlib.h> #include <stdio.h> #include<string.h> void main() { char s
用C語言實現:將三個數按從大到小輸出。
temp clas 實現 ima 編程 程序 c語言實現 從大到小 code 這個題目用編程來實現非常簡單,由於我在上一篇博客中已經介紹過使用“冒泡排序”的方法。 所以我在這裏直接給出使用“冒泡排序”寫出的代碼: #include<stdio.h> int m
輸入一串字元,並判斷其中英文字元和數字字元的個數——C語言實現(C語言練習)
先看程式執行的結果,(文末有該程式的完整程式碼) 1、先寫好框架 #include<stdio.h> void main() { } 2、再定義所需要的變數 char str;//定義一個字元型變數 str int i=0,counte
用C語言實現:將數組A中的內容和數組B中的內容進行交換(數組一樣大)。
image pri 之前 es2017 sys 變量 ret 只需要 題目 之前我們已經完成了對兩個變量內容進行交換的程序,這兩道題目大同小異,不過是將兩數變成了兩數組。 可能我們會想:我們是不是需要第三個數組作為中間變量進行交換操作? 答案是no,我們只需要通過一個循環體
c語言實現按層次(廣度優先)非遞歸遍歷二叉鏈樹
child str sizeof att col std 二叉樹 頭結點 oot 1 #include<stdio.h> 2 #include<conio.h> 4 #include<malloc.h> 5 typedef cha