M-L1-1 嫑廢話上代碼
Linux 之父 Linus Torvalds 的名言是:“Talk is cheap. Show me the code.”(嫑廢話,上代碼)。本題就請你直接在屏幕上輸出這句話。
輸入格式:
本題沒有輸入。
輸出格式:
在一行中輸出?
Talk is cheap. Show me the code.
。輸入樣例:
無
輸出樣例:
Talk is cheap. Show me the code.
#include <stdio.h>int main() {printf("Talk is cheap. Show me the code.\n");return 0; }
M-L1-2 九牛一毛
這是一道腦筋急轉彎題:豬肉一斤 15 元,雞肉一斤 20 元,那么一毛錢能買多少頭牛?
答案是:9 —— 因為“九牛一毛”。
本題就請你按照這個邏輯,計算一下?N?塊錢能買多少斤豬肉、多少斤雞肉、多少頭牛。
輸入格式:
輸入在一行中給出一個不超過 1000 的正整數?N,即以“元”為單位的貨幣量。
輸出格式:
在一行中順序輸出?N?塊錢能買多少斤豬肉、多少斤雞肉、多少頭牛。三個數字都只取整數部分,其間以 1 個空格分隔,行首尾不得有多余空格。
輸入樣例:
18
輸出樣例:
1 0 1620
#include <stdio.h> int main(){int n ;scanf("%d",&n);int num_cows = n / 0.1 * 9;// 計算能買多少斤豬肉和雞肉int num_pork =n / 15;int num_chicken = n / 20;// 輸出結果printf("%d %d %d\n", num_pork, num_chicken, num_cows);return 0; }
M-L1-3 小孩子才做選擇,大人全都要
阿汪面前有兩只盲盒,每只盒子打開都有兩種可能:或者裝了?X?克狗糧,或者是一只容量為?Y?克的狗糧儲蓄盒。如果是狗糧,阿汪可以快樂地吃掉;如果是空儲蓄盒,那就倒霉了,阿汪必須想辦法找到狗糧把這只儲蓄盒裝滿,自己還吃不到。
正當阿汪發愁不知道該怎么選的時候,鏟屎官大手一揮:“小孩子才做選擇,大人全都要!”但全都要的結果,卻不一定是賺了還是虧了……
我們假設聰明的阿汪總是能嗅出狗糧最多的盒子,并且絕不會選任何儲蓄盒。而鏟屎官沒有這樣的鼻子,他一定是全都要。鏟屎官如果打開了有儲蓄盒的盒子,就必須想辦法把儲蓄盒裝滿,他會優先用另一只盒子里的狗糧裝(如果另外一只盒子里有狗糧),不夠了還得自己去買新的狗糧,這樣阿汪可就虧啦,什么都吃不到了。本題就請你判斷阿汪到底是賺了還是虧了。
輸入格式:
輸入在一行中給出兩個整數,絕對值都不超過 100,中間用一個空格分開,分別代表兩只盒子里的東西。如果是正數就表示是狗糧的份量,如果是負數就表示絕對值是空盆的容量。兩個數都肯定不是 0,因為保證沒有空盒子。
輸出格式:
第一行輸出兩個結果:如果讓阿汪選能吃到的狗糧?A,和如果鏟屎官全都要能吃到的狗糧?B。兩個數字間用一個空格分開。如果鏟屎官的決定讓阿汪賺到了,就在第二行輸出一個笑臉?
^_^
,否則輸出一個哭臉?T_T
。但如果反正什么都吃不到(兩個盒子里都沒有狗糧),就輸出一張躺平臉?-_-
。輸入樣例 1:
12 18
輸出樣例 1:
18 30 ^_^
輸入樣例 2:
12 -18
輸出樣例 2:
12 0 T_T
/*#include <stdio.h> #include <math.h> int main() {int x, y;scanf("%d%d", &x, &y);// 如果兩個數的乘積小于0,說明一個是狗糧,一個是空盆if (x * y < 0) {// 選擇狗糧最多的盒子int a = (x > y) ? x : y;// 如果有空盆,鏟屎官全都要的狗糧就是狗糧多的盒子減去空盆的絕對值int b = (abs(x) > abs(y)) ? abs(x - abs(y)) : 0;printf("%d %d\n", a, b);printf("T_T"); // 輸出哭臉} // 如果兩個數的乘積大于0,說明兩個盒子都是狗糧或者都是空盆else if (x * y > 0) {// 選擇狗糧最多的盒子int a = (x > y) ? x : y;// 如果兩個盒子都是狗糧,鏟屎官全都要的狗糧就是兩個盒子狗糧的總和// 如果兩個盒子都是空盆,鏟屎官全都要的狗糧就是0int b = x + y;printf("%d %d\n", a, b);printf("^_^"); // 輸出笑臉} // 如果兩個數的乘積等于0,說明兩個盒子一個是狗糧一個是空盆else {printf("-_-"); // 輸出躺平臉}return 0; }*/ #include <stdio.h>int main() {int n, m;scanf("%d %d", &n, &m); // 從標準輸入讀取兩個整數if (n > 0 && m > 0) { // 如果兩個數都大于0int max = (n > m) ? n : m; // 選擇較大的數printf("%d %d\n", max, (n + m)); // 輸出結果printf("^_^"); // 輸出笑臉} else if (n > 0 && m < 0) { // 如果一個大于0一個小于0m = -m; // 將負數變為正數if (n < m) {printf("%d 0\n", n); // 輸出結果printf("T_T"); // 輸出哭臉} else {printf("%d %d\n", n, (n - m)); // 輸出結果printf("T_T"); // 輸出哭臉}} else if (n < 0 && m > 0) { // 如果一個小于0一個大于0n = -n; // 將負數變為正數if (m < n) {printf("%d 0\n", m); // 輸出結果printf("T_T"); // 輸出哭臉} else {printf("%d %d\n", m, (m - n)); // 輸出結果printf("T_T"); // 輸出哭臉}} else { // 如果兩個數都小于0printf("0 0\n"); // 輸出結果printf("-_-"); // 輸出躺平臉}return 0; }
M-L1-4 拯救外星人
你的外星人朋友不認得地球上的加減乘除符號,但是會算階乘 —— 正整數 N 的階乘記為 “N!”,是從 1 到 N 的連乘積。所以當他不知道“5+7”等于多少時,如果你告訴他等于“12!”,他就寫出了“479001600”這個答案。
本題就請你寫程序模仿外星人的行為。
輸入格式:
輸入在一行中給出兩個正整數 A 和 B。
輸出格式:
在一行中輸出 (A+B) 的階乘。題目保證 (A+B) 的值小于 12。
輸入樣例:
3 6
輸出樣例:
362880
#include <stdio.h> int main(){int x , y ;scanf("%d %d",&x,&y); // 從標準輸入讀取兩個整數,去掉多余的換行符\nint ret = 1 ; // 將ret初始化為1int sum = x + y;for(int i = 1; i <= sum; ++i ){ // 更改循環變量名為i,并修改循環邏輯ret *= i; // 計算階乘}printf("%d\n",ret);return 0; }
M-L1-5 試試手氣
我們知道一個骰子有 6 個面,分別刻了 1 到 6 個點。下面給你 6 個骰子的初始狀態,即它們朝上一面的點數,讓你一把抓起搖出另一套結果。假設你搖骰子的手段特別精妙,每次搖出的結果都滿足以下兩個條件:
- 1、每個骰子搖出的點數都跟它之前任何一次出現的點數不同;
- 2、在滿足條件 1 的前提下,每次都能讓每個骰子得到可能得到的最大點數。
那么你應該可以預知自己第?n?次(1≤n≤5)搖出的結果。
輸入格式:
輸入第一行給出 6 個骰子的初始點數,即 [1,6] 之間的整數,數字間以空格分隔;第二行給出搖的次數?n(1≤n≤5)。
輸出格式:
在一行中順序列出第?n?次搖出的每個骰子的點數。數字間必須以 1 個空格分隔,行首位不得有多余空格。
輸入樣例:
3 6 5 4 1 4 3
輸出樣例:
4 3 3 3 4 3
樣例解釋:
這 3 次搖出的結果依次為:
6 5 6 6 6 6 5 4 4 5 5 5 4 3 3 3 4 3
#include <stdio.h> int main () {int arr[6]={0};int n;for(int i = 0;i<6 ; ++i)scanf("%d",&arr[i]);scanf("%d",&n);int ret = 0;for( int i = 0 ;i<6;++i){if((7-n)>arr[i]){if(ret)printf(" ");ret = 1;printf("%d",7-n);}else{if(ret)printf(" ");ret = 1;printf("%d",7-n-1);}}return 0; }
M-L1-6 打PTA
傳說這是集美大學的學生對話。本題要求你做一個簡單的自動問答機,對任何一個問句,只要其中包含?
PTA
?就回答?Yes!
,其他一概回答?No.
。輸入格式:
輸入第一行給出一個整型范圍內的正整數 N,隨后 N 行,每行給出一個長度不超過 80 的字符串,為用戶輸入的句子,由英文字母、數字、空格和標點符號組成,以回車結束。
輸出格式:
對每一行句子,如果其結尾字符為問號?
?
?則判斷此句中有無?PTA
?如果有則在一行中輸出?Yes!
,否則輸出?No.
。如果不是問號結尾,則敷衍地回答?enen
。輸入樣例:
5 Hello! Do you still play WZRY? Chi Ji? you play PTA ah? how about pta site?
輸出樣例:
enen No. No. Yes! No.
#include<stdio.h> #include<string.h>char arr[100];char p[5]="PTA"; int main (){int n ,lent;scanf("%d",&n);getchar();while(n--){gets(arr);lent = strlen(arr);if(arr[lent-1]!='?'){printf("enen\n");continue;}if(strstr(arr,p)!=NULL){printf("Yes!\n");continue;}else{printf("No.\n");}} }