导语:小蒜给了若干个四位数,请求出其中满足以下条件的数的个数:
个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。
输入格式:输入为两行,第一行为四位数的个数 nn,第二行为 nn 个的四位数,数与数之间以一个空格分开。(n \le 100n≤100)
输出格式:输出为一行,包含一个整数,表示满足条件的四位数的个数。
样例输入:
5
1234 1349 6119 2123 5017
样例输出:
3
参考代码:
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
int a[n];
for(int i=0;i<n;i++){
cin >> a[i];
}
int ge=0,shi=0,bai=0,qian=0;
int sum=0;
for(int i=0;i<n;i++){
ge=a[i]%10;
shi=(a[i]%100-ge)/10;
bai=(a[i]%1000-shi*10-ge)/100;
qian=(a[i]%10000-bai*100-shi*10-ge)/1000;
if(ge-shi-bai-qian > 0){
sum+=1;
}
}
cout << sum;
return 0;
}
解释代码思路:核心部分在判断每位数,因为是固定四位数,小编才打算用%n的方法得到每位数哦~其实代码只需要有思路就可以得出辣~在变量我也是写出了计算不同的ge shi bai qian~如果这道题说不固定4位数,可以考虑使用for循环来统计应该取余多少,反正都是10的倍数,只需要判断i=?(?代表一个数) 10的?次方是多少进行取余~这就是整体代码思路辣~
结束语:得到启发的请点赞+收藏哦~Rua!~
祝大家新年快乐a~
|