51Nod-1288 汽油補給 ST表 貪心 模擬
阿新 • • 發佈:2020-10-07
2.1 整數的四則運算
本題要求編寫程式,計算兩個正整數的和差積商並輸出,題目保證輸入和輸出全部在整形範圍內
輸入格式
輸入在一行中給出兩個正整數A和B
輸出格式
在4行中按照格式“A運算子B=結果”順序輸出和、差、積、商。
輸入樣例:
3 2
輸出樣例:
3+2=5
3-2=1
3*2=6
3/2=1
程式碼2.2.2 表示式:運算子優先順序
結合關係:單目和賦值自右向左,其他自左向右
一、關係運算符
- 優先順序低於算數運算子
printf("%d\n",7>=3+4);
- 優先順序高於賦值運算子
int r=a>0;
二、關係運算符中==和!=低於其他的
printf("%d\n",5>3==6>4);
三、連續的關係運算從左到右進行
printf("%d\n",6>5>4);
3.1.5 if語句
一、定義
一個基本的if語句由一個關鍵字if開頭,跟上一個在括號裡的表示條件的邏輯表示式,然後是一對大括號“{}”之間的若干條語句
如果表示條件的邏輯表示式的結果不是零,那麼就執行後面跟著的這對大括號中的語句,否則就跳過這些語句不執行,而繼續下面的其他語句
- 大括號裡只有一句時,可以省略大括號
- 無大括號時,else總是和最近的if匹配
- 在if或者else後始終加“{}”
二、級聯的if-else if
級聯:流程圖中一級一級連著,判斷成功就從右邊畫一道線從出口出去
三、if語句常見錯誤
- 忘了大括號
- if後面的分號
if()
;
- 錯誤使用==和=
- 使人困惑的else
3.2.3 應該做到的
- if和else之後必須加上大括號形成語句塊
- 大括號內的語句縮排一個tab的位置
3.1 成績轉換
本題要求編寫程式將一個百分制成績轉換為五分製成績,轉換規則:
- 大於等於90分為A;
- 小於90且大於80為B;
- 小於80且大於70為C;
- 小於70且大於60為D;
- 小於60為E。
輸入格式:
輸入在一行中給出一個整數的百分之成績。
輸出格式:
在一行中輸出對應的五分製成績。
輸入樣例:
90
輸出樣例:
A
switch if-else單出口 if-else多出口4.1.1 迴圈
1、輸入一個正整數,螢幕顯示該正整數的位數
1 #include<stdio.h>
2 int main()
3 {
4 int x;
5 int n=0;
6 printf("請輸入數字:");
7 scanf("%d",&x);
8 while(x>0){
9 n++;
10 x/=10;
11 }
12 printf("您輸入的位數是%d\n",n);
13 return 0;
14 }
驗證
- 測試程式常使用邊界資料,如有效範圍兩端的資料、特殊的倍數等
- 個位數
- 10
- 0
- 負數
在程式適當的地方插入pirntf來輸出變數的內容
如在迴圈體中加入
printf("x=%d,n=%d\n",x,n);
printf("hr1\n");//here
5 三種迴圈
Tips for loops
- 如果有固定次數用for
- 如果必須執行一次用do-while
- 其他情況用while
break vs continue
break:跳出迴圈
continue:跳出迴圈這一輪剩下的語句進入下一輪
判斷素數