我用vs2010编写的c语言,是一道课后题,题目:abcd-cdc=aba a,b,c,d均为非负整数,求a,b,c,d的值

2025-03-10 01:55:35
推荐回答(4个)
回答1:

你写的程序有问题。
首先判断“等于”应该用“==”,其次while的使用也不对,它并不在循环之内,所以最后的s的值只有唯一的一个,循环没有任何意义。我修改了一下程序(c的值可以从1开始循环,>#include也是可以不需要的,因为没有涉及特殊的数学函数处理):
#include
void main()
{
int a,b,c,d;
int s;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=1;c<=9;c++)
for(d=0;d<=9;d++)
{
s = 899*a+90*b-91*c-9*d;
if(s==0)
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
}
getchar();
}

不幸的是,我测试了一下,这样改过之后还是没有结果,但程序是没问题的。不知道你的题目有没有问题。希望有帮助

回答2:

while(s=0)
{ printf("a=%d,b=%d,c=%d,d=%d",a,b,c,d);
}

表达式s=0的值为1,即while(0),循环条件为假,是不会打印的

回答3:

有两个错误,开头的
#include#include

应该分成2行写,即
#include
#include
然后就是循环部分,应该改成while(s==0),应该就OK了

回答4:

在while循环那里,直接把0赋值给s,条件总是为假,while循环不会执行的。这个是=和==的要注意的地方。