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
4-48 使用函数求素数和 (20 分)
int prime( int p )
{
int i,j;
int count =0;
for(j=2;j
0&&p!=1)
{
return 1;
} else{
return 0;
}
}
int PrimeSum( int m, int n )
{
int i,sum=0;
for(i=m;i<=n;i++)
{
if(prime(i)==1)
{
sum=sum+i;
}
}
return sum;
}
4-19 使用函数统计指定数字的个数 (15 分)
int CountDigit( int number, int digit )
{
int count,temp,x;
x=number;
if(x<0)
x=-x;
do
{
temp=x%10;
if(temp==digit)
count++;
x=x/10;
}
while(x>0);
return count;
}
4-20 使用函数输出水仙花数 (20 分)
int narcissistic(int number)
{
int i, j, digit, power, powerSum, integer, count, flag;
count = 0;
integer = number;
while (integer > 0)
{
integer = integer / 10;
count++;
}
powerSum = 0;
integer = number;
for (i = 0; i < count; i++)
{
digit = integer % 10;
integer = integer / 10;
power = 1;
for (j = 0; j < count; j++)
power = power*digit;
powerSum = powerSum + power;
}
if (powerSum == number)
else
flag = 1;
flag = 0;
return flag;
}
void PrintN(int m, int n)
{
int i;
for (i = m + 1; i < n; i++)
{
if (narcissistic(i) == 1)
printf("%d\n", i);
}
}