练习8: 2024-程序设计基础-双层循环练习8-23
链接:https://ac.nowcoder.com/acm/contest/93947/1023链接:https://ac.nowcoder.com/acm/contest/93947/1023
来源:牛客网
wyh学长十分钟爱数字‘7’,他想知道每一个数字中有多少个数字‘7’
输入描述:
输入第一行一个整数T(1<=T<=10)
接下来有T组测试数据,对于每组测试数据,输入一个整数n(1<=n<=10000000000)
输出描述:
对于每组测试数据,输出对应答案
示例1
输入
2
1234567
123456
输出
1
0
这道题我用自己定义一个函数将数字转换成字符串,当字符串出现"7"是进行加1处理输出。
#include<iostream>
#include<string>
using namespace std;
int count7(long long n){
string numstr=to_string(n);
int count=0;
for(char ch:numstr){
if(ch=='7'){
count++;
}
}
return count;
}
int main()
{
int t,i;
long long n;
cin>>t;
for(i=1;i<=t;i++){
cin>>n;
cout<<count7(n)<<endl;
}
return 0;
}
- string numStr = to_string(n);:将数字n转换为字符串。
- int count = 0;:初始化计数器。
- for (char ch : numStr):遍历字符串中的每个字符。
- if (ch == '7'):如果字符是'7',则计数器加1。
- 定义函数之后直接循环求。