C語言機試編程題

編寫版本:vc++2022

1.求最大/小值

#include<stdio.h>
int main(){int a[50],n;int max, min;printf("請輸入您要輸入幾個數");scanf_s("%d", &n);printf("請輸入您要比較的%d個數\n",n);for (int i = 0; i<n; i++) {scanf_s("%d", &a[i]);}max = min = a[0];for (int i = 0; i < n; i++) {if (a[i] > max) max = a[i];if (a[i] < min) min = a[i];}printf("max=%d,min=%d", max, min);return 0;
}

2.求一個三位數abc,使a的階乘+b的階乘+c的階乘=abc

#include<stdio.h>
//factorial 階乘
int jiecheng(int n) {int m=1;while (n != 0) {m *= n;n--;}return m;
}
int main() {int a, b, c;for (int abc = 100; abc <= 999; abc++) {a = abc / 100;b = abc / 10 % 10;c = abc % 10;if (abc == jiecheng(a) + jiecheng(b) + jiecheng(c))printf("%d\n", abc);}return 0;
}

3.求2/1,3/2,5/3,8/5,13/8,21/13,的前20項和

#include<stdio.h>
int main() {float sum = 2;int i = 1, j = 2;float k;for (int num = 1; num < 20; num++) {k = i + j;i = j;sum += k / i;j = k;}printf("%0.2f", sum);return 0;
}

4.求階乘

#include<stdio.h>
int main() {int N;int jiecheng=1;scanf_s("%d", &N);while (N != 0) {jiecheng *= N;N--;}printf("%d\n", jiecheng);return 0;
}

5.求10-1000之間所有數字之和為5的整數的個數

