[求助]新手碰到的几个问题!请近来看下
我刚学C语言10几天,每次输入符号时总是一手按SHIFT,一手按字符,导致输入速度特慢,请高手指点下怎么输才能提高速度?我的问题是不是最基本的指法没掌握好? 还有一道题请看下输出所有的"水仙花数",所谓"水仙花数"是指一个3位数.其各位立方和等于该数本身.列如.153是个水仙花数,因为153=1*1*1+5*5*5+3*3*3.
下面是我编的程序,可输出的结果是错误的,请帮改正下.谢谢了!!!!!!!!1
#include<stdio.h>
void main()
{
int a,b,c,d;
d=a*100+b*10+c;
for(a=1;a<10;a++)
for(b=1;b<10;b++)
for(c=1;c<10;c++)
{
if(d=a*a*a+b*b*b+c*c*c)
printf("%d\n",d);
}
}谢谢了
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{int a,b,c,i;
for(i=100;i<=999;i++)
{a=i/100;
b=i/10-a*10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf(" %d",i);
}
getch();
}
[此贴子已经被作者于2007-7-25 14:02:35编辑过]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
main()
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i-a*100)/10
c=i%10
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{
int a,b,c;
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
getch();
}
b和c是可以等于0的,至于为什么要用“==”,我也说不清楚,可能是逻辑上相等
----------------解决方案--------------------------------------------------------
楼上漏了两个分号
#include<stdio.h>
int main(void)
{
int a,b,c,i;
for(i=100;i<=999;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
getch();
return 0;
}
----------------解决方案--------------------------------------------------------
谢谢 各位了~~ 你们的答案我都看了!不过又的地方还不是太懂,但是我正在努力~~~ 特别是
卧龙孔明 今天还下你了一篇 电子书 让我收益非浅 在这一快说谢谢了!!!
----------------解决方案--------------------------------------------------------