C語言學習錯題集(五)

1.最大公倍數的求法(gcd已知)
2.報數
3.字符串最后必須有’\0’!!!
4.例題
5.例題
6.例題

1.最大公倍數的求法(gcd已知)

int lcm=gcd*(a/gcd)*(b/gcd);

2.報數
報數游戲是這樣的:有n個人圍成一圈,按順序從1到n編好號。從第一個人開始報數,報到m(<n)的人退出圈子;下一個人從1開始報數,報到m的人退出圈子。如此下去,直到留下最后一個人。

本題要求編寫函數,給出每個人的退出順序編號。

函數接口定義:

void CountOff( int n, int m, int out[] );

其中n是初始人數;m是游戲規定的退出位次(保證為小于n的正整數)。函數CountOff將每個人的退出順序編號存在數組out[]中。因為C語言數組下標是從0開始的,所以第i個位置上的人是第out[i-1]個退出的。
鄙人思路:做一個n次的循環來給每一個人編號(按照退出順序從1~n),每次循環里用一個m次的循環來跳到下一個編號的人那里(因為中間如果有人已經被編過號,那個人已經退出了,不算在內。所以要跳過他。所以我覺得只能用m個循環+1+1+1……來判斷中間已經被編過號的人,而不能直接加m)每次判斷,如果這個人被編過號跳到下一個;如果超過了第n個人回到開頭。

void CountOff( int n, int m, int out[] )
{int a=0,b=1;for(int i=0;i<n;i++){for(int j=0;j<m;j++){a++;if(a>n)a-=n;while(out[a-1]!=0){a++;if(a>n)a-=n;}}out[a-1]=b;b++;}return;
}

對了,但是運行超時(循環里有循環里有循環里有判斷,超麻煩)

4.(南京林業大學)將十進制數轉換成十六進制數并輸出。
這道題里面的亮點不少,就在代碼中加注釋說明。

#include<stdio.h>
#include<string.h>
int main()
{int n;//n是待轉換的數字char *table="0123456789abcdef";char result[9];int i=7;result[8]='\0';//字符串結束符if(n>=0){memset(result,'0',8);//memset函數將一段內存空間全部設置成某個字符do{result[i--]=table[n%16];}while(n=n/16);//這樣寫,當n=0時循環停止}else{int j;memset(result,'f',8);for(j=0;j<8;j++){result[i--]=table[n & 0x0f];//未知,好像是取后4位n>>=4;}}printf("0x%s\n",result);//未知
}

5.下面語句的輸出結果是?

long a=0xffff;
int b=a;
輸出b

因為long 占4個字節,而int 占2個字節,
b在內存中的二進制碼是0000 0000 0000 0000 1111 1111 1111 1111
傳遞給a時,高于16位被自動截斷:1111 1111 1111 1111
再轉換為十進制:-1

6.輸出結果是?

int x;
printf("%d",(x=4*5,x*5),x+25);

按理說printf()中格式符%d的數量少于后面表達式的數量,應該輸出第一個式子的值,

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

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

相關文章

工程項目管理系統源碼+功能清單+項目模塊+spring cloud +spring boot em

? 工程項目管理軟件&#xff08;工程項目管理系統&#xff09;對建設工程項目管理組織建設、項目策劃決策、規劃設計、施工建設到竣工交付、總結評估、運維運營&#xff0c;全過程、全方位的對項目進行綜合管理 工程項目各模塊及其功能點清單 一、系統管理 1、數據字典&#…

代碼保護 code protection

為什么要做代碼保護&#xff1f; 為了保護知識產權并讓攻擊者的利用更加困難&#xff0c;組織應該為其軟件的逆向工程設置障礙(例如&#xff0c;反篡改、調試保護、反盜版特性、運行時完整性)&#xff0c;增加攻擊者分析和利用你的軟件所需的投入。代碼保護對于廣泛分布的代碼…

Markdown使用筆記

Markdown使用筆記 一、段落與強調 important denotes the impossible thing to do Because your ugly appearance, you cannot have a happy ending. 使用*括起來的為斜體 使用**括起來的是粗體 使用~~括起來的是刪除線 在句子后面添加<br>即可換行 二、標題 在…

常見期權策略類型有哪些?

這幾天在做一個期權策略類型的整理分類&#xff0c;怎么解釋期權策略&#xff0c;期權策略是現代金融市場中運用非常廣泛、變化非常豐富、結構非常精妙的金融衍生產品&#xff1b;同時也是一種更為復雜也更為靈活的投資工具&#xff0c;下文介紹常見期權策略類型有哪些&#xf…

iptables安全技術和防火墻

通信五元素 源ip和目標ip 源端口和目標端口 協議 通信四元素 源ip和目標ip 源端口和目標端口 iptables表鏈結構 Netfilter Linux防火墻是由Netfilter組件提供的&#xff0c;Netfilter工作在內核空間&#xff0c;集成在linux內核中 Netfilter是Linux 2.4.x之后新一代的Li…

CI/CD流水線實戰

不知道為什么&#xff0c;現在什么技術都想學&#xff0c;因為我覺得我遇到了技術的壁壘&#xff0c;大的項目接觸不到&#xff0c;做的項目一個字辣*。所以&#xff0c;整個人心浮氣躁&#xff0c;我已經得通過每天的騎行和長跑緩解這種浮躁了。一個周末&#xff0c;我再次宅在…

k8s問題匯總