#include<stdio.h>
int main() {int count = 0;for (int i = 10; i <= 99; i++) {//兩位數if (i/10+i%10== 5)count++;}for (int i = 100; i <= 999; i++) {//三位數if ((i/100)+(i/10%10)+(i%10)== 5)count++;}printf("%d\n", count);return 0;
}

6.輸入字符串打印除小寫,元音,字母之外的。用數組

#include<stdio.h>
int main() {char a[50];scanf_s("%s", a, 50);for (int i = 0; a[i] != '\0'; i++)if (a[i] != 'a' && a[i] != 'e' && a[i] != 'i' && a[i] != 'o' && a[i] != 'u')printf("%c", a[i]);return 0;
}

scanf_s輸入字符串時,需要添加長度防止溢出

7.計算輸入的10個整數中的,偶數的和,偶數平均值(小數表示)

#include<stdio.h>
int main() {int a[10];int sum=0;double avg;for (int i = 0; i < 10; i++) {scanf_s("%d", &a[i]);if (a[i] % 2 == 0) sum += a[i];}avg = sum / 10.0;printf("偶數的和%d,偶數的平均值%0.2f", sum, avg);return 0;
}

8.循環語句求a+aa+aaa+aaaa……n個a,n和a由鍵盤輸入

#include<stdio.h>
#include<math.h>
int main() {int a, n,m;int sum = 0;scanf_s("%d %d", &a, &n);m = a;for (int i = 1; i <= n; i++) {sum += m;m += a * pow(10, i);}printf("%d", sum);return 0;
}

9.1!+2!+3!+4!……

#include<stdio.h>
int main() {int sum = 0, n,m=1;scanf_s("%d", &n);for (int i = 1; i <= n; i++) {m *= i;sum += m;}printf("%d", sum);return 0;
}

10.求sum=1-1/3+1/5-1/7+? ?+1/n(1/n<0.0001)

#include<stdio.h>
int main() {float sum = 0;int k=1;for (int i = 1; (1.0 / i) >= 0.0001; i += 2) {sum += (1.0 / i) * k;k = -k;}printf("%0.2f", sum);return 0;
}

11.輸入正數判斷是否為素數

#include<stdio.h>
int main() {int i,n;scanf_s("%d", &n);//素數:=質數,除了1和它本身之外不能被其他數整除。否則稱為合數(1既不是質數也不是合數)if (n == 1) printf("%d不是素數", n);else if (n == 2) printf("%d是素數", n);else {for (i = 2; i < n; i++) {if (n % i == 0) {printf("%d不是素數", n);break;}}if(i>=n) printf("%d是素數", n);}return 0;
}

12.編寫一個計算器,可以計算+-*/

#include<stdio.h>
int main() {float a, b;char ch;scanf_s("%f", &a);ch = getchar();scanf_s("%f", &b);switch (ch) {case '+':printf("=%0.2f", a + b); break;case '-':printf("=%0.2f", a - b); break;case '*':printf("=%0.2f", a * b); break;case '/':printf("=%0.2f", a / b); break;}return 0;
}

13.求m,n的最小公倍數

#include<stdio.h>
int main() {//lcm:lowest common multiple 最小公倍數int m, n,min;scanf_s("%d %d", &m, &n);if (m < n) min = m;else min = n;for(int i=min;i<=n*m;i++)if (i % m == 0 && i % n == 0) {printf("最小公倍數:%d", i);break;}return 0;
}

14.對10個數排序

#include<stdio.h>
int quick_one_pass(int a[], int low, int high) {int mid = a[low];while (low < high) {while (low < high && a[high] >= mid) --high;a[low] = a[high];while (low < high && a[low] <= mid) ++low;a[high] = a[low];}a[low] = mid;return low;
}
void quicksort(int a[], int low, int high) {int k;if (low < high) {k = quick_one_pass(a, low, high);quicksort(a, low, k - 1);quicksort(a, k + 1, high);}
}
int main() {//快速排序int a[10] = { 2,6,4,8,1,9,3,5,7,4 };quicksort(a, 0, 9);for (int i = 0; i < 10; i++)printf("%d ", a[i]);return 0;
}

15.36塊磚,男人一次可以搬4塊,女人:3塊,兩個小孩:1塊。問男,女,小孩各多少人可以一次搬完

#include<stdio.h>
int main() {int man, woman, kid;for (man = 0; man <= 9; man++)for (woman = 0; woman <= 12; woman++)for (kid = 0; kid <= 72; kid++)if (4 * man + 3 * woman + 0.5 * kid == 36)printf("%d,%d,%d\n", man, woman, kid);return 0;
}

16.輸入一個字符串,將其正序反序輸出

#include<stdio.h>
#include<string.h>
int main() {char array[50];int n=0;//n是數組的長度scanf_s("%s", array, 50);n = strlen(array);for (int i = 0; i < n; i++)printf("%c", array[i]);printf("\n");for(int i=n-1;i>=0;i--)printf("%c", array[i]);return 0;
}

計算字符數組的長度:

#include<string.h>

strlen(array);

17.求一個整數在存儲單元中,從右端開始第4到第7位的值

#include<stdio.h>
int main() {unsigned a, b, c;scanf_s("%o", &a);b = a >> 4;//右移四位c = b & 15;//和15按位與,15的二進制編碼為1111printf("%o,%d\n%o,%d\n", a, a, c,c);return 0;
}

18.樓梯一共有n級,一次爬1級或2級,有幾種不同的路徑

#include<stdio.h>
int ClimbStairs(int n) {if (n == 0) return 1;else if (n == 1) return 1;else return ClimbStairs(n - 1) + ClimbStairs(n - 2);
}
int main() {int n;scanf_s("%d", &n);printf("%d", ClimbStairs(n));return 0;
}

19.十六進制轉換成十進制

#include<stdio.h>
#include<string.h>
#include<math.h>
int f(char* a);//聲明
int main() {char a[30];int n=0,ten=0;gets(a);printf("%d", f(a));return 0;
}
int f(char* a) {int i, c, sum = 0, n;c = strlen(a);for (i = 0; i < c; i++) {if (a[i] >= 'A' && a[i] <= 'Z')a[i] -= 55;if (a[i] >= '0' && a[i] <= '9')a[i] -= '0';}n = c - 1;for (i = 0; i <= c; i++) {sum = sum + a[i] * pow(16, n);n--;}return sum;
}

20.創建鏈表,頭/尾插法插入數據

#include<stdio.h>
#include<stdlib.h>struct Node {int data;struct Node* next;
};//頭插法創建鏈表
struct Node* createList(int arr[], int n) {struct Node* head = NULL;//初始化頭節點為nullfor (int i = 0; i < n; i++) {//創建新結點struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));newNode->data = arr[i];newNode->next = head;head = newNode;}return head;
}//尾插法創建鏈表
struct Node* createList_2(int arr[], int n) {struct Node* head = NULL;struct Node* tail = NULL;for (int i = 0; i < n; i++) {struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));newNode->data = arr[i];newNode->next = NULL;if (head == NULL) {head = newNode;tail = newNode;}else {tail->next = newNode;tail = newNode;}}return head;
}//打印鏈表
void printList(struct Node* head) {struct Node* temp = head;while (temp != NULL) {printf("%d ->", temp->data);temp = temp->next;}printf("NULL\n");
}int main() {int arr[] = { 1,2,3,4,5 };int n = sizeof(arr) / sizeof(arr[0]);//數組長度//頭插法創建鏈表struct Node* head = createList(arr, n);//打印鏈表printList(head);//尾插法創建鏈表struct Node* head_2 = createList_2(arr, n);//打印鏈表printList(head_2);return 0;
}

