练习一 求和
int sum(int m, int n)
{
int s=0;
for(int i = m;i<=n;i++)
{
s = s+i;
}
return s;
练习二 输出较大的数
int max(int a,int b)
{
int u;
if(a>=b) u = a;
else u =b;
return u;
}
练习三 字符金字塔
void CharPyramid(int n, char ch)
{
for(int i =1;i<=n;i++)
{
for(int j=1;j<=(n-i);j++)
{
printf(" ");
}
for(int b=1;b<=i;b++)
{
printf("%c ",ch);
}
putchar('n');
}
}
习题1 符号函数
int sign(int x)
{
int result;
if(x>0) result = 1;
else if(x<0) result = -1;
else result = 0;
return result;
}
习题2 判断奇数并求和
int even(int n)
{
if(n%2 == 0) return 1;
else return 0;
}
int OddSum(int List[],int N)
{
int sum=0;
for(int i=0;i
if(List[i]%2!=0) sum = sum+List[i];
}
return sum;
}
习题3 求两点之间距离
double dist( double x1, double y1, double x2, double y2 )
{
double distance=0;
distance = sqrt(pow((x1-x2),2)+pow((y1-y2),2));
return distance;
}
习题4 计算素数个数并求和
int prime(int p)
{
if(p<2) return 0;
else if(p==2) return 1;
else
{
for(int i=2;i
if(p%i == 0) return 0;
}
return 1;
}
}
int PrimeSum( int m, int n )
{
int sum = 0;
for(int j=m;j<=n;j++)
{
if(prime(j) == 1) sum = sum+j;
}
return sum;
}
习题5 使用函数统计指定数字的个数
int CountDigit( int number, int digit )
{
int count = 0;
if(number<0) number = -number;
if(number == 0)
{
if(digit == 0) count =1;
}
while(number>0)
{
if(number%10 == digit) count++;
number = number/10;
}
return count;
}
习题5-6 使用函数输出水仙花数
int narcissistic( int number )
{
int sum=0;
int k = number;
while(k>0)
{
int q = k%10;
int m =1;
for(int i=number;i>0;i/=10)
{
m=q*m;
}
sum = sum+m;
k = k/10;
}
if(sum == number) return 1;
else return 0;
}
void PrintN( int m, int n )
{
for(int j=m+1;j
if(narcissistic(j) == 1)
printf("%dn",j);
}
}
习题5-7 使用函数求余弦函数的近似值
double funcos( double e, double x )
{
double sum,mul,fenzi;
sum = mul = fenzi = 1;
int n,fact;
n=1;fact = -1;
do
{
for(int i=2*n;i>=(2*n-1);i--)
{
mul = mul*i;
}
fenzi = fenzi*x*x;
sum = sum + fact*fenzi/mul;
fact = -fact;
n++;
}while((fenzi/mul)>=e);
return sum;
}
习题5-8 空心的数字金字塔
void hollowPyramid ( int n )
{
int i;
for(i=1;i
for(int j=1;j<=(n-i);j++)
{
printf(" ");
}
printf("%d",i);
if(i>1)
{
int k = 2*i-3;
while(k>0)
{
printf(" ");
k--;
}
printf("%dn",i);
}
else putchar('n');
}
for(int j=1;j<=(2*n-1);j++)
{
printf("%d",i);
}
}



