目录
题目:抓交通肇事犯
代码部分
关于初始化
运行结果
题目:抓交通肇事犯
一辆卡车违反交通规则,撞人后逃跑。现场有3人目击事件,但没有记住车牌号,只记住了车号的一些特征。
甲说:“牌照前两位数字是相同的”,乙说:“牌照的后两位数字是相同的,但与前两位不同”,丙是为数学家,他说:“4位车号正好是一个整数的平方”。
请根据以上线索求出车号。
代码部分:
#include
void main()
{
int i, j; //i代表前两位数,j代表后两位数
int a,b; //a表示原来的四位数车牌 b表示整数平方等于a的那个整数。
for (i = 0; i <= 9; i++)
{
for (j = 0; j <= 9; j++)
{
if (i != j)
{
a = i * 1000 + i * 100 + j * 10 + j;
for (b = 3; b * b <= a; b++) //最小值为3
{
if (b * b == a)
printf("车牌号为:%d", a);
}
}
}
}
}
关于初始化
看到这我就想到了一般C语言定义变量时候要初始化,这里的i,j,b都初始化了,a没有初始化。为啥嘞
当变量作为输入变量时不用初始化;作为储存变量值时不用初始化(即赋值语句左值时)。
例如a = i * 1000 + i * 100 + j * 10 + j;该句话!
当变量作为输入变量时不用初始化;作为储存变量值时不用初始化(即赋值语句左值时)。
例如a = i * 1000 + i * 100 + j * 10 + j;该句话!
运行结果:


![【18】[C语言]抓交通肇事犯。一辆卡车违反交通规则,撞人后逃跑。现场有3人目击事件,但没有记住车牌号,只记住了车号的一些特征。 【18】[C语言]抓交通肇事犯。一辆卡车违反交通规则,撞人后逃跑。现场有3人目击事件,但没有记住车牌号,只记住了车号的一些特征。](http://www.mshxw.com/aiimages/31/982370.png)
