c语言程序设计,,有个题目不会做,求助中

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:38:42
题目是这样的:有一个四位的车牌号,已知有下列线索:1.车牌号的前两位相同,2.车牌号的后两位也相同,但与前两位不相同,3.车牌号本身是一个整数的平方
对于这个问题我编程如下:
#include <stdio.h>
int main()
{
int a,b,c,d,i,n;
i=1;
do
{
n=i*i,i++,a=n/1000,b=n/100-10*a,d=n%10,c=n/10-a*100-b*10
}while(a==b&&c==d!a==d);
printf("%d",&n);
}
然而结果却是错的,,也不知道哪里错了,,
希望各位电脑高手能帮我纠正
另外,我的文件格式名为cpp

楼主对C语言基础知识掌握得不是很牢固呀!
#include <stdio.h>
int main()
{
int a,b,c,d,i,n;
i=1;
do
{
n=i*i,i++,a=n/1000,b=n/100-10*a,d=n%10,c=n/10-a*100-b*10
}while(a==b&&c==d!a==d);//这里是个明显错误,容易看出
printf("%d",&n);/*这个错误就比较隐蔽了,不过运行的时
候应该会有个地址输出来,所以你也应该看得出*/
}
还有既然楼主写的是int main()
那为什么在函数尾部加上return 0; 呢?
要不然就写成 void main()

#include <stdio.h>
void main()
{
int a,b,c,d,i,n;
i=1;
do
{
n=i*i,i++,a=n/1000,b=n/100-10*a,d=n%10,c=n/10-a*100-b*10;
}while(!(a==b&&c==d&&a!=d));
printf("i^2=%d\n",n);
printf("i=%d\n",i);
}

#include <stdio.h>
int main()
{
int a,b,c,d,i,n;
i=1;
do
{
n=i*i,i++,a=n/1000,b=n/100-10*a,d=n%10,c=n/10-a*100-b*10;
}while(!(a==b&&c==d&&a!=d));
printf("%d",n);
}
结果是7744

5566