我觉得编的程序很合理.为什么不对?

来源:百度知道 编辑:UC知道 时间:2024/05/21 11:42:24
题目:
编写一个程序实现如下功能:一辆卡车违反交通
规则,撞人后逃跑。现场有三人目击事件,但都
没有记住车号,只记下车号的一些特征。甲说:
牌照的前两位数字是相同的;乙说:牌照的后两
位数字是相同的,但与前两位不同;丙是数学家,
他说:四位的车号刚好是一个整数的平方。请根
据以上线索求出车号。
我的程序:
#include<math.h>
main()
{
int a,b,s;
a!=b;
0<=a&&a<=9;
0<=b&&b<=9;
s=1000*a+100*a+10*b+b ;
s==sqrt(s)*sqrt(s) ;
printf("%d\t%d\t%d\t%d\n",a,a,b,b);
}

你的程序思路很乱 这是我写的

#include<math.h>
#include <stdio.h>
main()
{
int a,b,s;

for (a=0;a<=9;a++)
{
for (b=0;b<=9&&b!=a;b++)
{
s=1000*a+100*a+10*b+b;
int n=sqrt(s);
if (s==n*n)
printf("%d\t%d\t%d\t%d\n",a,a,b,b);
}
}
return 0;
}

perl语言写的,你的问题是:s==sqrt(s)*sqrt(s) ; 想想这么判断有意义吗?希望对你有帮助
#!usr/bin/perl -w
use strict;

my $i;
my $j;

for ($i = 1;$i<=9;$i++) {
for ($j=0;$j<=9;$j++) {

if($i != $j) {
my $s = 1000*($i)+100*($i)+10*($j)+$j;
my $sqr = sqrt($s);
if ($sqr!~/\./){
print "$sqr\n";
print "the number you want is:$s\n";
}
}

}
}