二級C語言題解:十進制轉其他進制、非素數求和、重復數統計

目錄

一、程序填空📝 --- 十進制轉其他進制

題目📃

分析🧐

二、程序修改🛠? ---?非素數求和

題目📃

分析🧐

三、程序設計💻 ---?重復數統計

題目📃

分析🧐


前言
本文講解:十進制轉其他進制、非素數求和、重復數統計
🏠我的主頁:我的主頁
📚系列專欄:系列專欄

一、程序填空📝 --- 十進制轉其他進制

難度:??

題目📃

函數 fun 的功能是:將整數 m 轉換成 n(二~十六)進制數的字符串,并通過函數值返回字符串首地址。
例:輸入:125 16,則輸出:7d
請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。
注意:不得增行或刪行,也不得更改程序的結構!

代碼如下:?
在1??2??3??處填空

#include <stdio.h>
#include <string.h>
char  c[32];
char *fun(int m, int n)
{int i = 0, j = 0, a[32];char b[16] = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' }, *p;do{a[i] = m%n;/**********found**********/m = 1??;i++;/**********found**********/} while (2??);for (--i; i >= 0; --i){n = a[i];/**********found**********/c[j++] = 3??;}c[j] = 0;p = c;return p;
}void main()
{int m, n;char s[32];scanf("%d %d", &m, &n);strcpy(s, fun(m, n));printf("%s\n", s);
}

分析🧐

這里要注意,第一個是十進制的值,第二個值是轉成對應的進制
例如題中給的例子,就是讓十進制125轉成16進制
現在來逐個分析每一空(最后一空是難點)

  1. 填寫:m / n
    因為由十進制轉任意進制的原理可知
    十進制模除對應進制取余數,再反向輸出即可
    那么這個當前值就要更新為值
  2. 填寫:m != 0
    當值不為零時就繼續取余
  3. 填寫:b[n]
    看到b數組就要想想他的作用是什么
    很明顯是用于將對應位數的字符取出來

解答代碼如下:

#include <stdio.h>
#include <string.h>
char  c[32];
char *fun(int m, int n)
{int i = 0, j = 0, a[32];char b[16] = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' }, *p;do{a[i] = m%n;/**********found**********/m = 1??m / n;i++;/**********found**********/} while (2??m != 0);for (--i; i >= 0; --i){n = a[i];/**********found**********/c[j++] = 3??b[n];}c[j] = 0;p = c;return p;
}void main()
{int m, n;char s[32];scanf("%d %d", &m, &n);strcpy(s, fun(m, n));printf("%s\n", s);
}

二、程序修改🛠? ---?非素數求和

難度:?

題目📃

函數 fun 的功能是:求一維數組 a 中非素數之和 sum,其結果 sum 通過函數返回。
例:22,3,65,37,18,19,10,11,12,23,15,17,則輸出結果:sum=142
請改正程序中的錯誤,使它能得出正確的結果。
注意:不要改動 main 函數,不得增行或刪行,也不得更改程序的結構!

代碼如下:
在代碼中找出3個錯誤并修改

#include <stdio.h>int fun(int a[], int n)
{int i, j, k, sum;sum = 0;for (i = 0; i < n; i++){k = a[i] / 2;/**********found**********/for (j = 2; j < k; j++){if (a[i] % j == 0)/**********found**********/continue;}/**********found**********/if (j >= k)sum += a[i];}return sum;
}
int main()
{int a[12] = { 22,3,65,37,18,19,10,11,12,23,15,17 };printf("sum=%d\n", fun(a, 12));return 0;
}

分析🧐

