打印本文 打印本文  关闭窗口 关闭窗口  
C趣味程序百例(04)抓交通肇事犯
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:19  文章录入:杜斌  责任编辑:杜斌

12.抓交通肇事犯
    一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。
*问题分析与算法设计
    按照题目的要求造出一个前两位数相同、后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
*程序与程序注释
#include<stdio.h>
#include<math.h>
void main()
{
    int i,j,k,c;
    for(i=1;i<=9;i++)                  /*i:车号前二位的取值*/
        for(j=0;j<=9;j++)              /*j:车号后二位的取值*/
            if(i!=j)                   /*判断二位数字是否相异*/
            {
                k=i*1000+i*100+j*10+j; /*计算出可能的整数*/
                for(c=31;c*c<k;c++);   /*判断该数是否为另一整数的平方*/
                if(c*c==k) printf("Lorry--No. is %d.\n",k);     /*若是,打印结果*/

            }
}
*运行结果
    Lorry _No.is 7744
打印本文 打印本文  关闭窗口 关闭窗口