循环试题二

xiaoxiao2021-02-28  145

编写程序,找出1到99之间的同构数。同构数是这样的一组数,它出现在平方数的右边,例如:5是25右边的数,25是625右边的数,5和25都是同构数。

#include<iostream.h> void main() { int i,a,b,tg; for(i=1;i<99;i++) { tg=i*i; if(i<=10) { a=tg%10; if(a==i) { cout<<i<<"的同构数是:"<<tg<<endl; } } if(i>10&&i<100) { b=tg%100; if(b==i) { cout<<i<<"的同构数是:"<<tg<<endl; } } } }

注意: 在计算10以内的数的同构数,它的平方数是小于等于100的两位数,所以取余保留一位数()而大于10小于100的数的同构数,它的平方取余保留平方数后两位(0)。

当计算1到999之间的同构数时,同样的思路。

#include<iostream.h> void main() { int i; for(i=1;i<1000;i++) { if(i>=1 && i<=9) { //当i是1位数时 if(i == (i*i)%10) //由于*的运算优先级大于%,可以不加括号 cout<<i<<"*"<<i<<"="<<i*i<<endl; } else if(i>=10 && i<=99) { //当i是2位数时 if(i == i*i%100) cout<<i<<"*"<<i<<"="<<i*i<<endl; } else if(i>=100 && i<=999) { //当i是3位数时? if(i == i*i%1000) cout<<i<<"*"<<i<<"="<<i*i<<endl; } } }

有四名专家对四款赛车进行讨论。 A说:2号赛车是最好的。 B说:4号赛车是最好的。 C说:3号赛车不是最好的。 D说:B说错了。 事实上,只有一款赛车是最好的,且只有一名专家说对了,其他3人都说错了,编程输出最好的赛车编号。

#include<iostream.h> void main() { int bestcar; int answer; for(bestcar=1;bestcar<=4;bestcar++) { answer=(bestcar==2)+(bestcar==4)+(bestcar!=3)+(bestcar!=4); if(answer==1) { cout<<"最佳赛车编号"<<bestcar<<"号赛车"<<endl; if(bestcar==2){cout<<"A专家说对了"<<endl;} if(bestcar==4){cout<<"B专家说对了"<<endl;} if(bestcar!=3){cout<<"C专家说对了"<<endl;} if(bestcar!=4){cout<<"D专家说对了"<<endl;} } } }
转载请注明原文地址: https://www.6miu.com/read-27009.html

最新回复(0)