2.计算1~100一共多少个9
int get_num_counts(int temp)
{
int i=temp;
int count =0;//统计一个数中9的个数
while(temp!=0)
{
int n = temp%10;
if(n==9)
count++;
temp/=10;
}
printf("%d中有%d个9\n",i,count);
return count;
}
int main()
{
int sum=0;
for(int i =1;i<101;i++)
{
sum+=get_num_counts(i);
}
printf("1-100有%d个9\n",sum);
return 0;
}
3.求所有的水仙花数的个数求1000以内的完数
#include<stdio.h>
#include<math.h>
//判断一个数是不是完数
int is_perfect(int num)
{
int i,sum=1;
for(i=2;i<num;i++)
{
if(num%i==0)
sum+=i;
}
if(sum==num)
return 1;
else
return 0;
}
int main()
{
int i,count=0;
for(i=1;i<=1000;i++)
{
if(is_perfect(i))
{
printf("%d是完数\n",i);
count++;
}
//count++;
}
printf("1000以内的完数有%d个\n",count);
return 0;
}
4.马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩;他们在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令;问题:问男人、女人和小孩各有几人?
int main()
{
int x,y; //男人,女人
for(x = 0; x <= 30; x++)
{
for(y = 0; y <= (30-x); y++)
{
if((3*x + y*2 + 30-x-y) == 50)
{
printf("男人%2d,女人%2d,小孩%2d\n",x,y,30-x-y);
}
}
}
system("pause");
return 0;
}