两道C语言编程题:一、输入一个整数,求它的位数以及各位数字之和。
一、输入一个整数,求它的位数以及各位数字之和。二、输入两个正整数m和n(m>=1,n<=1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的...
一、输入一个整数,求它的位数以及各位数字之和。二、输入两个正整数m和n(m>=1,n<=1000),输出m到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如,153的个位数字的立方和是1^3+5^3+3^3=153.程序不要太复杂,越简单越好,我刚开始学。好的我会追加分的
展开
1个回答
展开全部
一:
#include <stdio.h>
void main()
{
int a,i=0,sum=0;
scanf("%d",&a);
while(a)
{
sum+=(a%10);//sum是个位数之和
a/=10;
i++;//i为位数
}
printf("%d位数, 各位数字之和为%d\n",i,sum);
}
二:
#include <stdio.h>
int issxh(int number)
{
int x1,x2,x3;
x1=number/100; //百位数
x2=(number/10)%10; //十位数
x3=number%10; //个位数
if(x1*x1*x1+x2*x2*x2+x3*x3*x3==number)
return 1;
else
return 0;
}
void main()
{
int m,n;
scanf("%d%d",&m,&n);
for (int i=m;i<=n;i++)
{
if(issxh(i))
printf("%d ",i);
}
}
#include <stdio.h>
void main()
{
int a,i=0,sum=0;
scanf("%d",&a);
while(a)
{
sum+=(a%10);//sum是个位数之和
a/=10;
i++;//i为位数
}
printf("%d位数, 各位数字之和为%d\n",i,sum);
}
二:
#include <stdio.h>
int issxh(int number)
{
int x1,x2,x3;
x1=number/100; //百位数
x2=(number/10)%10; //十位数
x3=number%10; //个位数
if(x1*x1*x1+x2*x2*x2+x3*x3*x3==number)
return 1;
else
return 0;
}
void main()
{
int m,n;
scanf("%d%d",&m,&n);
for (int i=m;i<=n;i++)
{
if(issxh(i))
printf("%d ",i);
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询