C語言中將三個數字進行排序的幾種寫法
網上關於這一問題的寫法其實很多,但是很多方法不具有實際的應用價值(比如單純使用if和else語句寫出六種可能做判別),當然這也不失為一種思路,這裡僅羅列出三種具有代表性的處理方法(三目運演算法、IF比較法、和IF比較的指標寫法)
//if語句依次比較大小排序 #include <stdio.h> int compare(int x,int y,int z) { int t=0; if(x<y) { t=x;x=y;y=t; } if(y<z) { t=y;y=z;z=t; } if(x<y) { t=x;x=y;y=t; } printf("the number from big to small is\n %d %d %d \n",x,y,z); } int main() { int a,b,c; printf("please input three numbers \n"); scanf("%d %d %d",&a,&b,&c); compare(a,b,c); return 0; }
//三目運算比大小 #include <stdio.h> int max(int x,int y,int z) { int max=0; max=x>y?x:y; max=max>z?max:z; return max; } int smaller(int x,int y,int z) { int smaller=0; smaller=x<y?x:y; smaller=smaller<z?smaller:z; return smaller; } int middle(int x,int y,int z) { int middle=0; middle=x+y+z-smaller(x,y,z)-max(x,y,z); return middle; } int main() { int a,b,c; printf("please input three numbers \n"); scanf("%d %d %d",&a,&b,&c); printf("the number from max to small is %d %d %d \n",max(a,b,c),middle(a,b,c),smaller(a,b,c)); return 0; }
//指標的使用與指標解引用 #include <stdio.h> int compare(int *x,int *y,int *z) { int t; if(*x<*y) { t=*x;*x=*y;*y=t; } if(*y<*z) { t=*y;*y=*z;*z=t; } if(*x<*y) { t=*x;*x=*y;*y=t; } printf("the number from big to small is\n%d %d %d \n",*x,*y,*z); } int main() { int a,b,c; printf("please input three numbers \n"); scanf("%d %d %d",&a,&b,&c); compare(&a,&b,&c); return 0; }
相關推薦
C語言中將三個數字進行排序的幾種寫法
網上關於這一問題的寫法其實很多,但是很多方法不具有實際的應用價值(比如單純使用if和else語句寫出六種可能做判別),當然這也不失為一種思路,這裡僅羅列出三種具有代表性的處理方法(三目運演算法、IF比較法、和IF比較的指標寫法)//if語句依次比較大小排序 #include
C語言交換兩個變數數值的幾種方法
因為經常見到這類題目,就自己總結了以下幾種辦法 1. 建立中間變數 這是最快也是最簡單的辦法,例如: #include<stdio.h> int main() { int a=10; int b=20; i
對三個數字進行降序排列-----java練習題
package com.test; import java.util.Scanner; /* 題目:鍵盤輸入輸入三個整數,並對三個數字進行降序排列。 */ public class Test2 {
Prog.C語言 題目:兩個乒乓球隊進行比賽
兩個乒乓球隊進行比賽,各出3人。 甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽籤決定比賽名單。 有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比, 請程式設計序找出3隊賽手的名單。 演算法實現 void tableTennisMatch(
C語言比較三個整數大小
三個數比大小:#include <stdio.h>int main(){int a,b,c;scanf("%d %d %d", &a, &b, &c);int max
C語言實驗——三個整數和、積與平均值
Problem Description 給出三個整數,請你設計一個程式,求出這三個數的和、乘積和平均數。 Input 輸入只有三個正整數a、b、c。 Output 輸出一行,包括三個的和、乘積、平均數。 資料之間用一個空格隔開,其中平均數保留小數後面兩位。 Sam
C語言從stdin讀取一行字串的幾種方法
C語言從stdin讀取一行字串的幾種方法 gets gets函式的標頭檔案是<stdio.h>,原型如下: char *gets(char *s); gets從stdin中讀入一行內容到s指定的buffer中,當遇到換行符或EOF時讀取結束。讀取成功時,返
c語言學習筆記:字串常見的幾種函式
首先在使用字串函式時請務必匯入#include<string.h>1.strlen:獲取當前字串的長度。2.strcpy:拷貝字串到另一個字串。如strcpy(A,B);其中A和B分別代表兩個字串變數,此方法的意思是copy字串B到A,第一個引數是目標地址,第二個
C語言輸入函式作為迴圈條件的幾種用法
C語言有 scanf()、gets()、getchar()、getc()、fscanf()、fgets()等函式 接受使用者的輸入。可以利用它們的返回值做迴圈的條件表示式。 1.scanf() 如果成功 返回引數的個數 int value; float c
C/C++程式設計題開頭字串、資料輸入幾種寫法
1、題設 在IT公司程式設計題中,多數會讓你一併寫上測試資料輸入和結果輸出的Demo,這也是程式設計師基本的功底。想一想如果連自己的測試資料都無法給入,後面的演算法寫的再好,也無法測試它的準確性和效果
【C語言】利用選擇法進行從小到大排序
選擇法思路: 取其中的最大值與最後一個數進行交換 假設一共有6個數組,我們用選擇法進行從小到大的排序; 6,5,4,2,3,1 第一次: 【6,5,4,2,3,1】->> 【1,5,4,2,3,6】 第二次:【1,5,4,2,3】,6 ->>【1
用c語言實現兩個陣列中的內容進行交換。(陣列一樣大)
方法一:建立新的陣列。 #include<stdio.h> #include<stdlib.h> int main() { int arr1[5] = { 1, 2, 3, 4, 5, }; int arr2[5] = { 0, 6, 7, 8, 9, }
C語言中將數字轉換為字串的方法
C語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串。以下是用itoa()函式將整數轉換為字串的一個例子: # include <stdio. h> # include <stdlib. h> void main (vo
C語言實驗——三個數排序
Problem Description 輸入三個整數x,y,z,請把這三個數由小到大輸出。 Input 輸入資料包含3個整數x,y,z,分別用逗號隔開。 Output 輸出由小到大排序後的結果,用空格隔開。 Example Input 2,1,3 Example
C語言:利用函式法進行冒泡法排序
題目來源:大工慕課 連結 作者:Caleb Sung 參考程式碼 #include<stdio.h> #include<stdlib.h> #include<ti
Untiy-->C# 氣泡排序與不用第三個變數實現排序
using UnityEngine; using System.Collections; public class pppp : MonoBehaviour { public int[] a = {2,3,1,4,6,7,8,9,0}; // Use this for
用C語言 將三個數從大到小排序
#include <stdio.h> int main() { double a = 0.0, b = 0.0, c = 0.0; double t = 0.0; printf("輸
JS實現輸出一個字符串中第一個連續的三個數字
數字 length 個數字 pri split ret () 第一個 spl 問題描述:在一個字符串中,輸出其中第一個連續的三個數字。例如:str="1234568" 輸出:1 2 3。 var printNum = function(){ var str =
LR中用C語言比較兩個字符串變量
nat [] 變量 end put tar 字符串 init rmi 以下腳本,定義兩個一樣的字符數組,對比後,打印出result的值: Action() { int result; char string1[] = "We can see the st
深入淺出數據結構C語言版(19)——堆排序
-- 解決辦法 訪問 nsf 可能 bre 操作 數據塊 src 在介紹優先隊列的博文中,我們提到了數據結構二叉堆,並且說明了二叉堆的一個特殊用途——排序,同時給出了其時間復雜度O(N*logN)。這個時間界是目前我們看到最好的(使用Sedgewick序列的希爾排序時間