题目:
据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。
输入描述:
多组输入,每行输入包括一个整数表示的智商。
输出描述:
针对每行输入,输出“Genius”。
多数人的做法:
int main() { int iq = 0; scanf("%d", &iq); if (iq >= 140) printf("Genius"); return 0; }
此做法未理解“多组输入”的含义,“多组输入”:指程序可以多次判断输入的数据,若要退出运行需要按三次CTRL+Z,若按上面这种代码运行只能判断一次程序就会自动退出
修改后的标准做法:
写法一:
#include<stdio.h> int main() { int iq = 0; while (scanf("%d", &iq)==1)//scanf函数正常读取返回1,CTRL+Z时scanf会返回EOF { if (iq >= 140) printf("Genius\n"); } return 0; }
写法二:
#include<stdio.h> int main() { int iq = 0; while (scanf("%d", &iq)!=EOF)//scanf函数正常读取返回1,CTRL+Z时scanf会返回EOF { if (iq >= 140) printf("Genius\n"); } return 0; }