作者前言 本文章為記錄使用k8s遇到的問題和解決方法&#xff0c;文章持續更新中… 目錄 作者前言正常配置ingress&#xff0c;但是訪問錯誤添加工作節點報錯安裝k8s報錯使用kubectl命令報錯container沒有運行安裝會出現kubelet異常&#xff0c;無法識別刪除k8s集群訪問dashboa…

Docker安裝RabbitMQ單機版

Docker安裝RabbitMQ單機版 先安裝Docker服務&#xff0c;可參考安裝Docker及學習 編寫rabbitmq-composefile.yml文件 這里以rabbitmq 3.11.16 版本為例 cat << \EOF > /opt/rabbitmq-composefile.yml version: 3 services:rabbitmq:image: rabbitmq:3.10.0-managem…

【Apollo】推動創新:探索阿波羅自動駕駛的進步(含安裝 Apollo的詳細教程)

前言 Apollo (阿波羅)是一個開放的、完整的、安全的平臺&#xff0c;將幫助汽車行業及自動駕駛領域的合作伙伴結合車輛和硬件系統&#xff0c;快速搭建一套屬于自己的自動駕駛系統。 開放能力、共享資源、加速創新、持續共贏是 Apollo 開放平臺的口號。百度把自己所擁有的強大、…

【密碼學】維京密碼

維京密碼 瑞典羅特布魯納巨石上的圖案看起來毫無意義&#xff0c;但是它確實是一種維京密碼。如果我們注意到每組圖案中長筆畫和短筆畫的數量&#xff0c;將得到一組數字2、4、2、3、3、5、2、3、3、6、3、5。組合配對得到24、23、35、23、36、35。現在考慮如圖1.4所示的內容&a…

【變形金剛03】使用 Pytorch 開始構建transformer

一、說明 在本教程中&#xff0c;我們將使用 PyTorch 從頭開始構建一個基本的轉換器模型。Vaswani等人在論文“注意力是你所需要的一切”中引入的Transformer模型是一種深度學習架構&#xff0c;專為序列到序列任務而設計&#xff0c;例如機器翻譯和文本摘要。它基于自我注意機…

iOS Epub閱讀器改造記錄

六個月前在這個YHEpubDemo閱讀器的基礎上做了一些優化&#xff0c;這里做一下記錄。 1.首行縮進修復 由于分頁的存在&#xff0c;新的一頁的首行可能是新的一行&#xff0c;則應該縮進&#xff1b;也可能是前面一頁段落的延續&#xff0c;這時候不應該縮進。YHEpubDemo基于XDS…

pycharm,VSCode 幾個好用的插件

pycharm Tabnine AI Code 可以在編寫程序的時候為你提供一些快捷方式&#xff0c;增加編程速度 Chinese 對英文不好的程序員來說是個不錯的選擇&#xff0c;可以將英文狀態下的pycharm變為中文版的 ChatGPT 可以跟ai聊天&#xff0c;ai可以解決你80%的問題 &#xff0c;也可以幫…

變形金剛:從零開始【01/2】

一、說明 在我們的日常生活中&#xff0c;無論你是否是數據科學家&#xff0c;你都在單向地使用變壓器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT&#xff0c;那么在為您回答問題的框中是變壓器的一部分。如果您是數據科學家或數據分析師&#xff0c;則可能正在使…

【BASH】回顧與知識點梳理(二十九)

【BASH】回顧與知識點梳理 二十九 二十九. 進程和工作管理29.1 什么是進程 (process)進程與程序 (process & program)子進程與父進程&#xff1a;fork and exec&#xff1a;進程呼叫的流程系統或網絡服務&#xff1a;常駐在內存的進程 29.2 Linux 的多人多任務環境多人環境…

SAP MM學習筆記23-購買發注的賬戶分配類型(勘定Category)

SAP中控制財務憑證過賬科目的是 賬號分配類型&#xff08;勘定Category&#xff09;欄目。 ?賬號分配類型&#xff08;勘定Category&#xff09;有&#xff1a; 1&#xff0c;K 原價Center&#xff08;成本中心。用于消耗物料采購 的過賬&#xff09; 2&#xff0c;E 得意先…

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用 一、Syncthing介紹1.1 Syncthing簡介1.2 Syncthing特點1.3 備份和同步區別二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker comp…

LabVIEW對并行機器人結構進行建模仿真

LabVIEW對并行機器人結構進行建模仿真 為了對復雜機器人結構的數學模型進行建模、搜索、動畫和驗證&#xff0c;在工業機器人動態行為實驗室中&#xff0c;設計并實現了具有五個自由度的單臂型機器人。在研究臺上可以區分以下元素&#xff1a;帶有直流電機和編碼器的機器人;穩…

nvm管理node版本

nvm是什么&#xff1f; NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM&#xff0c;可以通過命令很方便地在多個NodeJS版本之間進行切換。 nvm的下載與安裝 下載地址&#xff1a;Releases coreybutler/nvm-windows (github.com) windows系統下載nvm-setup…

Arcgis中直接通過sde更新sqlserver空間數據庫失敗

問題 背景 不知道有沒有人經歷過這樣一個情況,我們直接在Arcgis中通過sde更新serserver數據庫會失敗,就是雖然在sde更新sqlserver數據庫,但是在Navicat中通過sql語句來查詢,發現數據并沒有更新,如:上圖中,更新數據庫后,第一張圖是sde打開的sqlserver數據庫,它的數據庫…