📅  最后修改于: 2023-12-03 15:37:15.224000             🧑  作者: Mango
本文将针对ISRO CS 2015年的第22个问题进行介绍和分析。该题目是一个编程问题,需要开发者用C语言编写代码来解决。下面将对题目要求、输入、输出和解题思路进行讲解。
题目描述如下:
给定一个正整数n,编写程序计算从1到n存在多少个数含有数字5。
输入只包含一个整数n(1 <= n <= 10^7)
输出只有一个整数,即从1到n存在多少个数含有数字5。
题目要求我们计算从1到n有多少个数字包含5这个数字。我们可以从1到n遍历每个数字,判断这个数字的每一位是否为5,如果是,则计数器加1。最后返回计数器的值即可。
下面是C语言的代码实现,我们采用变量count来记录数字5出现的次数。
#include<stdio.h>
int main() {
int n, i, count = 0;
scanf("%d", &n);
for(i = 1; i <= n; i++) {
int tmp = i;
while(tmp > 0) {
if(tmp % 10 == 5) {
count++;
break;
}
tmp = tmp / 10;
}
}
printf("%d",count);
return 0;
}
这道题目看起来简单,但是考察了编程基本功。需要我们利用循环和判断语句来处理输入的数据,经过计算后输出结果。希望这篇文章能够对大家在面对编程问题时提供一些帮助。