日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

超适合初学者刷的170道C基础编程题 选自牛客网 个人超详细解析(有彩蛋哟~)

發(fā)布時(shí)間:2023/12/31 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超适合初学者刷的170道C基础编程题 选自牛客网 个人超详细解析(有彩蛋哟~) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在最開(kāi)始先簡(jiǎn)單說(shuō)下為什么刷題,可能大家在剛開(kāi)始學(xué)的時(shí)候認(rèn)識(shí)不到動(dòng)手或者認(rèn)識(shí)到但并不知道刷題的重要性。簡(jiǎn)單來(lái)說(shuō)即十分鞏固當(dāng)前知識(shí),讓學(xué)到腦子里的知識(shí)學(xué)以致用。其次一點(diǎn)就是在最開(kāi)始不再擔(dān)心寫代碼的恐懼,認(rèn)為其反而是一種樂(lè)趣。

鏈接我發(fā)不出來(lái),這里步驟給大家:進(jìn)入牛客網(wǎng)主頁(yè)->登錄之后找到上方題庫(kù)->中間偏上的在線編程->彩色的編程初學(xué)者模塊

寫在前面:題解可能就沒(méi)知識(shí)那么有趣了(個(gè)人認(rèn)為),槽點(diǎn)太少哈哈哈哈。

這個(gè)我打算分模塊解,少就全說(shuō),多就經(jīng)典。感謝大家觀看,評(píng)論區(qū)輕噴謝謝。

目錄

簡(jiǎn)單輸出

基本類型

輸出格式化

基本運(yùn)算符

運(yùn)算

分支控制

循環(huán)控制

循環(huán)輸出圖形

一維數(shù)組

二維數(shù)組

字符/字符數(shù)組

函數(shù)

遞歸函數(shù)


簡(jiǎn)單輸出

1.輸出"Hello Nowcoder!"。開(kāi)始你的編程之旅吧。

這個(gè)家人們,沒(méi)什么好說(shuō)的昂

#include <stdio.h>
int main()
{
? ? printf("Hello Nowcoder!");
? ? return 0;
}

2.KiKi學(xué)會(huì)了printf在屏幕輸出信息,他想輸出一架小飛機(jī)。請(qǐng)幫他編寫程序輸出這架小飛機(jī)。

輸入描述:

無(wú)

輸出描述:

前兩道題就這樣吧,咱要是看不懂也不能挺著,評(píng)論區(qū)直接說(shuō),小白嘛,該問(wèn)問(wèn),但不能做“伸手黨”

#include <stdio.h>int main() {printf(" ** \n");printf(" ** \n");printf("************\n");printf("************\n");printf(" * * \n");printf(" * * \n");return 0; }

基本類型

前十三道題考驗(yàn)輸入和輸出函數(shù)的掌握程度昂,需要注意的是輸出時(shí),如果需要控制浮點(diǎn)數(shù),也就是小數(shù),在小數(shù)點(diǎn)后面有幾位時(shí),在 f\lf?前面加上位數(shù)。比如我想輸出3.14,就這樣。

%.2lf? ?\? ?%.2f

要是想四舍五入就直接 .0 就好。這里提倡一點(diǎn),最好不要去深究float和double的區(qū)別,不知道用哪個(gè)就double就行,如果鉆牛角尖的話可能會(huì)打消學(xué)習(xí)積極性(純個(gè)人看法),后期可以了解下,我也會(huì)出相應(yīng)文章供大家觀賞。

整形的輸入和輸出有著屬于他自己特殊的地方,輸入時(shí)在 d 前面加上正整數(shù)表示讀取幾個(gè)數(shù),輸出時(shí)也是在 d 前面加上零和正整數(shù)表示輸出幾個(gè)數(shù),不夠用零補(bǔ)齊,如下

scanf("%4d",&a);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? printf("%06d",a);

還有一個(gè)可以加的地方就是 %d 前面(這里用%d舉例,適用于全部)比如這樣

("體重是:%d",a);

這樣輸出的內(nèi)容就是:體重是:a 了,比較自由,大家自行體會(huì)。

第十四題有一個(gè)點(diǎn)就比較有意思哈哈哈哈,他是一個(gè)數(shù)字交換,就像把一瓶醋和一瓶醬油交換一下里面的液體一樣,但是我當(dāng)初想的是直接 a=b,b=a 不就行了嗎,后來(lái)實(shí)踐才知道,所以實(shí)踐還是很重要的,哈哈哈哈還很單純。

第十五題就要重點(diǎn)講下了

1.題目要求多數(shù)輸入,什么意思呢?就是要一直輸入,出對(duì)應(yīng)結(jié)果,不是輸入一次就完事了。這里一般都是用while循環(huán),如下

//第一種寫法

while(~scanf("%d",&a))

//第二種寫法

while(scanf("%d",&a) != EOF)

這里解釋下為什么

