三、程式填空題
3-32程式閱讀:
下列程式將輸出(5分)。
# include
int s;
int f(int m)
static int k=0;
for(; k<=m; k++) s++;
return s;
int main(void )
int s=1;
s=f(2)+f(2);
printf("%d#%d#", s, f(20));
return 0;
四、函式
4-3?求m到n之和???(10分)
int sum(int m, int n)
int i;
int s=0;
for(i=m; i<=n; i++)
s= s + i;
return (s);
4-34?簡單輸出整數???(10分)
void printn ( int n )
int i;
for(i=1; i<=n; i++)
printf("%d\n", i);
4-36?簡單求和???(10分)
int sum ( int list, int n )
int k;
int sum=0;
for(k=0; k
sum += list[k];
return sum;
4-40?簡單階乘計算???(10分)
int factorial( const int n )
int i;
int s=1;
if( n < 0 )
return 0;
else if( n == 0)
return 1;
else
for(i=1; i<=n; i++)
s*=i;
return s;
4-41?統計個位數字???(15分)
int count_digit(const int n, const int d)
int x;
int count=0;
int temp=0;
x=n;
if(x<0)
x=-x;
dotemp=x%10;
if(temp==d)
count++;
x=x/10;
while(x>0);
return count;
4-43?找兩個數中最大者???(10分)
int max( int a, int b )
int max;
if(a >= b)
max = a;
else
max = b;
return max;
4-44?數字金字塔???(15分)
void pyramid(int n)
int i, j, space;
for(i=1; i <= n; i++)
space = n - i;
for(j=0; j < space; j++)
putchar(' ');
for(j=0; j < i; j++)
printf("%-2d", i);
putchar('\n');
4-45?判斷奇偶性???(10分)
int even( int n )
if( n<0 )
n = -n;
if( n%2==0 )
return 1;
else
return 0;
4-46?使用函式求奇數和???(15分)
int even( int n )
if( n<0 )
n = -n;
if( n%2==0 )
return 1;
else
return 0;
int oddsum( int list, int n )
int k;
int oddsum = 0;
for(k=0; k
if(even(list[k])==0)
oddsum += list[k];
return oddsum;
4-47?使用函式計算兩點間的距離???(10分)
double dist( double x1, double y1, double x2, double y2 )
double dist;
dist = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) );
return dist;
4-48?使用函式求素數和???(20分)
int prime( int p )
int i,j;
計算x的n次方
計算x的n次方有遞迴和遞推程式。不論從時間或空間來看,自然遞推優於遞迴。然而,二分法則是極其優的一種方法,用在計算x的n次方完全沒有問題,而且不是遞迴而是遞推的程式。程式中使用條件編譯,以便於統計分析演算法的計算量。正解是函式power3。計算x的n次方程式 1.遞迴程式 2.非遞迴程式 3.二分法...
java 計算x的n次方
x的n次方,可以用簡單的迭代方法自乘n次,但這種方法十分低效。可以用兩種方法 如下 計算x的n次方的方法,public class x n 第二種方法 把n轉化為二進位制數,掃瞄每個二進位制位,若為0則,則直接平方,否則平方後再乘以x param i param j return private s...
快速冪求x的n次方
o logn 的時間複雜度求x的n次方,x為自然數,n為整數?如果 power 5 為奇數,result儲存當前的多餘的乙個4,並在返回結果時一併與結果相乘。2 10 2 2 2 2 2 2 2 2 2 2 4 5 4 4 4 4 4 4 4 4 4 16 2 16 2 16 16 256 如果 p...