關於階乘的數值問題,嘗試用各種迴圈語句實現:
(1)編寫程式求n階乘。輸入乙個正整數n,輸出其階乘 的值。
(2)編寫程式求階乘和。對於乙個正整數m,輸出1~m的階乘和 。
(3)編寫程式求常量e的近似值,估算公式如下:
(4)編寫程式計算的 值,公式如下:
#include #include #include //輸入乙個正整數n,輸出其階乘的值。
int factorial(int n)
return fac;
}//求階乘和
int factorial_sum(int n)
return fac_sum;
}//求常量e的近似值
float ee(int n)
return e;
}//計算的e^x值
float eex(double x,int n)
return ex;
}int main()
case 2:
case 3:
case 4:
default:
printf("輸入錯誤");
#include #include //方法1
float pi_1()
return 4*pi_4;
}//方法2
double pi_2()
return 2*pi_2;
}int main()
case 2:
default:
printf("輸入錯誤\n");
break;
}return 0;
}
分別用窮舉法和迭代法求兩個整數的最大公約數。輸入兩個正整數m和n,程式設計求它們的最大公約數。
最簡單的求最大公約數演算法為遍曆法,即在小於兩數最小值的所有整數中尋找公約數,能將兩數整除的最大因子為最大公約數。為了加快搜尋速度,常採用輾轉相除法求最大公約數: m 與 n 的最大公約數等於 n 與 m%n 的最大公約數;用n和m%n替換原來的 m與n的值;直到n = 0時,當前 m的值為所求最大公約數。
例如,m = 24,n = 9時:
(1)24和 9 的最大公約數等於 ( 24 % 9 ) = 6 和 9 的最大公約數;
(2)9 和 6 的最大公約數等於 ( 9 % 6 ) = 3 和 6 的最大公約數;
(3)6 和 3 的最大公約數等於 ( 6 % 3 ) = 0 和 3 的最大公約數;
因此 24 和 9 的最大公約數等於 3。
#include #include //窮舉法maximum common divisor
int mcd_1(int m,int n)
}return i;
}//迭代法
int mcd_2(int m,int n)
return n;
}int main()
else if(m == n)
printf("請輸入選擇的操作:1,窮舉法;2,迭代法\n");
int sel;
scanf("%d",&sel);
switch(sel)
case 2:
default :
}return 0;
}
菲波那契在數學代表作《算盤書》提出了這樣的問題:有小兔一對,若在它們出生後第二個月成年,第三個月就有生殖能力,而有生殖能力的一對兔子每乙個月都生一對兔子。設所生的一對兔均為一雌一雄,且均無死亡。問新生的一對兔子一年後可以繁殖成多少對兔子?該問題可以用菲波那契數列解決。
fibonacci 數列:0,1,1,2,3,5,8,13,21,34,……
f0 = 0
f1 = 1
fn = fn-1 + fn-2 ( n >= 2 )
用迭代的方法輸出數列的前20項,每行輸出8個數。
#include #include int main()
else if(i==2)else
if(i%8 == 0)
i++;
}return 0;
}
5.螢幕列印圖中的三角形圖案.
圖8.13 輸出三角形
#include #include int main()
printf("\n");
}break;
}case 'b':
printf("\n");
}break;
}case 'c':
for(j=i;j>=1;j--)
printf("\n");
}break;
}case 'd':
for(j=1;j<=i;j++)
printf("\n");
}break;
}default :
}return 0;
}
6.程式設計判斷乙個數是否為素數,輸出n~m內的所有素數,並統計素數的個數。
#include #include //判斷乙個數是不是素數
int sushu(int n);
int count=0;
while(n != 0)
int i;
int sum=0;
for(i=count-1;i>0;i--)
printf("%d",a[0]);
sum += a[0];
printf("=%d",sum);
return 0;
}
9[選作].程式設計實現猜數遊戲
由程式自動生成乙個1到10之間隨機整數,請參加遊戲的人猜,遊戲者通過鍵盤輸入猜測的數字,如果猜對了則結束遊戲;否則輸出提示資訊,顯示所猜的數是太大還是太小。 遊戲結束後輸出猜字的次數。 若規定輸入猜測字的次數不得超過6次,若多於6次仍未猜中則自動結束遊戲,並輸出「輸局」的資訊。如果在遊戲過程中,玩家可以隨時終止遊戲,在提示玩家繼續輸入新的猜測數時,可由使用者選擇是否繼續進行遊戲。
#include #include int main()
else if(guess < rn && guess>=1)else if(guess > rn)else if(guess == -1)
}if(count > 6 && flag == 0)
return 0;
}
《C程式設計快速高階大學教程》第五章程式題
1 編寫程式求三個整型數的和 積和平均值,輸入三個數的值,輸出結果。include include int main 2 編寫程式求圓柱體底面周長 圓柱體的表面積和體體積。要求輸入圓柱的底面直徑和高,輸出計算結果,取小數點後2位數字,輸入輸出時要求有文字說明。include include defi...
第8章 C 函式的高階特性
一 函式過載的概念 1 同名函式,引數不同 包括型別 順序不同 2 全域性函式和類的成員函式同名不算過載,因為函式的作用域不同 全域性函式被調時應加 標誌 二 成員函式的過載 覆蓋與隱藏 1 成員函式被過載的特徵 a 相同的範圍 在同乙個類中 b 函式名字相同 c 引數不同 d virtual關鍵字...
筆記 《C 大學教程》 第12章 GUI(二)
1.選單欄 3.列表和複選列表 新增和移除 listbox.items.add item listbox.items.remove item 4.下拉選擇 combobox 1 首先建立圖集,選擇imagelist,在list中新增,之後將listview的smalliamgelist屬性設定為建立...