(Ⅰ)
练习5-1:求m到n之和
int sum(int m, int n)
{
int i, sum = 0;
for (i = m; i <= n; i++)
{
sum += i;
}
return sum;
}
练习5-2:找两个数中最大者
int max(int a, int b)
{
int max;
if (a <= b)
max = b;
else
max = a;
return max;
}
练习5-3:数字金字塔
void pyramid(int n)
{
int i, j, k;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n-i; j++)
{
printf(" ");
}
for (k = 1; k <= i; k++)
{
printf("%d ", i);
}
printf("\n");
}
}
(Ⅱ)
习题5-1:符号函数
int sign(int x)
{
int ret;
if (x > 0)
{
ret = 1;
}
else if (x == 0)
{
ret = 0;
}
else
ret = -1;
return ret;
}
习题5-2:使用函数求奇数和
int even(int n)
{
int flag;
if (n % 2 != 0)
{
flag = 0;
}
else
flag = 1;
return flag;
}
int OddSum(int List[], int N)
{
int i, sum = 0;
for (i = 0; i < N; i++)
{
if (List[i] % 2 != 0)
{
sum += List[i];
}
}
return sum;
}
习题5-3:使用函数计算两点间的距离
double dist(double x1, double y1, double x2, double y2)
{
double dist = sqrt((x2 - x1)*(x2 - x1) + (y2 - y1