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直接退出程序,以减少循环次数,节省时间;

posted @ 2023-04-20 18:56  连师傅只会helloword  阅读(329)  评论(0编辑  收藏  举报