三、程序填空题
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;
do
{
temp=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;