【C語言教學手冊(四版)-練習題解答】
第8章
8.3 撰寫第一個 C 程式語言
6. 試撰寫 int power(int x, int n) method,用來計算 x 的 n 次方,並於主程式裡計算 power(5,3),即計算 5.0^3 。
#include<stdio.h>
int power(int,int );
int main()
{
int x=5,n=3;
printf(“%d的%d次方=%d\n”,x,n,power(x,n));
}
int power(int base , int n);
{
int i;
int pow=1;
for(i=1;i<=n;i++)
pow=pow*base;
return pow;
}
7.試撰寫一函數 int prime(int n),可用來找出第 n 個質數(第一個質數為 2,第二個質數 為 3,以此類推),並以此函數找出第 100 個質數。
#include<stdio.h>
int is_prime(int);
int main()
{
int cnt=0,x=2;
while(cnt<100)
{
if(is_prime(x++))
cnt++;
}
printf("第 100 個質數:%d\n",x-1);
}
int is_prime(int num)
{
int i;
for(i=2;i<=num-1;i++)
if(num%i==0)
return 0;
return 1;
}
8. 設 f(x )= 3^3+ 2x -1試寫一函數 double f (double x) ,用來傳回 f (x ) 的值,並於 主程式裡分別計算 f ( -3.2) 、 f ( -2.1) 、 f (0) 與 f (2.1) 。
#include<stdio.h>
double f(double );
int main()
{
printf("f(-3.2)=%.4f\n",f(-3.2));
printf("f(-2.1)=%.4f\n",f(-2.1));
printf("f(0)=%.4f\n",f(0));
printf("f(2.1)=%.4f\n",f(2.1)); }
double f (double x)
{
double a;
a=3*x*x*x+2+2 *x-1;
return a;
}
9. 試修改 prog8_7,使得當 n=1 時,is_prime(n) 會傳回 0(即判別 1 不是質數)。
#include<stdio.h>
int prime(int);
int main()
{
int n=1;
for(i=2;i<=30;i++)
if(prime(i))
printf(“%3d”,i);
printf(“\n”);
}
int prime(int num);
{
int i;
for(i=2;i<=num-1;i++)
if(num%i==0)
return 0;
return 1;
}
(不好意思小宣傳一下我的繪圖 希望大家喜歡)
\\♥
謝謝大家:))
ps
p新的貼圖終於出來了💜
💜
💜
可愛的海苔貓-第三代
海苔貓繪圖作品\\
希望大家支持~~