新手求助:统计满足条件的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个回答

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

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

#include<iostream>
#include<cstdio>
using namespace std;
int main(){ 
    int num[50],count=0,i,n;
    int a,b,c,d;
    printf("请输入四位数个数");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&num[i]);
        if((num[i]%10-num[i]/1000-num[i]/100%10-num[i]/10%10)>0){
            count++;
        }

    }
    printf("%d",count);

    return 0;
}

不要混合使用cin和scanf
你这样,n是5,但是scanf会从换行开始读起,所以你的输入数为
图片说明
最终结果为0也就不奇怪了。
既然用cpp最好就统一用cin >> a >> b >> c >> d;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
统计满足条件的4位数个数
给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &amp;lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 样例输入 5 1234 1349 6119 2123 501...
noi-7543-统计满足条件的4位数个数
26:统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定若干个四位数,求出其中满足以下条件的数的个数:  个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n 输出输出为一行,包含一个整
神犇营-38-统计满足条件的4位数个数
【小韦同学@神犇营-38-统计满足条件的4位数个数】 题目: 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 输入样...
统计满足条件的4位数(信息学奥赛一本通-T1077)
【题目描述】 给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。 【输入】 输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n≤100) 【输出】 输出为一行,包含一个整数,表示满足条件的四位数的个数。 【输入样例】 5 1234 1349 6119 2123 5017 【输出样...
C++循环---统计满足条件的4位数个数(自学用)
统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &amp;lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四...
求满足条件的3位数
#include using namespace std; int main() { int n,m,p,q,j,z=1; cin>>n; int b[30]={0}; for(int i=10;i31;i++) { j=i*i; q=(j%100)%10; m=(j/10)%10; p=j/100; if(q==m||q
新手求助(统计代码)
sql 中有表1,进厂时间,离职时间,合同时间,都是用varchar 字符 输入也是edit.text 的,如2010.01.01. rnrntressview中有 本月统计时' 统计工龄 合同到期 ,form1中有dbgrideh1 rnrnrn1.要完成这样的功能,当击treeview中‘本月统计时'里, 就能从 表1 中取出数据,rn表1中n6字段是vachar类型的,如2010.09.01rn要求判断当列 n6中第六到第七个字符=当月09月时,就出来。rnrnrnrn2.统计工龄:在厂有几年rn3.合同到期一个月提醒rnrnrn不知这样的代码怎么写
统计位数
统计位数统计n以内的正整数一共有多少位数字,不统计前导0.Exp: n=13,输出17,即1 2 3 4 5 6 7 8 9 10 11 12 13#include &amp;lt;iostream&amp;gt; #include &amp;lt;string&amp;gt; #include &amp;lt;iomanip&amp;gt; #include &amp;lt;algorithm&amp;gt; #include &amp;lt;vector&amp;gt; ...
位数的统计
其实这个题目的类型和前几篇关于 水仙花数、对称数 都是比较相似,关键的步骤都是将每一位数进行分离,然后存放在列表里面,再用列表进行题目的要求。 题目详情 给定一个k位整数N = d~k-1~*10^k-1^ + … + d~1~*10^1^ + d~0~ (0&amp;lt;=d~i~&amp;lt;=9, i=0,…,k-1, d~k-1~&amp;gt;0),请编写程序统计每种不同的个位数字出现的次数。例如:给定...
满足条件的房间统计
George and Accommodation George has recently entered the BSUCP (Berland State University for Cool Programmers). George has a friend Alex who has also entered the university. Now they are moving into ...
新手求助4
rn主文件:rnrnrn rnrnrnrnrn[img=https://img-bbs.csdn.net/upload/201408/22/1408708656_635927.jpg][/img][img=https://img-bbs.csdn.net/upload/201408/22/1408708664_156416.jpg][/img]rn这是wzzg.php内容rnlocation.href='htly.php?page=$page';";rn rn?>rnrn现在实现了“未公开”和“公开”的转换,但是屏幕会闪,rn如何做到屏幕不闪得转换
信息学奥赛一本通C++语言——1077:统计满足条件的4位数
【题目描述】 给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。 【输入】 输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n≤100) 【输出】 输出为一行,包含一个整数,表示满足条件的四位数的个数。 【输入样例】 5 1234 1349 6119 2123 5017 【输出样例】 3 代码 #...
2位数*3位数=4位数的算法
2位数*3位数=4位数的算法 2位数*3位数=4位数的算法 java代码
怎么产生4位数的年号??菜鸟求助
class Testrn public static void main(String[] args)rn double x=Math.random()*10000;rn x=Math.ceil(x);rn int random=new Double(x).intValue();rn System.out.println(random);rn if((random%4==0&&random%100!=0)||random%400==0)rn System.out.println("那一年为闰年");rn rn elsern System.out.println("那一年为平年");rn rn rn rnrn我这是随机产生0-9999的年号,怎么样才能随机产生1000-9999的年号??谢谢
【算法竞赛】:进位数统计
题目给出两个数a,b,例如a=123,b = 456这两个数,算出这两个数相加过程中产生了多少次进位?思路思路就是最简单的,从个位开始加,然后算出每次算完的进位用c来存储,c只能为0或者1,然后算完之后C更新,如果C==1,表示有进位,然后全局变量ans(存储最终进位结果的)++;技巧性的东西在于如何用一个简单的循环做到从个位数相加? 请详细看代码 可能上段说的不是很明白,但是看了代码就懂了
数字位数的统计
怎么统计一DBEdit中显示的数字位数
[美团笔试算法题] 统计位数
题目 统计位数 题目描述:求数字n以内的正整数有多少位数字,不统计前导零。例如n=13时,13以内的正整数有12345678910111213,一共17位,则输出17 输入: 第一行一个数 T (T&amp;lt;=100),表述数据组数。 对于每组数据,第一行1个整数n,(1&amp;lt;=n&amp;lt;=10^9) 输出: 对于每组输出,输出一行,表示数字位数和。 样例输入: 2 13 4...
统计整数位数
//统计整数位数 #include int main() { int i,sum=0; scanf("%d",&i); do { i/=10; sum+=1; }while(i!=0); printf("%d",sum); return 0; }
统计十进制n的位数
#include&amp;lt;stdio.h&amp;gt;//1、统计十进制n的位数int GetFigures(int n){ int count = 1; while(n/10 != 0) { n/=10; count++; } return count;}int GetFigures1(int n){ int count = 0;//记录位数do { count++; n/=10; }while(n...
求助:如何将位数补足位数
现有sql200数据库rn数据库A1rn表Nurn数据类型全部是varcharrnrnrnSN NAME BIANMArn1 张三 50rn2 李四 60rnrn用什么数据库命令可以直接讲上述表格显示成为满5位数值rn如:rnSN NAME BIANMArn1 张三 00050rn2 李四 00060rnrn求助大家,最好把命令格式直接给我。谢谢
统计一个整数的位数
输入一个整数,统计其位数。代码已经过优化,效率高。
新手求助!《汇编语言》实验4。
[img=D:\QL2NM[U3[HCXG1ZMLF`C(C.jpg][/img]rn这几道题怎么做啊。我做的是这样子的rn[img=D:\LBNJRO%UHPZ47$B$4GYUW.jpg][/img]rn但是不对。。来个唤醒菜鸟的
4位数的超级素数
编程找出所有的4位超级素数,每行输出6个数,两个数之间空格分格;超级素数:一个N位超级素数是指一个N位正整数,它的前1位,前2位,…前N位均为素数,例如,2333是个4位的超级素数,因为2,23,233,2333均为素数。 超级素数思路参考:https://blog.csdn.net/qq_35302327/article/details/88358222 代码: #include &amp;amp;lt;ios...
找4位数组合问题
已从1-9中选任意4位数排列,该4位数不存在重复的数字,用程序运算此4位数,每给出一次结果,会有反馈2个信息,第1个是有几个数字在当前结果中并且位置正确,第2个是有几个数字在当前结果中但位置错误。求一算法用尽量少的次数算出正确结果。rn请各位帮忙啊,分不够再加
4位数排序筛选
关于200个4位数的排序筛选void jsSort() { int i,j; int temp; for(i=0;i<199;i++) for(j=i+1;j<200;j++) { if(aa[i]00>aa[j]00) { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } else if(aa[i]00==aa[j]00) if(aa[i]<aa[j]) { temp=aa[i]; aa[i]=aa[j]; aa[j]=temp; } } for(i=0;i<10;i++) bb[i]=aa[i]; }
4位数冒泡排序
可以进行冒泡排序的一个代码,在它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
4位数验证码
java随机生成四位验证码 数字大小写字母
如何穷举4位数?
列出所有四位数的算法?
4位数的数字排序
一个全由数字组成的四位数,如“0521”、“4222”......rn通过什么最简单的方法来进行数字排序,如“0521”排列成“0125”,“4222”排列成“2224”,请教,过来脑子吃紧,想不出来了.....
统计俩个二进制数不同的位数
如题 : 给定俩个十进制的整数,求解对应的二进制不同的位数有几位 测试数据 : 1999,2999 输出 : 7 思路 : 使用异或,异或运算相当于没有进位的加法运算,故该位为1表示对应位不同,对异或得到的值进行统计1的个数则得出结果 链接:https://www.nowcoder.com/questionTerminal/ba033b0d1c2f497da1dd04330cc0
怎么统计输入整数的位数?
用除法除吗?还是有什么函数?
新手求助c++文档统计内容
初学c++,现在的学习作业时要完成任意一个英文文本文件中英文单词的统计工作rn要求:把英文单词出现频率次数由高到低打印出来;只要英文单词形式不一样就算两个词,不考虑词语的复数时态。rn运行结果例子:rnthe 33rnChina 14rnof 13rnand 13rnrn经过几天的学习在别人的帮助下写了如下程序,但是功能上一是只能输入一行文本,一按回车文章输入便结束。二是不能按频率高低打印。请求各位高手帮忙指点一下啊rnrn程序如下:rn#include rn#include rn#include rnrnusing namespace std;rnrnclass word_numberrnpublic :rn char word[100];rn int number;rn word_number(char* d)rn strcpy(word,d);rn number=1;rn rn void addnumber()rn number++;rn rn int getNumber()rn return number;rn rn string getword()rn return word;rn rnrn;rnrnlist count;rnvoid parseWords(char* words);rnvoid display(list count);rnvoid isAddword(char* word);rnvoid addword(word_number w);rnint main()rnchar words[1024*10];rnmemset(words,0x00,1024*10);rncout<<"please input sum words (回车结束)!"<::iterator it = count.begin();rn bool flag=false;rn while(true)rn if(it==count.end())rn break;rn if(0==strcmp(word,it->word))rn rn cout<number)++;rn cout<number< count)rn list::iterator it = count.begin();rn while(true)rn if(it==count.end())rn break;rn cout<word<<" "<number<
【求助】新手遇到统计文件夹大小问题
    本人刚开始学习python 不到一周,就遇到问题了。现将问题记下,询问各大神原题如下:使用文件和目录操作,定义一个统计指定目录大小的函数(注意目录中还有子目录)。我自己写的代码如下(用的subline工具):ps:由于获取文件大小因此采用了截图方式便于观看者注意我获取文件夹的路径运行结果如下:出现了输出两个文件夹大小的事=》经观察为递归函数Sum()内输出,因此含有子文件夹导致输出了两个大...
统计list中满足条件的数的个数
要求:统计list weights['value']中满足条件的数的个数: &amp;gt;=0、&amp;lt;0的个数分别是多少 解决方法: np.sum(list(map(lambda x: x &amp;gt;= 0, weights['value'])))
Oracle统计多个,满足条件的字段的数
  Table:ABCTable a    b     c 1    2     1 2    1     3 3    1     2 统计a=1的有几个,b=1的有几个,c=1的有几个 1. select  count(*)  from ABCTable where a=1;     select  count(*)  from ABCTable where b=1;   ...
统计TXT中满足条件的最大连续数目
TXT文件中格式如下:rn字段1 字段2 字段3rn 大 奇 中rn 小 偶 边rn 小 偶 中 rn 大 奇 中rn 小 奇 中rn 小 偶 边rn 小 偶 中 rnrn想统计 字段1 中 小的最大连续个数rn 满足 字段1 为小,字段2 为偶的最大连续个数rn该如何实现?rnrn比如结果分别为: 3 2rnrn补充:TXT中数据量很大,初学C#、.NET,希望各位高手指点一二。
单元格数值的位数求助
我把部分单元格设成四位小数,,但其中的0也变成0.0000 或者2.1 变成2.1000 怎样设置才能使位数最多是四位 不到四位的不用补零rn????????????????????????????????
关于rdlc 统计满足条件行的办法
我现在要做的报表是ReportViewer +rdlc rn现在我的报表内容有rn人名 状态 订单数rnvxxx 已确认 3rndfdf 未确认 1rndfdf 已确认 1rn总计 (a) 5rna 的要求是: 统计状态为已确认的订单数占总订单数的百分比 它的结果应该是(80%)rn请问 各位高手 谁能帮我 解决这个问题 ! 想半天也没搞出来
Linux文件权限4位数含义
Linux文件权限4位数含义: 我们看一下:0777代表什么意义: 1.先看777的含义,linux下文件权限分为所属用户权限、所属组权限和其他人权限 2.RWX对应的权限是: r:4 w:2 x:1 所以777就代表 rwxrwxrwx 3.0777最前面的0,是一个叫suid和guid和sticky的东西,设置suid就是把0变为4,设置guid就把0变为2,设置sticky就是把0...
随机4位数验证码的问题
private void GenValid()rn rn Random r= new Random();rn string valid=string.Empty ;rn for(int i=0;i<4;i++)rn rn valid+=Math.Floor (r.NextDouble()*10).ToString() ;rn rn label5.Text =valid;rn rn这就是源代码,随机生成4位数字验证码的函数rnrnvalid+=Math.Floor (r.NextDouble()*10).ToString() ;这一步,我没有看懂rn为什么会这样呢? r.nextdouble生成的是0-1的随机数字,乘以10 也不过是1位整数rnmath.floor 返回小于或者等于最大的整数,这样怎么就产生了4位随机数呢?rnrn没搞懂,求各位大虾帮忙 解释下
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法