学习C语言时遇到的一个问题,求解答 50
这样一个题,我怎么想都不太会,哪位大神能帮忙解决一下,代码怎么打呢?最好用选择和循环结构,不要用太难的语法,谢谢。...
这样一个题,我怎么想都不太会,哪位大神能帮忙解决一下,代码怎么打呢?最好用选择和循环结构,不要用太难的语法,谢谢。
展开
展开全部
/*参考代码如下:*/
#include<stdio.h>
#include<conio.h>
int wide_n(int num)
{
int i,n=0;
for(i = num; i != 0;++n,i = i/10);
return n;
}
int pow_n(int num, int n)
{
int i,s = 1;
for(i=0; i<n; ++i)
s = s*num;
return s;
}
int isshuixian(int num)
{
int i,j,k,n,s=0,t=0;
if(num<100)
return 0;
n = wide_n(num);
for(i = 0, t = num; i < n; ++i){
j = t%10;
t = t/10;
k = pow_n(j, n);
s = s+k;
}
if(num == s)
return 1;
return 0;
}
int numOfShui(int a, int b)
{
int i,j,t;
t = a>b?a:b;
i = a<b?a:b;
for(j = 0;i <= t;++i)
if(isshuixian(i)){
++j;
}
return j;
}
int main()
{
int i, n,a,b, s[100]={0};
scanf("%d",&n);/*n不大于100*/
for(i = 0; i < n; ++i){
scanf("%d%d",&a,&b);/*注意:TC2.0编译器int最大不超过32761*/
s[i]=numOfShui(a,b);
}
for(i = 0; i < n; ++i){
printf("%d\n", s[i]);
}
getch();
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询