C语言常见题目汇总(不断更新)(建议收藏)
前言:
C語言的常見題,對大家學習C語言會有一定的幫助,不斷地會收錄新題(含牛客網的習題)
沒有對題型進行分類,大家自行挑選對自己有用的題目
如果代碼有什么bug,或者你比我有更好的處理方法還請及時下方留言
如果還需要哪種題型也可以下方留言
感謝支持!!!
eg1.(斐波那契數列)非遞歸的
方法1:
int main() {int arr[30];//定義一個數組arr[0] = 0;//設置數組的第一個元素為0arr[1] = 1;//設置數組的第二個元素為1int i = 0;//定義一個循環變量for (i = 2; i < 30; i++){arr[i] = arr[i - 1] + arr[i - 2];//從第三個元素開始等于前兩個元素的和 循環去賦值}for (i = 0; i < 30; i++){printf("%d\n", arr[i]);//循環把元素都打印出來}return 0; }方法2:遞歸求解
int fib(int n) {if (n == 0)//第一個原素打印 0{return 0;}if (n <= 2 && n > 0)//第一個元素打印1{return 1;}else//從第三個元素開始遞加{return fib(n - 1) + fib(n - 2);}} int main() {int i = 0;for (i = 0; i < 20; i++){int ret = fib(i);//打印斐波那契數列printf("%d\n", ret);}return 0; }效果如圖:
方法3:(變式)求斐波那契數列的第n個元素
#pragma warning(disable : 4996) #include <stdio.h> int fib(int n) {int result = 1; int pre_result = 1;int next_preresult ;while (n > 2) //從第三個數字才開始有規律 數值等于前兩個相加{n = n - 1;next_preresult = pre_result;pre_result = result;result = pre_result + next_preresult;}return result; } int main() {printf("請你輸入想要查詢的n的數值\n");int n = 0;scanf("%d", &n);//捕獲你想查詢的數字int ret = fib(n);//接收算出來的返回值(n所對應的斐波那契數列數值)printf("%d", ret);return 0; }效果如圖:
eg2.字符金字塔(輸入一個字符輸出相應字符所對應的金字塔)
#include <stdio.h> int main() {char a;scanf("%c", &a);int i = 1;//行int j = 1;for (i = 1; i <= 5; i++)//從第一行開始 一共有5行{for (j = 5-i; j >=0; j--)//打印空格 空格從第一行到第五行空格是遞減的 第一行四個空格第五行沒有空格,所以利用循環 5-i表示打印的空格數去打印空格{printf(" ");}for (j = 1; j <= i; j++)//一行有幾個字符取決于字符在第幾行,在第幾行打印打印幾個字符{printf("%c ", a);}printf("\n");//循環完打印完一行換行}return 0; }效果如圖:
(變式)打印菱形? ? (與上方的打印方法基本一致加一步打印倒三角)
//} #include <stdio.h> int main() {char a;scanf("%c", &a);int i = 1;//行int j = 1;//打印上三角for (i = 1; i <= 5; i++)//從第一行開始 一共有5行{for (j = 5-i; j >=0; j--)//打印空格{printf(" ");}for (j = 1; j <= i; j++){printf("%c ", a);}printf("\n");}//打印倒三角for (i = 4; i>=1; i--)//從第一行開始 一共有5行{for (j = 5 - i; j >= 0; j--)//打印空格{printf(" ");}for (j = 1; j <= i; j++){printf("%c ", a);}printf("\n");}return 0; }效果如圖:
?(變式)根據自己需求打印多少行的菱形
#include <stdio.h> int main() {char a;int n = 0;scanf("%c %d", &a, &n);int i = 1;//行int j = 1;//打印上三角for (i = 1; i <= n; i++)//從第一行開始 一共有5行{for (j = n-i; j >=0; j--)//打印空格{printf(" ");}for (j = 1; j <= i; j++){printf("%c ", a);}printf("\n");}//打印倒三角for (i = n-1; i>=1; i--)//從第一行開始 一共有5行{for (j = n - i; j >= 0; j--)//打印空格{printf(" ");}for (j = 1; j <= i; j++){printf("%c ", a);}printf("\n");}return 0; }效果如圖:?
eg3. 反向輸出一個四位數字(逆序輸出)
?效果如圖:
eg4. (利用海倫公式)計算三角形的周長和面積
#include <stdio.h> #include <math.h> int main() {int a = 0;//定義三個整形數據int b = 0;int c = 0;scanf("%d %d %d", &a, &b, &c);//錄入數據if (a + b >= c && a - b <= c)//判斷是否滿足三角形的的前提條件{float zc = (float)(a + b + c);//將周長強制轉換成浮點類型float S = 0;//定義一個浮點類型的面積Sfloat p = 0;//定義一個浮點型的半周長pp = (float)(zc / 2);//初始化pfloat n = (float)((p - a) * (p - b) * (p - c));//利用海倫公式float f = p * n;S = sqrt(f);printf("circumference=%.2f area=%.2f\n", zc, S);}}?效果如圖:
?
海倫公式:相關海倫公式的介紹(點擊即可查詢)
eg 5.井字棋(簡單版沒有棋盤)(同往期博客的三子棋游戲)
#include <stdio.h> char fun(char arr[3][3]) {int i = 0;for (i = 0; i < 3; i++)//豎著的三種情況(一列){if (arr[0][i] == arr[1][i] && arr[1][i] == arr[2][i])//利用循環對i進行變化去判斷一列的元素是不是相等{return arr[0][i];//返回那個下標元素 }}for (i = 0; i < 3; i++)//橫著的三種情況(一行){if (arr[i][0] == arr[i][1] && arr[i][1] == arr[i][2])//利用循環對i進行變化去判斷一行的元素是不是相等{return arr[i][0];//返回那個下標元素 }}//判斷主對角線上的三個元素if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2])//利用主對角線所對應坐標去判斷元素是否相等{return arr[0][0];//返回那個下標元素 }//判斷副對角線上的三個元素if (arr[0][2] == arr[1][1] && arr[1][1] == arr[2][0])//利用副對角線所對應坐標去判斷元素是否相等{return arr[1][1];//返回那個下標元素 }else //都不是就返回一個平局{return 'Q';//Q代表平局}} int main() {char arr[3][3] = { 0 };//初始化棋盤int i = 0;int j = 0;for (i = 0; i < 3; i++)//循環對棋盤進行初始化{for (j = 0; j < 3; j++){scanf("%c", &arr[i][j]);//錄入元素getchar();//清除換行}}char str = fun(arr);//調用判斷輸贏的fun函數if (str == 'K')//返回的K就是kiki贏{printf("KiKi wins!\n");}else if (str == 'B')//返回的B就是kiki贏{printf("BoBo wins!\n");}else {printf("No winner!\n");//上面兩種情況 都不是就是都沒贏}return 0; }?效果如圖:
1.主對角線情況
?
2.副對角線情況
3.一列的情況
4.一行的情況
5..都沒贏的情況
?
eg 6.? 相關質數的求法
#include <stdio.h> int main() {int i = 0;int j = 0;for (i = 2; i < 10; i++)//從2-10的數字(這里的10是可以改動的){for (j = 1; j < i; j++)//從1開始設置被除數小于數字本身即可{if (i % j == 0 && j != 1)//判斷哪些數字不滿足題目要求(判斷一下除了自身和1還沒有可以整除的數字 如果有進入if語句停止循環 所對應的數字不是質數){break;//有一個本身及1的被除數外即停止本次循環}}if (i == j)//這些數字都是循環完整一邊后(j的數值不滿足小于i)才跳出來的(這就證明這些數字都是只能被本身和1整除的 所以他們是質數){printf("%d ", i);//打印出來這些質數}}return 0; }?效果如圖:(10以內的質數)(10可以改變)
方法 2 :篩選法求質數(素數)(從2開始的后面的數組元素只要可以被2整除全部置成0,以此類推可以被3,4,5等等整除的數字全部置成0)(最終數組剩下的元素即為質數)
#include <stdio.h> int main() {int n = 0; //設置你想打印從數字2到數字幾(n所對應的數值)int arr[100] = { 0 };//定義一個數組用來存放 數字 2~nwhile (scanf("%d", &n) != EOF)//輸入n的數值{int i = 0;int j = 0;for (i = 2; i <= n; i++)//從2開始存進數組中{arr[j] = i;//以i為循環變量去把從2~n的數值賦值進數組里j++;}//對數組全部的元素進行訪問 從2開始的后面的數組元素只要可以被2整除全部置成0,以此類推可以被3,4,5等等整除的數字全部置成0)(最終數組剩下的元素即為質數)for (i = 2; i <= n; i++){for (j = 0; j <= n - 2; j++){if (i != arr[j]){if (arr[j] % i == 0){arr[j] = 0;}}}}for (i = 0; i <= n; i++){if (arr[i] != 0)//數組元素中不是0的給他打印出來就是質數{printf("%d ", arr[i]);}}printf("\n");}return 0; }eg 7.計算球體的體積
#include <stdio.h> #include <math.h> #define pi 3.1415926 定義一個宏 是π的數值 int main() {float r = 0;scanf("%f", &r); //輸入半徑float mid = (float)4/(float) 3;//注意一定要對4/3的每個元素進行強制類型轉化 因為3和4都是整型變量所以4/3的結果也是整型,所以需要強制轉化 這樣才可以輸出 4/3的數值double V = mid * pow(r, 3) * pi;//球的體積公式printf("%.3lf", V);return 0; }eg 8. 2的n次方 (特殊方法)
不使用累計乘法的基礎上,通過移位運算(<<)實現2的n次方的計算。
#include <stdio.h> #include <math.h> int main() {int a = 0;while(scanf("%d", &a) != EOF) {//高效的實現可以使用左移,移動a位即為2的a次方printf("%d\n", 1 << a);}return 0; }方法 2 :一般方法直接利用C語言的庫函數pow
#include <stdio.h> #include <math.h> int main() {int n = 0;scanf("%d", &n);int ret = pow(2, n);printf("%d", ret);return 0; }eg 9 .變種水仙花數
#include <stdio.h> int LilyNumber(int i) {int flag = 0;//定義了一個判斷變量int a = 0;int b = 0;int c = 0;int d = 0;a = i % 10000 * (i / 10000);//獲取10000-100000數字的每一位b = i % 1000 * (i / 1000);c = i % 100 * (i / 100);d = i % 10 * (i / 10);if (a + b + c + d == i){flag = 1;//如果加在一起相等flag變成1 就是滿足條件的數字}return flag; } int main() {int i = 0;for (i = 10000; i < 100000; i++){int ret = LilyNumber(i);//循環調用函數去打印出數字if (ret == 1){printf("%d ", i);}}return 0; }eg 10.三角形判斷
#pragma warning(disable : 4996) #include <stdio.h> int main() {int a, b, c;while (scanf("%d %d %d", &a, &b, &c) != EOF){if (a + b > c && a - b < c)//滿足三角形大條件{//再判斷下面三類三角形if (a == b && b == c && c == a){printf("Equilateral triangle!\n");}else if (a == b || c == a || c == b){printf("Isosceles triangle!\n");}else if (a * a + b * b == c * c || c * c + b * b == a * a || a * a + c * c == b * b){printf("Right angle!\n");}else{printf("Ordinary triangle!\n");}}else//不滿足三角形大條件{printf("Not a triangle!\n");}}return 0; }eg 11.簡單計算器
#include <stdio.h> int main() {double a = 0.0;double b = 0.0;char c = 0;while(scanf("%lf%c%lf",&a,&c,&b)!=EOF)//輸入兩個數字和一個運算符 進去計算就好了{double sum = 0.0;if(c=='+'){sum = a+b;printf("%.4lf+%.4lf=%.4lf\n",a,b,sum);}else if(c=='-'){sum = a-b;printf("%.4lf-%.4lf=%.4lf\n",a,b,sum);}else if(c=='*'){sum = a*b;printf("%.4lf*%.4lf=%.4lf\n",a,b,sum);}else if(c=='/'){sum = a/b;if(b==0){printf("Wrong!Division by zero!\n");}else{printf("%.4lf/%.4lf=%.4lf\n",a,b,sum);}}else{printf("Invalid operation!\n");}}return 0; }eg 12.打印線圖案
#include <stdio.h> int main() {int n = 0;while(scanf("%d",&n)!=EOF){int i = 0;for( i = 0 ; i < n ;i++)//循環按需求打印*個數{printf("*");}printf("\n");}return 0; }?
eg 13. 打印正方形
#include <stdio.h> int main() {int n = 0;while(scanf("%d",&n)!=EOF){int i = 0;int j = 0;for( i = 0 ;i < n ;i++ ){for( j = 0 ;j < n ;j++){printf("* ");}printf("\n");}} }eg 14.打印直角三角形
#include <stdio.h> int main() {int n = 0;while (scanf("%d",&n)!=EOF){int i = 0;int j = 0;for(i = 0;i < n;i++){for(j = 0 ;j <= i;j++ )//j<=i(*的個數小于等于行數就可以打印出來){printf("* ");}printf("\n");}}return 0; }?
eg 15.打印倒三角
#include "stdio.h"int main(){int x=0;int i,j,k;while(scanf("%d",&x)!=EOF) {k=x;for(i=1;i<=x;i++){ for(j=1;j<=k;j++)//同打印正三角一樣就是從多*向少*打印{printf("* ");}k--;//打印一行后減少下次打印*的個數printf("\n");} }return 0; }eg 16.打印靠右的三角?
#include<stdio.h> int main(){int n,i,j;while(~scanf("%d",&n)){for(i=0;i<n;i++){for(j=0;j<n;j++){if(j<n-i-1) printf(" ");else printf("* ");}printf("\n");}} }eg 16.打印金字塔(同上代碼一致就是if條件句是打印1個空格,上面題目打印的是兩個空格)
#include<stdio.h> int main(){int n,i,j;while(~scanf("%d",&n)){for(i=0;i<n;i++){for(j=0;j<n;j++){if(j<n-i-1) printf(" ");else printf("* ");}printf("\n");}} }?
eg 17. 打印倒金字塔
#include <stdio.h> int main() { int a = 0; while (~scanf("%d", &a)) { for (int b = 0; b < a; b++) { for (int c = 0; c < b; c++) { printf(" "); } for (int d = 0; d < a-b; d++) { printf("* "); }printf("\n"); } }return 0; }eg 18. 打印k形圖案
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i <= n; i++)//打印上三角{for (j = n-i; j >= 0; j--)//*數量隨著行數+而-1{printf("* ");}printf("\n");}for (i = 1; i <= n; i++)//打印下三角{for (j = 1; j <=i+1; j++)//每一行的*數量等于行數+1{printf("* ");}printf("\n");}}return 0; }?
eg 19. 打印箭頭形圖案
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i <= n; i++)//上半部分{for (j = 2 * n - (2 * i); j > 0; j--){printf(" ");}//打印空格for (j = 0; j <= i; j++){printf("*");}printf("\n");}for (i = 1; i <= n; i++){for (j = 1; j <= 2 * i; j++){printf(" ");}for (j = n - i + 1; j >= 1; j--){printf("*");}printf("\n");}}return 0; }eg 20. 打印反斜線
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++)//打印行數{for (j = 0; j < i;j++){printf(" ");}printf("*");printf("\n");}}return 0; }eg 21. 正斜線(與反斜線基本一致)(就是打印空格的代碼略有區別)
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++)//打印行數{for (j = n-1-i; j >0; j--){printf(" ");}printf("*");printf("\n");}}return 0; }eg 22.打印X形
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i == j || j == n - i - 1){printf("*");}else{printf(" ");}}printf("\n");}}return 0; }?
eg 22.空心正方形
#include <stdio.h> int main() {int n = 0;while ((scanf("%d", &n) != EOF)){int i = 0;for (i = 0; i < n; i++){int j = 0;for (j = 0; j < n; j++){if (i == 0 || i == n - 1 || j == 0 || j == n - 1)//把不滿足條件的點扣掉{printf("* ");//滿足要求的打印*}else{printf(" ");//其他不滿足的點置成空格}}printf("\n");}}return 0; }?eg 23.空心三角形
#include <stdio.h> int main() {int n = 0;while (scanf("%d", &n) != EOF){int i = 0;int j = 0;for (i = 0; i < n; i++)//行數{for (j = 0; j < n; j++){if (i == j || j == 0 || i == (n - 1)){printf("* ");}else{printf(" ");}}printf("\n");}}return 0; }?
?eg 24.有序序列插入一個數
#include <stdio.h> void sort(int arr[], int n) {int i = 0;int j = 0;int temp = 0;for (j = 1; j <= n; j++){for (i = 0; i <= n - j; i++){if (arr[i] > arr[i + 1]){temp = arr[i];arr[i] = arr[i + 1];arr[i + 1] = temp;}}} } int main() {int arr[50] = { 0 };int n = 0;scanf("%d", &n);int i = 0;for (i = 0; i < n; i++)//輸入數組元素{scanf("%d", &arr[i]);}int cr = 0;scanf("%d", &cr);//輸入想要插入的數組arr[n] = cr;//把想插入數組的元素賦值給數組sort(arr, n);//將插入好的數組進行冒泡排序for (i = 0; i <= n; i++)//打印出排序好的數組{printf("%d ", arr[i]);} }eg 25. 圖片相似度
#include <stdio.h> int main() {int arr[10][10] = { 0 };int brr[10][10] = { 0 };int m = 0;int n = 0;int count = 0;scanf("%d %d", &m, &n);int i = 0;int j = 0;for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &arr[i][j]);//初始化數組}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){scanf("%d", &brr[i][j]);//初始化數組}}for (i = 0; i < m; i++){for (j = 0; j < n; j++){if (arr[i][j] != brr[i][j])//訪問兩個數組 如果元素不一樣{count++;//計數器+1}}}int sum = n * m;//總元素int s = sum - count;//得到一樣元素的數量float ret = (float)s / sum;//算出比例printf("%.2f", ret*100);return 0; }eg 26. 有序數組判斷(升序or降序)
#include <stdio.h> int main() {int n = 0;int count1 = 0;int count2 = 0;int arr[50] = { 0 };int i = 0;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &arr[i]);//初始化數組}for (i = 1; i < n - 1; i++){if (arr[i] >= arr[i - 1] && arr[i + 1] >= arr[i])//判斷數組元素的相鄰元素是否滿足升序或者是降序的標準{count1++;//滿足升序計數器++}if (arr[i] <= arr[i - 1] && arr[i + 1] <= arr[i]){count2++;//滿足降序計數器++}}if (count1 == (n - 2) || count2 == (n - 2))//判斷如果計算器數量滿足n-2即可因為是從第二個元素到倒數第二個元素 所以這里的n需要-2{printf("sorted\n");}else {printf("unsorted\n");}return 0; }?
?eg 27.數組中刪除指定元素
#include <stdio.h> int main() {int n = 0;int arr[50] = {0};int i = 0;scanf("%d",&n);for(i = 0;i < n; i++){scanf("%d",&arr[i]);初始化數組}int shan = 0;scanf("%d",&shan);//輸入那個需要刪除的數組for (i = 0;i < n;i++){if(arr[i]==shan)//去循環判斷如果等于數組中的元素{arr[i] = 0;//將數組中的那個對應元素 賦值成0}}for (i = 0;i < n;i++){if(arr[i]!=0)//不打印0把其他的都打印出來{printf("%d ",arr[i]);}}return 0; }eg 28.數組去重
#include <stdio.h> int main() {int n = 0;int arr[1000] = { 0 };int i = 0;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &arr[i]);//初始化數組}int j = 0;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (i != j)//訪問下標元素 在不是其本身的條件下去進行循環判斷{if (arr[i] == arr[j])//如果有重合元素{arr[j] = 0;//把該元素賦值成0}}}}for (i = 0; i < n; i++)//打印出來{if (arr[i] != 0){printf("%d ", arr[i]);}}return 0; }?
eg 29.有序數組合并
#include <stdio.h> int main() {int n = 0;int m = 0;scanf("%d %d", &m, &n);int num = m;int arr[5000] = { 0 };//定義兩個數組int brr[5000] = { 0 };int i = 0;int j = 0;for (i = 0; i < m; i++){scanf("%d", &arr[i]);//初始化這兩個數組}for (j = 0; j < n; j++){scanf("%d", &brr[j]);}int crr[10000] = { 0 };//定義一個大的數組for (i = 0; i < m; i++){crr[i] = arr[i];//把arr數組的元素賦值給crr數組的前半段}for (i = 0; i < n; i++){crr[num] = brr[i];//把brr數組的元素賦值給crr數組的后半部num++;}for (j = 1; j < m + n; j++)//合并完保證是升序的 進行冒泡排序{for (i = 0; i < (m + n) - j; i++){if (crr[i] > crr[i + 1]){int temp = crr[i];crr[i] = crr[i + 1];crr[i + 1] = temp;}}}for (i = 0; i < m + n; i++)//最后打印出來{printf("%d ", crr[i]);}return 0; }?
eg 30. 上三角形矩陣判斷
#include <stdio.h> int main() {int n = 0;scanf ("%d",&n);int i = 0;int j = 0;int arr[10][10] = {0};int count = 0;for (i = 0; i < n; i++){for (j = 0;j < n;j++){scanf("%d",&arr[i][j]);//初始化數組}}for (i = 0; i < n; i++){for (j = 0;j < n;j++){if (i !=j && j < n-1 && i != 0)//去訪問這些下表的元素看看他們是不是都是0{if (arr[i][j] == 0){count++;//是0計數器+1}}}}if (count==n*(n-1)/2)//上三角矩陣的0的個數 等于階數*(階數-1)/2{printf("YES\n");}else{printf("NO\n");}return 0; }eg 31.矩陣轉置 (通過交換循環變量就可以實現)
#include <stdio.h> int main() {int n = 0;//行int m = 0;//列scanf("%d %d", &n, &m);int arr[10][10] = { 0 };int i, j;for (j = 0; j < n; j++){for (i = 0; i < m; i++){scanf("%d", &arr[i][j]);}}for (j = 0; j < m; j++){for (i = 0; i < n; i++){printf("%d ", arr[j][i]);}printf("\n");}}eg 32. 楊輝三角
#include <stdio.h> int main() {int n = 0;scanf("%d", &n);int i = 0;int j = 0;int arr[30][30] = { 0 };for (i = 0; i < n; i++){for (j = 0; j <= i; j++){if (j == 0)//第一列的元素全是1{arr[i][j] = 1;}else if (j == i)//對角線的元素都是1{arr[i][j] = 1;}else//其他的元素都等于上一行的元素+上一行左一列的元素和{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}}}for (i = 0; i < n; i++)//打印出來楊輝三角{for (j = 0; j <= i; j++){printf("%5d", arr[i][j]);}printf("\n");}return 0; }eg?33.矩陣交換
#include <stdio.h> int arr[10][10]; void swapr(int m, int a, int b) {int temp;for(int i = 0; i < m;i++)//交換對應下標元素{temp = arr[a][i];arr[a][i] = arr[b][i];arr[b][i] = temp;} } void swapc(int n,int a, int b)//交換對應下標元素 {int temp;scanf("%d%d",&a,&b);for(int i = 0; i < n;i++){temp = arr[i][a];arr[i][a] = arr[i][b];arr[i][b] = temp;} } int main() {int n,m,k,a,b;char func;scanf("%d%d",&n,&m);for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){scanf("%d",&arr[i][j]);//初始化數組}}scanf("%d",&k);//輸入需要變化幾次while(k){scanf(" %c%d%d",&func,&a,&b);if(func == 'r')//行變換{swapr(m,a-1,b-1);//調用函數}if(func == 'c')//列變化{swapc(n,a-1,b-1);//調用函數}k--;}for(int i = 0; i < n; i++){for(int j = 0; j < m; j++)//打印出來變化后的數組{printf("%d ",arr[i][j]);}printf("\n");} }eg 33.模擬實現計算器
#include <stdio.h> //模擬實現計算器函數指針 int add(int x,int y) {return x + y; } int sub(int x, int y) {return x - y; } int cheng(int x, int y) {return x * y; }void calc(int (*pf)(int, int)) {int ret = pf(3, 5);printf("%d", ret); } int main() {calc(add);printf("\n");calc(sub);printf("\n");calc(cheng);return 0; }’
總結
以上是生活随笔為你收集整理的C语言常见题目汇总(不断更新)(建议收藏)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广数25i系统倒刀回刀m代码_广数系统编
- 下一篇: WinRAR5.40版 无广告