习题5-6
#include<stdio.h>
#include<math.h>
int is(int item);
int main()
{
int n,m;
int i,j,k,sum,item;
printf("Enter n: ");
scanf("%d",&n);
printf("Enter m: ");
scanf("%d",&m);
for(i=n; i<=m; i++)
{
is(i);
sum=is(i);
if(sum==i)
printf("%d\n",i);
}
return 0;
}
int is(int item)
{
int k,sum;
sum=0;
while(item!=0){
k = item%10;
sum = sum + pow(k,3);
item = item/10;
};
return sum;
}
Enter n: 2
Enter m: 1000
153
370
371
407
习题5-5
#include<stdio.h>
#include<math.h>
int countdigit(int number ,int digit);
int main()
{
int n;
scanf("%d",&n);
countdigit(n,2);
printf("%d",countdigit(n,2));
return 0;
}
int countdigit(int number ,int digit)
{
int count,k;
count=0;
while(number!=0){
k=number%10;
if(k==digit){
count++;
}
number=number/10;
}
return count;
}
12292
3
习题5-7
#include <stdio.h>
#include <math.h>
double funcos(double e, double x);
double fact(int number);
int main()
{
double e;
double x;
printf("enter x: ");
scanf("%lf", &x);
printf("enter e: ");
scanf("%lf", &e);
printf("%lf", funcos(e, x));
return 0;
}
double funcos(double e, double x)
{
int flag;
int i;
double u;
double item;
double sum;
i = 0;
sum = 0.0;
flag = 1;
u = fact(i);
item = 1.0 * flag *pow(x,i) / u;
while(fabs(item) >=e){
sum = sum + item;
flag = -flag;
i += 2;
u = fact(i);
item = 1.0*flag *pow(x,i) / u;
}
return sum;
}
double fact( int number)
{
int k;
double sum;
sum = 1;
if(number==0)
return 1;
for(k=1; k<=number; k++)
sum *= k;
return sum;
}
enter x: 3
enter e: 0.0001
-0.989940