牛客网BC50(你是天才吗?)

题目

据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。

#include<stdio.h>

int main()
{
	int iq = 0;
	while (scanf("%d", &iq) == 1)
	{
		if (iq >= 140)
			printf("Genius\n");
	}
	return 0;
}

解答

  1. 需要输入数值进行判断选择,scanf函数作用为输入数据,数据从键盘读取到内存中。故使用scanf函数输入后在进行判断。
  2. if语句是选择语句,若大于等于140,则输出Genius。所以首先由if判断是否输出Genius。
  3. while语句为循环语句。再此程序中可重复检测是否为天才,若输入的数值>=140,则输出Genius,反之无输出。在VS软件中ctrl+z三次可强制退出循环,但其他软件中输入一次即可退出。
  4. 若想循环scanf输入,可以在while语句中使用scanf(“%d”, &iq) == 1;或者scanf(“%d”, &iq) != EOF;。

scanf(“%d”, &iq) == 1;或者scanf(“%d”, &iq) != EOF;
表示scanf函数读取成功,则进行循环

拓展scanf

int scanf ( const char * format, … );
其中:const char * format为输入格式,例如%d,%c……。“,”后面的…需要地址,表示输入数据后,要存放的地址。
简单的格式字符(截图来自添加链接描述
在这里插入图片描述

scanf函数返回的是读取到数据的个数。如果scanf函数读取失败则会返回EOF,EOF(end of file文件结束标志)本质上=-1。
例如:

int main()
{
	int iq = 0;
	int n;
	n = scanf("%d", &iq);
	printf("%d\n",n);
	return 0;
}

打印结果为
在这里插入图片描述
返回值得到的是输入个数,若输入两个整数,则返回2
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值