本題還是很容易理解的,要掌握素數
素數:只能被1或怎么整數的數字,例如:11

  1. 第11行的j < k改成? j <= k
    如果這里的k是要是a[i]的原值的話就不能有等于
    因為如果是等于的話就是和自己整除
    那么這里是將要測試的數字除2了,那么就要等于
  2. 第15行的continue;改成break;
    因為如果能被除了1和自己以外的數整除就說明不是素數
    所以就要打斷
  3. 第18行的if (j >= k)改成 if(j <=k)
    因為根據題意,這里是計算非素數的和
    也就是通過break打斷的,不是正常結束的
    所以條件就和11行判斷循環的條件一樣就可以了

解答代碼如下:

#include <stdio.h>int fun(int a[], int n)
{int i, j, k, sum;sum = 0;for (i = 0; i < n; i++){k = a[i] / 2;/**********found**********/for (j = 2; 1??j <= k; j++){if (a[i] % j == 0)/**********found**********/2??break;}/**********found**********/3??if (j <= k)sum += a[i];}return sum;
}
int main()
{int a[12] = { 22,3,65,37,18,19,10,11,12,23,15,17 };printf("sum=%d\n", fun(a, 12));return 0;
}

三、程序設計💻 ---?重復數統計

難度:???

題目📃

請編寫函數 fun,其功能是:從一個整數數組中,統計出有重復數字數的個數存于 m 中,m 值由函數值返回。
例如:2430, 3001, 1798, 199, 498, 277, 229, 851, 369, 1146
其中如:3001 中有重復的數字 0
輸出:Total Num=5
注意:部分源程序在文件 PROG1.C 中。
請勿改動主函數 main 和其它函數中的任何內容,僅在函數 fun 的花括號中填入你編寫的若干語句。

代碼如下:
在fun函數中編寫?

#include <stdio.h>
#include <string.h>int fun(int a[], int n)
{}void main()
{int a[10]={2430,3001,1798,199,498,277,229,851,369,1146};int m;m = fun(a, 10);printf("符合條件的數共有:%d\n",m);getchar();
}

分析🧐

由題意可知,這里要統計一個數組中的一個整數里有重復數字的個數
可以這樣:

  1. 先在數組中取出一個數
  2. 對這個數進行拆解,放到新的數組b中
  3. 再對這個這個b數組進行遍歷,看是否有相等的數字
  4. 有的話就將其加1

解答代碼如下:

#include <stdio.h>
#include <string.h>int fun(int a[], int n)
{int i, j, k, flag, value = 0, save = 0;int b[10] = {0};//一個循環取一個數for(i = 0; i < n; i++){j = 0;//將這個數中的每個數字//保存到數組b中while(a[i] != 0){b[j++] = a[i] % 10;a[i] = a[i] /10;}//判斷這個數是否有重復的數for(k = 0; k < j; k++){for(flag = k+1; flag < j; flag++){//如果有相等的數,就給save賦1if(b[k] == b[flag]){save = 1;break;}}}//如果save為1,則表示有重復的數,就將其加一if(save == 1){value++;save = 0;}}return value;
}void main()
{int a[10]={2430,3001,1798,199,498,277,229,851,369,1146};int m;m = fun(a, 10);printf("符合條件的數共有:%d\n",m);getchar();
}

如果本文對您有幫助,還希望點點關注呢,這將是我不斷前進的動力😊

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

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

相關文章

使用服務器部署DeepSeek-R1模型【詳細版】

文章目錄 引言deepseek-r1IDE或者終端工具算力平臺體驗deepseek-r1模型總結 引言 在現代的機器學習和深度學習應用中&#xff0c;模型部署和服務化是每個開發者面臨的重要任務。無論是用于智能推薦、自然語言處理還是圖像識別&#xff0c;如何高效、穩定地將深度學習模型部署到…

讓相機自己決定拍哪兒!——NeRF 三維重建的主動探索之路

我在 NeRF 中折騰自動探索式三維重建的心得 寫在前面&#xff1a; 最近我在研究三維重建方向&#xff0c;深切感受到 NeRF (Neural Radiance Fields) 在學術界和工業界都備受矚目。以往三維重建通常要依賴繁瑣的多視圖幾何管線&#xff08;比如特征匹配、深度估計、網格融合等&…