21.刪除鏈表中的指定數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72033.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c++ 多個.cpp文件運行

目錄 方法 1&#xff1a;將其他文件中的 main 改為普通函數 方法 2&#xff1a;使用頭文件組織代碼 方法 3&#xff1a;條件編譯&#xff08;僅用于調試或特殊需求&#xff09; 方法 4&#xff1a;創建類或命名空間管理邏輯 在一個C項目中&#xff0c;多個.cpp文件不能同…

基于OFDR的層壓陸相頁巖油儲層中非對稱裂縫群傳播的分布式光纖監測

關鍵詞&#xff1a;OFDR、分布式光纖傳感、裂縫傳播 一. 概述 四川盆地涼高山組優質頁巖油儲層存在復雜的垂直重疊巖性&#xff0c;大陸頁巖油儲層存在發育層理&#xff0c;薄層和天然裂縫&#xff0c;對水平井多級壓裂技術的裂縫網絡形態控制和監測構成挑戰。本研究提出了一…

UniApp 按鈕組件 open-type 屬性詳解:功能、場景與平臺差異

文章目錄 引言一、open-type 基礎概念1.1 核心作用1.2 通用使用模板 二、主流 open-type 值詳解2.1 contact - 客服會話功能說明平臺支持代碼示例 2.2 share - 內容轉發功能說明平臺支持注意事項 2.3 getUserInfo - 獲取用戶信息功能說明平臺支持代碼示例 2.4 getPhoneNumber -…

【大模型】Ubuntu下 fastgpt 的部署和使用

前言 本次安裝的版本為 fastgpt:v4.8.8-fix2。 最新版本fastgpt:v4.8.20-fix2 問答時報錯&#xff0c;本著跑通先使用起來&#xff0c;就沒有死磕下去&#xff0c;后面bug解了再進行記錄。 ? github連接&#xff1a;https://github.com/labring/FastGPT fastgpt 安裝說明&…

【GenBI實戰】python腳本實現基于DeepSeek api的數據查詢和圖表可視化

寫在前面 生成式 BI (GenBI) 正在改變我們與數據交互的方式。它允許用戶使用自然語言提出問題&#xff0c;并自動獲得數據洞察&#xff0c;而無需編寫復雜的 SQL 查詢或手動創建圖表。本文將帶你動手實戰&#xff0c;使用 Python 和 DeepSeek API (或其他類似的大語言模型 API…

Web-to-Web和Server-to-Serve歸因方法

Web2Web 和 S2S 歸因方法 1. Web2Web 歸因方法 原理&#xff1a; Web2Web&#xff08;Web-to-Web&#xff09;歸因方法主要用于跟蹤用戶在網站之間的行為路徑。它通過瀏覽器中的Cookie或其他標識符來追蹤用戶在不同網站之間的行為&#xff0c;從而確定用戶轉化的路徑。 使用…

c++中迭代器和指針有什么區別?

在 C 中&#xff0c;迭代器和指針雖然在某些場景下有相似的行為&#xff0c;但它們在設計目的、功能和使用場景上有本質區別。以下是詳細對比和最佳實踐&#xff1a; 一、核心區別對比表 特征指針迭代器本質原生數據類型&#xff0c;直接存儲內存地址類對象&#xff0c;抽象容…

如何使用Docker搭建哪吒監控面板程序

哪吒監控(Nezha Monitoring)是一款自托管、輕量級的服務器和網站監控及運維工具,旨在為用戶提供實時性能監控、故障告警及自動化運維能力。 文檔地址:https://nezha.wiki/ 本章教程,使用Docker方式安裝哪吒監控面板,在此之前,你需要提前安裝好Docker. 我當前使用的操作系…

ONLYOFFICE + Ollama,本地AI模型的高效集成方案

這篇文章將繼續探討如何在 ONLYOFFICE 中連接并高效使用各類 AI 模型。今天的主角是 Ollama——一個專為本地部署和運行 AI 模型的平臺。如何使用 Ollama 并與 ONLYOFFICE 編輯器集成&#xff0c;利用其強大的 AI 模型處理文本任務。以下是詳細的操作步驟和使用方法。 關于 ONL…

