Zoe_yuyang 2018-12-12 07:40 采纳率: 50%
浏览 1833
已采纳

新手求助:统计满足条件的4位数

题目:统计满足条件的4位数

【题目描述】
给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。

【输入】
输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n≤100)

【输出】
输出为一行,包含一个整数,表示满足条件的四位数的个数。

【输入样例】
5
1234 1349 6119 2123 5017
【输出样例】
3

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{char a,b,c,d;
int n,y=0;
cin>>n;
for(int i=1;i<=n;i++)
{scanf("%c%c%c%c",&a,&b,&c,&d);
if((d-a-b-c)>0)
y++;
}
cout<<y<<endl;
    return 0;
}

请问哪里出错了?运行时答案错误

  • 写回答

3条回答 默认 最新

  • _ZGq 2018-12-12 11:01
    关注

    因为字符有ASCII码的原因,字符的实际数值是原数字加上48。
    修改方法:1. 把a,b,c,d设成int型;2. 把d-a-b-c变成(d-48)-(a-48)-(b-48)-(c-48)。

    还有就是u013434984说的,把cin和scanf统一。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?