C C 迴圈結構程式設計練習

2021-10-02 14:40:11 字數 2833 閱讀 5309

相對第一天,第二天的已經有點挑戰了。例題和習題已經出現了真正的競賽題目——僅使用簡單變數和基本的順序、分支和迴圈結構就可以解決很多問題。

水仙花數。輸出100~999所有的水仙花數。abc=a3+b3+c3即為水仙花數。eg:153就是水仙花數,153=13+53+33

韓信點兵。相傳韓信清點士兵從來不直接清點。只要讓士兵三人一排、五人一排、七人一排地變換隊形,每次只要看隊尾的幾個人就可以得出士兵的數量。輸入包含多組資料,每組資料報含3個非負整數a,b,c,表示每種佇列排尾的人數(a<3,b<5,c<7),輸出為符合的人數最小值(全部不符合就輸出no answer)。總人數不小於10,不超過100。輸入到檔案結束為止。

樣例輸入:

2 1 6

2 1 3

樣例輸出:

case 1: 41

case 2:no answer

倒三角形。輸入正整數n(n<=20),輸出乙個n層倒三角形。例如

樣例輸入:

5樣例輸出:

分數化小數。輸入正整數a,b,c,輸出a/b的小數形式,精確到小數點後c位。a,b<=106,c<=100。輸入包含多組資料,結束標記為a=b=c=0。

樣例輸入

1 6 4

0 0 0

樣例輸出:

case 1:0.1667

// 1,水仙花數

//很常見的題目了,自己大一遇到這個題目三四次了。。。

#include

intmain()

return0;

}// *2,韓信點兵

#define local

#include

intmain()

}if(temp !=1)

printf

("case %d: no answer\n"

,++count);}

return0;

}// 3.倒三角形

//以輸入5為例,可以找出規律。

//輸出" "的規律:第i行輸出i-1個

//輸出"#"的規律:第i行輸出(n-i)*2+1個

#include

intmain()

return0;

}// *4.子串行的和

#include

intmain()

printf

("case %d: %.5f\n"

,++k, sum);}

return0;

}// 5.分數化小數

//自己覺得難點在實現保留不固定的小數字

//自己通過論壇大佬的幫助解決了這一問題,就是使用*佔位符

#include

//#include

intmain()

return0;

}// 6.排列

//下面詳細說

第6題是acm的題目,自己第一次寫確實寫不來,自己寫的**什麼輸出都沒有,google了這道題,找到了解決方法:

這裡我還是把我第一次寫失敗的**截圖出來吧,畢竟是自己寫了很久的**,也當是個教訓了。

//錯誤**

#include

intmain()

return0;

}//接下來是正確的**:

#include

//實現輸入乙個三位數,將三個位置上的數字累加存入result_add,累乘存入result_mul

void

result

(int num,

int&result_add,

int&result_mul)

//num是傳入值,其他兩個是傳出值,用來將傳入的三位數三個組成數字累加和累乘。

intmain()

return0;

}

題1:

修改程式,輸出2,4,6,8,…,2n,每個一行。

#include

intmain()

修改for的條件,其他不改

修改迴圈體,其他不改

兩種方法都寫

// 1.修改條件的方法

for(

int i =

2;i<=

2*n;i+=2

)//其他地方不動

// 2.修改迴圈體的方法

printf

("%d\n",2

*i);

//其他地方不動

題2:

說出下面程式輸出的資料

#include

intmain()

先來**一下,我一開始認為i從0一直加0.1,加到9.9的時候,再次+0.1,然後!=條件不滿足,跳出迴圈,輸出的應該就是0到9.9的一行行的資料。

但是,我們執行後,卻出現了死迴圈。這是因為浮點數計算有誤差,9.9+0.1!=10,可能等於0.9999999什麼的,從而陷入死迴圈,從而輸出大於10的資料。這裡我們也知道了,用浮點數做條件的時候不要用不等於,用小於大於這些影響還是不大的,就像上面乙個練習:子串行的和,for迴圈裡的i就是double型別(保證1/(i*i)計算不為0)。

這節練習確實挺難的,但多寫寫,多了解一些思路應該就會了。

C C 學習 迴圈結構

while 表示式 語句 當表示式為真時,執行語句。否則執行下一條語句。include using namespace std intmain cout sum endl getchar 解決程式閃退問題 return0 do 語句 while 表示式 注意 1 do語句的最後必須用分號 作為語句結...

C C 基礎程式設計練習

basic 1 閏年的判斷 basic 2 01字串 basic 3 數列特徵 basic 4 字母圖形 basic 5查詢整數 basic 6 楊輝三角形 basic 7 特殊的數字 basic 8 回文數 basic 9 特殊回文數 basic 10十進位制轉十六進製制 basic 11 十六進...

C C 程式設計入門練習

平均數,輸入三個整數,輸出平均數,保留三位小數。溫度,輸入華氏溫度f,輸出攝氏溫度c,保留三位小數。c 5 f 32 9 連續和,輸入正整數n,計算1 2 n的值。注意解決問題。正弦和余弦,輸入正整數n n 360 輸出n 的正弦余弦值。使用math.h 打折,一件衣服95,滿300打八五折。輸入件...