while這個(gè)函數(shù)是在括號(hào)里的數(shù)非零或者滿足括號(hào)內(nèi)條件時(shí)執(zhí)行,而scanf這個(gè)函數(shù)也是有返回值的,返回值為 0 表示未分配任何字段。對(duì)于錯(cuò)誤,或者在第一次嘗試讀取字符時(shí)遇到文件結(jié)尾字符或字符串結(jié)尾字符,則返回值為 EOF,相信讀到這個(gè),大家已經(jīng)明白了第二個(gè),這里再說(shuō)下第一個(gè),~ 這個(gè)符號(hào):按位補(bǔ)集(或按位補(bǔ)碼)運(yùn)算符生成其操作數(shù)的按位補(bǔ)集。操作數(shù)必須是整數(shù)類型。此運(yùn)算符執(zhí)行常規(guī)的算術(shù)轉(zhuǎn)換;結(jié)果具有轉(zhuǎn)換后操作數(shù)的類型。咱們想要他停下來(lái),所以必須要輸入,這里告訴大家EOF就是 -1 :

原碼是10000000000000000000000000000001

反碼是11111111111111111111111111111110

補(bǔ)碼是11111111111111111111111111111111

按位取反之后就是全零,全零就是十進(jìn)制零,返回給while就停止了

(vs想要停下來(lái)是輸入一個(gè)ctrl+z換行,持續(xù)三次)

部分節(jié)選自MSDN

2.既然知道,那怎么大小寫轉(zhuǎn)換呢,還是需要借助ASCII表(表請(qǐng)大家自行查閱),通過(guò)觀察我們發(fā)現(xiàn),大寫字母于小寫字母之間相差32,所以直接加上32(大轉(zhuǎn)小)或者減32(小轉(zhuǎn)大)就行,在輸出的時(shí)候。

3.好,我上面的都做到了,怎么還是錯(cuò)啊,輸出的時(shí)候總是帶個(gè) * ???新機(jī)詞挖一此莫禾多此!

那就是我們一直忽略的回車,回車是 \n 對(duì)應(yīng)ASCII表里26,加上32是58,正好就是 * !那要怎么辦呢,這里介紹一個(gè)新函數(shù):getchar()和putchar() 他們分別對(duì)應(yīng)讀取數(shù)據(jù)和輸出數(shù)據(jù),所以如下,大家自行感悟,歡迎評(píng)論區(qū)討論

#include <stdio.h> int main() {int a = 0;while((a = getchar()) != EOF){getchar();putchar(a+32);printf("\n");}return 0; }

輸出格式化

總共五道題。一道一道來(lái)。

第一道:我忘了說(shuō)沒(méi)說(shuō)過(guò)進(jìn)制,這里再說(shuō)下。二進(jìn)制只有數(shù)字0和1,八進(jìn)制用的少,十進(jìn)制是0到9,十六進(jìn)制是0到9再往后是a到f,二進(jìn)制是逢二進(jìn)一,就是一旦有一位超過(guò)二,就往前在加一位,以此類推(這里就是通俗說(shuō)下,大概明白就能做這道題,想了解更細(xì)致一點(diǎn)在本網(wǎng)站直接搜“進(jìn)制”就ok了)。他想把十六進(jìn)制整數(shù)ABCDEF轉(zhuǎn)換成十進(jìn)制數(shù),然而十六進(jìn)制數(shù)通常寫法是在前面加上0x? 注意看輸出要求,要求15域?qū)?#xff0c;域?qū)捑褪禽敵鰰r(shí)的間隔(為了好看點(diǎn)),控制域?qū)捠窃赿前面加上對(duì)應(yīng)要求,總結(jié)后應(yīng)輸出:

printf("%15d",0xABCDEF);

第二道:大家看到字多的千萬(wàn)不要慌啊,我門大意都下題之后知道,也是一個(gè)簡(jiǎn)簡(jiǎn)單單的進(jìn)制轉(zhuǎn)換,牛客網(wǎng)也很貼心,備注了想要輸出他想要的應(yīng)該怎么做,所以就簡(jiǎn)潔明了了。

printf("%#o %#X",1234,1234);

第三道:這道題沒(méi)啥難點(diǎn),好好理解過(guò)基礎(chǔ)知識(shí)的應(yīng)該都能做出來(lái)。

第四道:只需要輸出時(shí)注意空格個(gè)數(shù)就好。

第五道:只需要把輸入時(shí)的d改成他備注的x和o就行,加的時(shí)候不要多想,他還是以十進(jìn)制輸出(%d)。

基本運(yùn)算符

敬請(qǐng)期待~

運(yùn)算

敬請(qǐng)期待~

分支控制

敬請(qǐng)期待~

循環(huán)控制

敬請(qǐng)期待~

循環(huán)輸出圖形

敬請(qǐng)期待~

一維數(shù)組

敬請(qǐng)期待~

二維數(shù)組

敬請(qǐng)期待~

字符/字符數(shù)組

敬請(qǐng)期待~

函數(shù)

敬請(qǐng)期待~

遞歸函數(shù)

敬請(qǐng)期待~

總結(jié)

以上是生活随笔為你收集整理的超适合初学者刷的170道C基础编程题 选自牛客网 个人超详细解析(有彩蛋哟~)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。