第一個 自己想出來的小程式
第一週程式設計作業
1.題目內容:
題目內容:
程式每次讀入一個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的 0 時,
輸出不應帶有前導的 0。比如輸入 700,輸出應該是 7。
輸入格式:
每個測試是一個 3 位的正整數。
輸出格式:
輸出逆序的數。
輸入樣例:
123
輸出樣例:
321
#include <stdio.h>
int main(void)
{
int a; //建立一個整形變數a用以儲存三位數
printf("請輸入一個三位數:\n");
scanf("%d",&a);
int first = a / 100; //三位數倒數的個位
int b = a / 10;
int second = b - first*10; //三位數倒數的十位
int third = a - (first*100 + second*10); //三位數倒數的百位
int num = third*100 + second*10 + first; //倒數
printf("輸入的%d的倒數是%d",a,num);
return 0;
}
這一段程式碼不夠精簡,還有改進的地方:
int b=a/10;
int SECOND=b%10; //三位數倒數的十位
int THIRD=b/10; //三位數倒數的百位
訊號報告(5分)
題目內容:
無線電臺的RS制訊號報告是由三兩個部分組成的:
· R(Readability) 訊號可辨度即清晰度.
· S(Strength) 訊號強度即大小.
其中R位於報告第一位,共分5級,用1—5數字表示.
· 1---Unreadable
· 2---Barely readable, occasional words distinguishable
· 3---Readable with considerable difficulty
· 4---Readable with practically no difficulty
· 5---Perfectly readable
報告第二位是S,共分九個級別,用1—9中的一位數字表示
· 1---Faint signals, barely perceptible
·
· 3---Weak signals
· 4---Fair signals
· 5---Fairly good signals
· 6---Good signals
· 7---Moderately strong signals
· 8---Strong signals
· 9---Extremely strong signals
現在,你的程式要讀入一個訊號報告的數字,然後輸出對應的含義。如讀到59,則輸出:
Extremely strong signals, perfectly readable.
請以字串陣列的方式來實現這個程式。
輸入格式:
一個整數,訊號報告。整數的十位部分表示可辨度,個位部分表示強度。輸入的整數範圍是[11,59]中的個位不為0的數字,這個範圍外的數字不可能出現在測試資料中。
輸出格式:
一句話,表示這個訊號報告的意義。按照題目中的文字,先輸出表示強度的文字,跟上逗號和空格,然後是表示可辨度的文字,跟上句號。注意可辨度的句子的第一個字母是小寫的。注意這裡的標點符號都是英文的。
輸入樣例:
33
輸出樣例:
Weak signals, readable with considerable difficulty.
時間限制:500ms記憶體限制:32000kb
#include <stdio.h>
int main(void)
{
int a;
printf("input 兩位[11-59]個位不為0的 integer number:");
scanf("%d",&a);
int b=a%10; //個位數字轉換訊號
switch
(b){
case
1:printf("Faint signals,barely perceptible,");
break;
case
2:printf("Very weak signals,");
break;
case
3:printf("Weak signals,");
break;
case
4:printf("Fair signals,");
break;
case
5:printf("Fairly good signals,");
break;
case
6:printf("Good signals,");
break;
case
7:printf("Moderately strong signals,");
break;
case
8:printf("Strong signals,");
break;
case
9:printf("Extremely strong signals,");
break;
}
int c=a/10; //十位數字轉換訊號
switch
(c){
case
1:printf("unreadable.");
break;
case
2:printf("barely readable,occasional words distinguishable.");
break;
case
3:printf("readable with considerable difficulty.");
break;
case
4:printf("readable with practically no difficulty.");
break;
case
5:printf("perfectly readable.");
break;
}
return 0;
}