央行發布《貿易金融分布式賬本技術要求》,參考架構包括5部分

《銀行科技研究社》(作者 木子劍):2024年12月11日,中國人民銀行發布金融行業標準《貿易金融分布式賬本技術要求》(JR/T 0308-2024)(以下簡稱“《要求》”),當日實施。據悉,該文件的起草單位包括6大行和多家股份制銀行等。 《要求》規定了分布式賬本技術在貿易金融領域…

管理etcd的存儲空間配額

如何管理etcd的存儲空間配額 - 防止集群存儲耗盡指南 本文基于etcd v3.4官方文檔編寫 為什么需要空間配額&#xff1f; 在分布式系統中&#xff0c;etcd作為可靠的鍵值存儲&#xff0c;很容易成為系統瓶頸。當遇到以下情況時&#xff1a; 應用程序頻繁寫入大量數據未及時清理…

調用騰訊云批量文本翻譯API翻譯srt字幕

上一篇文章介紹了調用百度翻譯API翻譯日文srt字幕的方法。百度翻譯API是get方式調用&#xff0c;參數都放在ur中&#xff0c;每次調用翻譯文本長度除了接口限制外&#xff0c;還有url長度限制&#xff0c;而日文字符通過ur轉碼后會占9個字符長度&#xff0c;其實從這個角度來講…

Python aiortc API

本研究的主要目的是基于Python aiortc api實現抓取本地設備媒體流&#xff08;攝像機、麥克風&#xff09;并與Web端實現P2P通話。本文章僅僅描述實現思路&#xff0c;索要源碼請私信我。 1 demo-server解耦 1.1 原始代碼解析 1.1.1 http服務器端 import argparse import …

記錄 | WPF基礎學習Style局部和全局調用

目錄 前言一、Style1.1 例子1.2 為樣式起名字1.3 BasedOn 繼承上一個樣式 二、外部StyleStep1 創建資源字典BaseButtonStyle.xamlStep2 在資源字典中寫入StyleStep3 App.xaml中寫引用路徑【全局】Step4 調用三、代碼提供四、x:Key和x:Name區別 更新時間 前言 參考文章&#xff…

如果$nextTick內部拋出錯誤,如何處理?

如果 $nextTick 內部拋出錯誤,可以通過在回調函數中使用 try…catch 語句來捕獲和處理這些錯誤。由于 $nextTick 是異步執行的,因此錯誤不會直接影響到 Vue 的運行,但捕獲錯誤可以幫助你進行更好的錯誤處理和調試。 一、使用 try…catch 以下是如何在 $nextTick 中捕獲錯誤…

吳恩達深度學習——卷積神經網絡實例分析

內容來自https://www.bilibili.com/video/BV1FT4y1E74V&#xff0c;僅為本人學習所用。 文章目錄 LeNet-5AlexNetVGG-16ResNets殘差塊 1*1卷積 LeNet-5 輸入層&#xff1a;輸入為一張尺寸是 32 32 1 32321 32321的圖像&#xff0c;其中 32 32 3232 3232是圖像的長和寬&…

Spring Boot 自動裝配原理與優化實踐

在 Java 開發領域&#xff0c;Spring Boot 以其 “約定優于配置” 的理念&#xff0c;極大地簡化了 Spring 應用的開發和部署過程&#xff0c;成為了眾多開發者的首選框架。它通過自動裝配機制&#xff0c;讓開發者能夠快速搭建一個功能完備的應用&#xff0c;而無需進行繁瑣的…

【Uniapp-Vue3】z-paging插件組件實現觸底和下拉加載數據

一、下載z-paing插件 注意下載下載量最多的這個 進入Hbuilder以后點擊“確定” 插件的官方文檔地址&#xff1a; https://z-paging.zxlee.cn 二、z-paging插件的使用 在文檔中向下滑動&#xff0c;會有使用方法。 使用z-paging標簽將所有的內容包起來 配置標簽中的屬性 在s…

