不确定会输入几组数据的情况如何结束循环

判断一个数是否为对称且不大于五位数的素数。要求判断对称和判断素数各写一个函数。

输入格式:
测试数据有多组,处理到文件尾。每组测试输入一个正整数n(0 < n < 2
32
)。

输出格式:
对于每组测试,若n是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独占一行。注意:引号不必输出。

输入样例:
11
101
272
33533
2147483647
输出样例:
Yes
Yes
No
Yes
No
出处:
ZJUTOJ 1187

c++中有 EOF 来判断 是否到达文件尾部

while((ch = cin.get()) != EOF)
{
cout << ch;
}

同时需要 同时按住Ctrl+Z来退出输入。

while(scanf("%d",&n)),scanf的返回值是读入的数据个数,如果读到EOF,scanf会返回0,不满足while条件,就自动跳出了
有帮助望采纳~