C語言練習題

2021-09-29 09:33:15 字數 2668 閱讀 6899

1.保密電文:某電報局的電文保密規律是將每個英文本母變成其後的第4個字母,例如a變成e,a變成e。最後四個字母(w, x,y,z或w,x,y,z)變成前四個字母(a,b,c,d或a,b,c,d)。電文中的非字母字元不變。

要求:輸入一行字串,輸出改變的字串。

程式分析:

題目程式:

#include

intmain()

//判斷是w--z和w--z

elseif(

((87<=

(int

)n[i])&&

((int)n[i]

<=90)

)||((

119<=

(int

)n[i])&&

((int)n[i]

<=

122)))

}//非字母時原樣輸出

else

}return0;

}

程式截圖:

2.猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了二分之一,還不過癮,又多吃了乙個。第二天在上又將剩下的桃子吃掉二分之一,又不過癮又多吃了乙個。以後每天早上都吃了前一天剩下的二分之一零乙個。到第n天早上再想吃時,見只剩下乙個桃子了。求第一天共摘了多少個桃子。

要求:輸入n,輸出桃子總數

程式分析:

程式中需要的變數有:

天數 int n,桃子總數 int sum。

並且根據題意變數都是整型(int)。

求解思路:

根據總共的天數反向求解桃子的個數,桃子每天減少公式為:2*(sum+1)。
題目程式:
#include

intmain()

printf

("桃子總數為:%d\n"

,sum)

;return0;

}

3.回文素數問題。輸入乙個n,輸出n以內的所有回文素數,即即是素數,又是回文數(數字從前往後,從後往前看一樣)例如:373,232。

要求:輸入大於10的正整數n。

輸出n以內的所有回文素數。

程式分析:

首先從數字1開始遍歷直到n,對每個數字進行判斷,是否為回文素數,若符合要求則輸出。

題目程式:

#include

intsushu

(int n)

//判斷素數}if

(x)else

}int

huiwenshu

(int m)

//判斷回文數

for(j=i-

1; j>=

0; j--)

num=num/10;

}return1;

}else

}int

main()

}return0;

}

執行結果:

4.c語言實驗–整數的溢位:小明在做整數加法計算時,發現選擇不同的整數型別得到的計算結果不一樣,經過研究她發現了乙個簡單規律,可以根據計算結果推出程式用到的資料型別。請根據給出的測試資料,推算出程式用到的整數型別,並用該型別編寫相應的假髮程式。

例如:輸入:32767 和 32767

輸出:-2

程式分析:

本題考驗程式的溢位問題,

首先解釋一下什麼是溢位:資料型別超過了計算機字長的界限而出現的資料溢位,也就是計算機裝不下咱的資料然後把裝不下的資料扔了出來。

題目中輸入兩個32767進行加法運算,其結果為65534.

而short型別的資料範圍在-32768~32767之間。當你輸入的資料大於32767那麼計算機就會對你的資料進行溢位表現為:

所以在編寫程式時要著重考慮變數的取值範圍。

題目程式:

#include

intmain()

}

5.用數字造數字:輸入乙個3位以上的整數,求其中最大的兩個數字之和與最小的數字之和之間的差。

例如:輸入8729,輸出8,即(9+8)-(2+7)=8.

要求:輸入乙個三位以上的整數。

輸出最大的兩個數字之和與最小的數字之和之間的差。

題目程式:

#include

intmain()

if(a

if(a

if(b

if(b

if(c

n=(a+b)

-(c+d)

;printf

("%d"

,n);

return0;

}

程式結果:

C語言練習題

8 編寫乙個程式,將字串str2中的全部字元複製到字串str1中。要求 不能使用strcpy函式。12分 include definemaxlen 20 假設 str2 的長度不超過 str1 的長度 voidstrcopy char str1,char str2 intmain 9 3 20分 從...

c語言練習題1

1 編寫乙個程式實現求圓形的面積,使用者自己輸入半徑?s pi r r include define pi 3.14 int main int argc,const char argv 2 編寫乙個遞迴函式,求乙個整數的2進製形式。include void calc int n int main i...

C語言練習題複習

1.日本某地發生了一件 案,警察通過排查確定殺人 必為4個嫌疑犯的乙個。以下為4個嫌疑犯的供詞。a說 不是我。b說 是c。c說 是d。d說 c在胡說 已知3個人說了真話,1個人說的是假話。現在請根據這些資訊,寫乙個程式來確定到底誰是 2.列印楊輝三角 3.輸出乙個整數的二進位制序列 define c...