C/C++统计满足条件的4位数个数 2023年5月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录

C/C++统计满足条件的4位数个数

一、题目要求

1、编程实现

2、输入输出

二、解题思路

1、案例分析

三、程序代码

四、程序说明

五、运行结果

六、考点分析


C/C++统计满足条件的4位数个数

2019年12月 C/C++编程等级考试一级编程题

一、题目要求

1、编程实现

给定若干个四位数,求出其中满足以下条件的数的个数:

个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。

2、输入输出

输入描述:输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n <= 100)

输出描述:只有一行,一个整数,即满足条件的四位数的个数。

输入样例:

5
1234 1349 6119 2123 5017

输出样例:

3

二、解题思路

1、案例分析

  1. 从给定题目的初步分析可以看出,首先需要从键盘获取一个整数n
  2. 可以使用int类型进行变量的声明,用来保存键盘输入的数据
  3. 然后利用for语句循环输入每一个数字,每输入一个数字就将这个数字的个位数减去千位、百位和十位,然后将差和0进行比较,如果大于0,统计个数加1
  4. 最后输出对应的符合要求的个数

三、程序代码

#include 
using namespace std;
int main()
{
	int n,count=0;
	cin>>n;
	for(int i=0;i>number;
		a = number/1000;
		b = number/100%10;
		c = number/10%10;
		d = number%10;
		if(d-a-b-c > 0)
		{
			count++;
		}
	}
	cout<

四、程序说明

  1. 根据题目要求声明2个整形int变量n用来保存输入数字个数,count用来统计符合要求个数
  2. 然后利用输入流对象cin,从键盘读取变量n的值
  3. 接着利用for循环逐个输入对应的数字
  4. 需要额外声明5个整形局部变量:输入的数字number,对应的千位a,百位b,十位c和个位d
  5. 然后依次求出对应的每一位数字,利用除非和取余运算
  6. 接着按要求讲各位数字减去其他位的数字和0进行比较,符合条件的count计数加1
  7. 最后利用输出流对象cout,输出符合要求的统计个数

五、运行结果

5
1234 1349 6119 2123 5017

3

六、考点分析

难度级别:中等,本题相对而言有一点难度,难在循环输入以及四位数的每位数字求解,具体主要考查如下:

  1. 分析题目,找到解题思路
  2. 变量的声明和使用
  3. 输入流对象cin的使用,与流提取运算符 >>结合使用从键盘读取想要的数据
  4. for循环的使用,知道循环次数的时候推荐使用
  5. 灵活运用除法运算和取余运算
  6. if条件判断语句,满足一定条件才能执行后面的语句
  7. 输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  8. 充分掌握变量定义和使用、条件判断语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

你可能感兴趣的:(C++一级真题,C++考级一级真题,C++一级真题解析,c++考级真题,C++统计个数,C语言考级真题)