C語言數字比大小要如何做呢,最近在複習這將近30天的題目,覺得C語言的數字比大小很重要,所以今天再來練習一次,下程式碼
#include <stdio.h>
int main()
{
int a,b,t;
scanf("%d%d", &a, &b);
printf("Before: %d %d\n", a, b);
if(a>b){
t=a;
a=b;
b=t;
}
printf("After: %d %d\n", a, b);
return 0;
}
上面的程式碼我們先宣告三的變數a、b和t要做比較的兩個變數,scanf讓鍵盤輸入兩個數字&a &b,if假設a大於b我們這邊配合跟temp暫存器觀念一樣的做法變數t,當a>b時依照t=a就是a存入暫存器裡,a=b就是b蓋掉a,b=t就是t存入b裡面了也就換成了a,這樣兩數就能由小到大了,最後就能將結果印出來了
輸入一整數N,代表整數的陣列大小,接著輸入一串陣列數字,接著反向輸出。範圍是1 <= N <= 499
範例輸入:
4
1 5 6 7
範例輸出:
7 6 5 1
我們要如何解決呢,我們可以使用C++的array,下程式碼
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main(int argc, char* argv[]) {
cin>>argc;
int N,array[argc]={};
for(int i=0;i<argc;i++){
cin>>N;
array[i]=N;
}
for(int j=argc-1;j>=0;j--){
cout<<array[j]<<" ";
}
return 0;
}
上面的程式碼中,我們的main函示中我們先cin>>argc他的大小,接著for迴圈給他跑i從1開始,i小於argc他的大小,i++就是i加一,for迴圈裡面cin輸入N我們使用者輸入的數字,接著array[i]=N就是陣列i元素的大小是N,接著第二個for迴圈就是將上面的那個陣列反向輸出,由argc-1開始跑就是倒過來第一個才-1,接著j>=0就是跑到大於0的數因為j一定大於1,最後輸出反向的數字就是我們要的結果