c语言趣味编程(4)抓交通肇事犯
一、问题描述
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:四位的车号刚好是一个整数的平方。
请根据以上线索求出车号。
二、设计思路
(1)用变量i来代表车牌的前两个数字,j来代表车牌的后两个数字
(2)使用for循环(嵌套)来找出满足题目要求的车牌号(即四位的车号刚好使一个整数的平方)
(3)将满足题目的结果输出
三、程序流程图
四、伪代码
五、代码
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int i = 0, j = 0; 6 int k = 0; //k记录车牌号 7 int flag = 0; //用来记录是否找到嫌疑人车牌号 8 for (i = 0; i <= 9; i++) 9 { 10 for (j = 0; j <= 9; j++) 11 { 12 if (i != j) 13 { 14 k = 1000 * i + 100 * i + 10 * j + j; 15 for (int temp = 31; temp <= 99; temp++) 16 { 17 if (temp * temp == k) 18 { 19 flag = 1; 20 cout << "车牌号为" << k << endl; 21 } 22 } 23 } 24 if (flag == 1) //如果已经找到,直接退出 25 { 26 return 0; 27 } 28 } 29 } 30 }
六、总结
(1)在进行循环时,如果已找到所需要的值,可以选择return 0直接退出程序,以减少循环次数,节省时间;