🌟菜鳥主頁:@晨非辰的主頁
👀學習專欄:《C語言刷題集》
💪學習階段:C語言方向初學者
?名言欣賞:"任何足夠先進的bug都與魔法無異。"
前言:刷題博客主要記錄在學習編程語言時,練習的一系列題目,比較適合C語言的初學者用來鞏固提高編程能力,其余可見專欄。
1. 三角形判斷
--題目鏈接:三角形判斷_牛客網
?思路——
- ?首先根據三角形判斷條件進行篩選輸入數值,符合則繼續判斷,不符則判斷下一組輸入;
- 選擇語句設置特殊三角形判斷條件
- 注意:循環條件中,判斷scanf返回數值(!=EOF)十分重要
代碼實現:
int main() {int a, b, c = 0;while (scanf("%d %d %d", &a, &b, &c) != EOF){ // 注意 while 處理多個 case// 64 位輸出請用 printf("%lld") to //判斷是滿足兩邊之和大于第三邊if ((a + b <= c) || (a + c <= b) || (b + c <= a)){printf("Not a triangle!\n");}//等邊三角形判斷else if (a == b && b == c){printf("Equilateral triangle!\n");}//等腰三角形判斷else if ((a == b) || (a == c) || (c == b)){printf("Isosceles triangle!\n");}else{printf("Ordinary triangle!\n");}}return 0;
}
2. X 型圖案
--題目鏈接:X型圖案_牛客網
?實現思路——
?????????--第一眼看輸出示例,感覺和多維數組的打印類似,那么就可以想到因該會有循環嵌套;
- 大體結構
? ? ? ? --最外層循環判斷輸入(2~20),條件單一,使用while循環;
? ? ? ? --中間嵌套一層for循環,觀察輸出(在?a×a
?矩陣打印兩條對角線(*
),其余位置填空格)
? ? ? ? --關鍵發現:
? ? ? ? ? ? ? ? --主對角線:行號?b
?== 列號?c
(如?(0,0)
、(1,1)
)。
? ? ? ? ? ? ? ? --副對角線:列號?c
?==?a - b - 1
(如?a=3
?時,(0,2)
、(1,1)
、(2,0)
)。
????????--?實現:用雙重循環遍歷每個位置?(b,c)
,滿足上述任意條件時打印?*
,否則打印空格。
每行結束換行。
int main()
{int a;while(scanf("%d", &a)!=-1){for(int b = 0;b < a;b++){for(int c = 0;c < a;c++){if(b == c){printf("*");}else if(c == a-b-1){printf("*");}else {printf(" ");}}printf("\n");}}return 0;
}
??
3.矩陣轉換
--題目鏈接:?矩陣轉換_牛客網
???
--實現思路:
? ? ? ? --看輸出示例,需要數組打印;
- 大體結構
? ? ? ? --定義完需要的變量后,先要進行數組內容輸入;一層for循環設置行數,嵌套第二層for循環設置列數,內部行、列輸入;
? ? ? ? --對于轉置輸出,需要將行、列顛倒,根據數組下標進行輸出; 一列一列的輸出;
// 矩陣轉置
int main()
{int n,m = 0;//行、列scanf("%d%d", &n, &m);//輸入確定行列int num[10][10];//行輸入數字int i, j = 0;for (i = 0; i < n; i++){//列輸入數值for (j = 0; j < m; j++){scanf("%d", &num[i][j]);}}//轉置for (i = 0;i < m; i++){for (j = 0; j < n;j++){printf("%d", num[j][i]);}printf("\n");}}
4. 逆序打印
題目鏈接:逆序打印_牛客網
?--這道題目大家應該都有思路,就不多bb了,直接上代碼:
int main()
{//創建數組,先初始化0int arr[10] = {0};//循環輸入for (int i = 0; i < 10; i++){scanf("%d", &arr[i]);}//循環打印for (int j = 9; j >= 0; j--){printf("%d ", arr[j]);}return 0;
}
結語:本篇內容收錄在《C語言刷題集》中,主要分享的是有關分支循環語句、數組題目的練習,難度不一,一定程度上能夠有效提升編程能力,喜歡的朋友們,三連后一起來學習吧!!!