單片機開發為什么不用C++?

最近受到很多初學者的靈魂拷問&#xff0c;單片機需要學C嗎&#xff1f; 還別說&#xff0c;問這問題的還挺多的&#xff0c;今天以一篇文章來說下。 很多小白覺得&#xff0c;C語言這老古董&#xff0c;語法簡陋得像石器時代的產物&#xff0c;為什么還牢牢霸占著單片機開發的…

2025-02-28 學習記錄--C/C++-C語言 scanf 中,%s 不需要加

合抱之木&#xff0c;生于毫末&#xff1b;九層之臺&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; C語言 scanf 中&#xff0c;%s 不需要加 & 格式化符號變量類型是否需要加 &原因%s字符數組不需要數組名本身就是指針&a…

數字樣機:從技術革新到產業賦能的演進之路

摘要&#xff1a;數字樣機作為產品全生命周期數字化的核心技術&#xff0c;旨在通過虛擬化建模與仿真技術重構傳統工業研發范式。 數字樣機&#xff08;Digital Prototype&#xff0c;DP&#xff09;技術是一種數字化設計技術&#xff0c;利用數字樣機替代原型樣機&#xff0c…

Ubuntu20.04安裝Isaac sim/ Isaac lab

2025年之后omniverse好像不能直接裝Isaac sim了&#xff0c;要跳轉到官網鏈接。 Isaac lab要在Isaac sim安裝之后才能安裝 Ubuntu20.04安裝Isaac sim/ Isaac lab Isaac sim安裝Isaac lab安裝 Isaac sim安裝 找到官網 Isaac sim官方文檔 下載下來解壓到本地文件夾&#xff0c…

【前端】XML,XPATH,與HTML的關系

XML與HTML關系 XML&#xff08;可擴展標記語言&#xff09;和 HTML&#xff08;超文本標記語言&#xff09;是兩種常見的標記語言&#xff0c;但它們有不同的目的和用途。它們都使用類似的標記結構&#xff08;標簽&#xff09;&#xff0c;但在設計上存在一些關鍵的差異。 XML…

8款智能排班系統,全面深入介紹

本文介紹了以下8款主流的排班系統&#xff1a;1.i人事&#xff1b;2.Moka&#xff1b; 3.When I Work&#xff1b; 4.薪人薪事&#xff1b; 5.泛微e-office&#xff1b; 6.多可軟件&#xff1b; 7.釘釘&#xff1b; 8.Homebase等。 排班系統作為一種高效的管理工具&#xff0c;…

DeepSeek 助力 Vue3 開發:打造絲滑的頁腳(Footer)

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 Deep…

SpringCloud 微服務框架

單體架構&#xff1a;將業務全部功能集中到一個項目中&#xff0c;打成一個war包存儲,部署在一臺服務器中&#xff0c;只有一個數據庫 優點 &#xff1a;架構簡單&#xff0c;部署成本低。適合小型項目 問題&#xff1a;高并發性能問題&#xff0c;開發時代碼耦合問題&#x…

goLand導入git項目并打包發布linux

作為項目管理&#xff0c;擁有半吊子開發能力&#xff0c;居然有一天需要修改維護go項目。。。從菜鳥教程學習開始~苦 goland導入git項目 本地啟動 導入之后會自動更新相關依賴。 本人導入之后立馬修改了依賴位置&#xff0c;且修改為一項目一位置&#xff0c;互不干涉。 在代…

通義靈碼插件安裝入門教學 - IDEA(安裝篇)

在開發過程中&#xff0c;使用合適的工具和插件可以極大地提高我們的工作效率。今天&#xff0c;我們將詳細介紹如何在 IntelliJ IDEA 中安裝并配置通義靈碼插件&#xff0c;這是一款旨在提升開發者效率的實用工具。無論你是新手還是有經驗的開發者&#xff0c;本文都將為你提供…

【設計模式精講】開源實戰之剖析Spring框架:Spring中工廠模式的應用

文章目錄 第七章 開源實戰7.1 剖析Spring框架中用到的經典設計模式7.1.1 Spring中工廠模式的應用7.1.1.1 Spring中的Bean組件7.1.1.2 Spring中的BeanFactory7.1.1.3 Spring中的FactoryBean 個人主頁&#xff1a;道友老李 歡迎加入社區&#xff1a;道友老李的學習社區 第七章 開…