【B站保姆級視頻教程:Jetson配置YOLOv11環境(七)Ultralytics YOLOv11配置】

Jetson配置YOLOv11環境&#xff08;7&#xff09;Ultralytics YOLOv11環境配置 文章目錄 1. 下載YOLOv11 github項目2. 安裝ultralytics包3. 驗證ultralytics安裝3.1 下載yolo11n.pt權重文件3.2 推理 1. 下載YOLOv11 github項目 創建一個目錄&#xff0c;用于存放YOLOv11的項目…

第二天:系統從BIOS/UEFI到GRUB/bootloader的啟動過程

目錄 **一、BIOS/UEFI初始化階段****二、引導加載程序&#xff08;GRUB&#xff09;的啟動過程****1. BIOS模式下的GRUB分階段加載****2. UEFI模式下的GRUB加載** **三、操作系統內核加載與初始化****四、關鍵組件與配置文件****五、故障排查與恢復****總結**常見問題如何在UEF…

es官方go客戶端創建ik索引并進行查詢操作

es-go client引入gomod go get github.com/elastic/go-elasticsearch/v8latest連接es服務器&#xff08;不經過安全校驗) cfg : elasticsearch.Config{Addresses: []string{"http://localhost:9200",}, } es, err : elasticsearch.NewClient(cfg) if err ! nil {pa…

【容器技術01】使用 busybox 構建 Mini Linux FS

使用 busybox 構建 Mini Linux FS 構建目標 在 Linux 文件系統下構建一個 Mini 的文件系統&#xff0c;構建目標如下&#xff1a; minilinux ├── bin │ ├── ls │ ├── top │ ├── ps │ ├── sh │ └── … ├── dev ├── etc │ ├── g…

【C語言系列】深入理解指針(5)

深入理解指針&#xff08;5&#xff09; 一、sizeof和strlen的對比1.1sizeof1.2strlen1.3sizeof和strlen的對比 二、數組和指針筆試題解析2.1 一維數組2.2 字符數組2.2.1代碼1&#xff1a;2.2.2代碼2&#xff1a;2.2.3代碼3&#xff1a;2.2.4代碼4&#xff1a;2.2.5代碼5&#…

標志的推理

下面的討論是我對《對編程實現擬人智能可行性的論證》這篇文章的“賦值與對象的標志”這一節的展開討論。 標志能夠使我們更好的思維&#xff08;比如用輪廓標記物體對象&#xff0c;用興奮強度標記回憶情況等等&#xff09;。有思維標志、信息標志&#xff0c;單純標志、組合…

【藍橋杯嵌入式】2_LED

1、電路圖 74HC573是八位鎖存器&#xff0c;當控制端LE腳為高電平時&#xff0c;芯片“導通”&#xff0c;LE為低電平時芯片“截止”即將輸出狀態“鎖存”&#xff0c;led此時不會改變狀態&#xff0c;所以可通過led對應的八個引腳的電平來控制led的狀態&#xff0c;原理圖分析…

Diskgenius系統遷移之后無法使用USB啟動

前言 本文用于記錄系統遷移中遇到的問題及解決方法&#xff0c;如有不對請指出&#xff0c;謝謝&#xff01; 現象 使用DiskGenius進行系統遷移后&#xff0c;使用USB啟動失敗&#xff0c;反復在品牌logo和黑屏之間切換&#xff0c;期間還會在左上角顯示”reset system“報錯…

使用 Postman 進行 API 測試:從入門到精通

使用 Postman 進行 API 測試&#xff1a;從入門到精通 使用 Postman 進行 API 測試&#xff1a;從入門到精通一、什么是 API 測試&#xff1f;二、Postman 簡介三、環境搭建四、API 測試流程1. 收集 API 文檔2. 發送基本請求示例&#xff1a;發送 GET 請求示例代碼&#xff08;…