首页
/
每日頭條
/
科技
/
c盤大小計算公式
c盤大小計算公式
更新时间:2025-03-14 14:27:50

本來計劃一個暑假多刷一些關于PAT的題目,以及提升一下自己的編程能力。

結果,暑假倒是過去了,也步入研二了,但是這些文章呢,一直遲遲沒有寫出來。

我感覺非常不好意思,所以,從今天開始,我又回來繼續寫這些關于編程的文章了。

一方面呢,是為了提升自己的實力,另一方面呢,也是為了讓更多小夥伴能跟我一起提升編程技術。

今天這道題目呢,是收錄在PAT乙級中的第1010題,也就是一元多項式求導。

題目要求如下:

1、以指數遞降的方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數),但這個括号裡的内容,其實并無太大作用,其實可以忽略這個,因為在這道題目裡,它并沒有要求對整數的絕對值進行一個判斷。

2、要求以與輸入相同的格式來輸出結果,也就是輸出導數多項式的非零項系數和指數,但是結尾不能有多餘空格,以及要特别注意一點:“零多項式”的指數和系數都是0,表示為0 0。

我來根據題目給的例子,來講清楚這道題目的實現原理。

實現原理分析

c盤大小計算公式(用C語言進行編程)1

我一直認為,在正式開始做編程題之前,理清邏輯是非常重要的。

而流程圖恰好能幫助我們來理清邏輯。

繪出流程圖,理清楚程序邏輯

c盤大小計算公式(用C語言進行編程)2

如上圖所示,這就是該程序的流程圖。

代碼實現

根據該流程圖,我們就能梳理清楚如何寫代碼。

1、要輸入非零項指數和系數,也就是需要用到一個scanf函數來分别輸入指數和系數。

而且是要在循環輸入,這裡呢因為沒有指定輸入指數和系數的數量,所以可以用到一個while(1)作為默認值,以及之後進行一個if語句判斷,如果回車enter之後,那就退出該循環。

可以用到if(getchar()!='\n')來進行回車輸入判斷。

2、對零多項式進行一個判斷,我們可以注意到,求導之前的一元多項式,是有常數項的,也就是-2x^0,求導之後得到的指數系數分别為0和-1,常數項的導數為0。

還有零多項式的指數和系數都為0,我們隻需要考慮系數為0的情況,因為指數為0的時候,這個數就直接為0了。

c盤大小計算公式(用C語言進行編程)3

3、這也是我在之前的幾篇文章中一直會提到的,就是最後一列沒有空格的問題,完全可以新定義一個變量count,然後開始進行記錄,如果>0的時候,就輸出空格,就是每一次輸出之後加上空格,直到最後一次為止是沒有空格的。

在做這道題目的時候,我也遇到過許多問題:

錯誤踩點

比方說我沒有對printf("0 0")進行一個額外判斷,要注意,這種情況,隻有當number2為0的時候,且還要滿足一個條件,也就是在輸出結果最終為0的時候,不要出現重複的0,也就是需要把0給隐藏。

問題代碼部分:

//一元多項式求導 #include<stdio.h> int main(){ int number1 = 0; int number2 = 0; int count = 0; while(1){ scanf("%d %d", &number1, &number2); if(number2==0){//這部分代碼是存在問題的,所以需要更改。 printf("0 0"); } if(number2!=0){ if(count>0){ printf(" "); } printf("%d %d", number1*number2, number2-1); count ; } //這裡就是需要特别關注的地方了,為什麼需要用到count來進行計數,就是為了解決空格 //空格問題需要在這裡來進行解決,因為我們在第一次輸出結果的時候 //是從最開始開始的,比方說從12 3這樣是一對,那麼下一對-10 1與這一對之間是有一個空格隔開的 //所以需要用到一個count //至于上面的printf("0 0");部分,就是當count為初始值的時候,也就是不滿足count不為零的時候 if(getchar()=='\n'){ break; } } return 0; }

c盤大小計算公式(用C語言進行編程)4

c盤大小計算公式(用C語言進行編程)5

正确結果與代碼實現

//一元多項式求導 #include<stdio.h> int main(){ int number1 = 0; int number2 = 0; int count = 0; while(1){ scanf("%d %d", &number1, &number2); if(number2==0){ if(count==0){ printf("0 0"); } } if(number2!=0){ if(count>0){ printf(" "); } printf("%d %d", number1*number2, number2-1); count ; } if(getchar()=='\n'){ break; } } return 0; }

測試結果

c盤大小計算公式(用C語言進行編程)6

c盤大小計算公式(用C語言進行編程)7

很顯然結果是正确的,但是呢,在具體做題的時候我會遇到許多問題,需要靜下心來一點點來解決,最終成功完成這道題目了。

總結

總的來說,這道題目其實難度并不大,但是需要細心細心再細心,不然就會出很多錯誤,特别是注意用到while循環,以及用條件語句對回車結束循環進行判斷。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
怎樣從手機上充值公交卡
怎樣從手機上充值公交卡
公交卡是日常出行的必備,雖然現在手機也可以刷公交地鐵,但手機有時網絡差或沒有電的情況下,就會影響出行了,所以,随身備上公交卡是有備無患的,以前給公交卡充值必須得去地鐵站或公交公司的一些網點,有時也不是很方便,現在手機随時随地就可以給公交卡充...
2025-03-14
怎樣換手機電池
怎樣換手機電池
怎樣換手機電池?拆開後蓋:在拆機前,一定先将手機關機,以免發生意外應該首先将手機裡面的手機卡槽取出,然後使用吸盤,吸住手機上半部分,慢慢用力拉開,裡面是卡扣設計,一次性太用力的話可能會弄斷卡扣,下面我們就來說一說關于怎樣換手機電池?我們一起...
2025-03-14
什麼軟件可以解壓縮rar
什麼軟件可以解壓縮rar
壓縮/解壓縮軟件可以說是電腦上最不可或缺的工具之一了,一直WinRAR/WinZip占據着無數人的桌面,但其實它們都是收費的商業軟件,與其用盜版,我們不如尋找免費的正版替代品吧。雖然7-Zip是開源免費壓縮工具中的佼佼者,但用得不是很順手,...
2025-03-14
筆記本風扇不轉
筆記本風扇不轉
筆記本風扇不轉?首先考慮是不是風扇已經壞了,如果壞了的話就隻能拿去維修或者更換一個了,今天小編就來聊一聊關于筆記本風扇不轉?接下來我們就一起去研究一下吧!筆記本風扇不轉首先考慮是不是風扇已經壞了,如果壞了的話就隻能拿去維修或者更換一個了。如...
2025-03-14
電腦沒有網卡驅動怎麼辦?
電腦沒有網卡驅動怎麼辦?
電腦沒有網卡驅動怎麼辦?拿着U盤在朋友家電腦上從驅動之家、中關村在線、華軍等網站下載驅動軟件,下載驅動軟件要注意:一是适合網卡使用的驅動,二是适合現在的系統便用,三是要看該驅動軟件公布的時間,最新的未必适合使用,可多下載幾個,挑着使最好從官...
2025-03-14
Copyright 2023-2025 - www.tftnews.com All Rights Reserved