//使用函数求余弦函数的近似值
#include <stdio.h>
#include <math.h>
int fact(int n);
double funcos(double e,double x);
int main()
{
double e,x;
printf("Enetr e,x:");
scanf("%lf%lf",&e,&x);
printf("%lf",funcos(e,x));
return 0;
}
int fact(int n)
{
int product=1,i;
for(i=1;i<=n;i++){
product=product*i;//不能用静态变量
}
return product;
}
double funcos(double e,double x)
{
int i=0;
double temp=1,cosx=0;
while(fabs(temp)>=e){
temp=(pow(x,2*i)/fact(2*i))*pow(-1,i);
cosx+=temp;
i++;
}
return cosx;
}
//使用函数输出水仙花数
#include <stdio.h>
#include <math.h>
int is(int number);
int main()
{
int m,n,number;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
for(number=m;number<=n;number++){
if(is(number)==1){
printf("%d\n",number);
}
}
return 0;
}
int is(int number)
{
int remainder,sum=0;
int a=number;
while(number!=0){
remainder=number%10;
sum+=pow(remainder,3);
number/=10;
}
if(sum==a) return 1;
else return 0;
}
//输出n行空心的数字金字塔
#include <stdio.h>
int main()
{
int i,j,n;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n-1;i++){//打印高度
for(j=1;j<=n-i;j++){
printf(" ");
}
if(i==1){printf("% d\n",i);
}
else { printf("%d",i);
for(j=1;j<=2*i-1;j++){
printf(" ");
}
printf("%d\n",i);
}
}
if(i==n){
for(j=1;j<=2*i+1;j++){
printf("%d",n);
}
}
return 0;
}