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

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

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统一。

1
#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;
}
1

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

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
26:统计满足条件的4位数个数
原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 给定若干个四位数,求出其中满足以下条件的数的个数:  个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n 输出输出为一行,包含一个整数,表示满足条
T1077 统计满足条件的4位数(#Ⅰ- 4 - 1)
【题目描述】给定若干个四位数,求出其中满足以下条件的数的个数:个位数上的数字减去千位数上的数字,再减去百位数上的数字,再减去十位数上的数字的结果大于零。【输入】输入为两行,第一行为四位数的个数n,第二行为n个的四位数。(n≤100)【输出】输出为一行,包含一个整数,表示满足条件的四位数的个数。【输入样例】5 1234 1349 6119 2123 5017【输出样例】3【源程序】#include&amp;...
统计满足条件的4位数个数
给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &amp;lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 样例输入 5 1234 1349 6119 2123 501...
noi-7543-统计满足条件的4位数个数
26:统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定若干个四位数,求出其中满足以下条件的数的个数:  个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n 输出输出为一行,包含一个整
求末位数
题目描述 求a^b(a的b次方)的末位数。 输入 有多组测试数据,每组一行,为a,b两个整数。0&amp;lt;=a,b&amp;lt;=10000,a,b不同时为0。 输出 为每行一个数,为a^b的最后一位数字。 样例输入 2 10 7 66 8 800 9782 10000 样例输出 4 9 6 6 用pow显然不行,于是考虑连乘,因为求的是末尾的数字,而决定此数值的只有每个相乘数末尾...
求满足条件的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
判断满足条件的三位数
习题10-1 判断满足条件的三位数   (15分) 本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。 函数接口定义: int search( int n ); 其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。 裁判测试程序样例: #in
求满足条件的4位数
package liulixin; public class abcd { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a,b,c,d; for(a=0;a<10;a++){ for(b=0;b<10;b++
14:求满足条件的3位数
14:求满足条件的3位数 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为: 1.该数为完全平方数 2.该数至少有2位数字相同 例如,100同时满足上面两个条件。 输入输入一个数n,n的大小不超过实际满足条件的3位数的个数。输出输出为第n个满足条件的3位...
浙江大学 PTA 习题10-1 判断满足条件的三位数 (15 分)
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。 函数接口定义: int search( int n ); 其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。 裁判测试程序样例: #include &lt;stdio.h&gt; #include &lt;math....
10-1 判断满足条件的三位数
// 判断满足条件的三位数 #include &amp;lt;stdio.h&amp;gt; #define N 50 int Find(int n, int *p); int main(void) { int Number[N]; // 存放所有满足条件的三位数 int n; // 3位数n int count; int i; printf(&quot;请输入一个3位数:&quot;); scanf...
感谢C语言吧吧友奉上的C语言小程序练习---初学者练手
1)输入1个整数,输出它的绝对值。 #include void main() { int a; scanf("%d",&a); if(a>=0) printf("%d\n",a); else printf("%d\n",-a); }  2)输入2个整数,求两数的平方和并输出。 #include void main()  {  int a, b;  scanf("%
给定若干个四位数,求出其中满足以下条件的数的个数
试题描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入格式 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n 输出格式 输出为一行,包含一个整数,表示满足条件的四位数的个数。 样例输入 5 1234 1349 6119 2123 5017
C++循环---统计满足条件的4位数个数(自学用)
统计满足条件的4位数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &amp;lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四...
从键盘读入一个4位数的整数,求该数中有多少位是7
样例输入 4757 样例输出 2 #include int main() {     int m[3];     int i,sum=0;     for(i=0;i     {          scanf("%1d",&m[i]);          if(m[i]==7)          sum++;     }    printf("%d",sum);
6-3 判断满足条件的三位数 本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。
#include #include int search( int n ); int main() {     int number;     scanf("%d",&number);     printf("count=%d\n",search(number));     return 0; } int search( int n ) {     int i,coun
6-9 统计个位数字(15 分) 本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。
int Count_Digit ( const int N, const int D ){  if(N==D)  {    return 1;  }//考虑N=D=0的情况,但是当N、D同为个位数是返回值仍然是1,所以直接用判断条件N=D  int count=0;  int n;  if(N&amp;gt;=0)  n=N;  else  n=-N;  while(n&amp;gt;0){  if(n%10==...
PTA-基础题目编程题 7-16 求符合给定条件的整数集
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。 输入格式: 输入在一行中给出A。 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。 输入样例: 2 输出样例: 234 235 243 245 253 254 324 325 342 345 352 354 423 425 4...
满足条件的整数 - 详解
说明:算法为原创,本文算法进行一个记录。题目来源 - [NOI OpenJudge]题目描述 假设a、b、c均为整数,且满足a,b,c 大于1,并且小于等于100,找出所有符合条件:“a2+ b2= c2”的整数组。 输入 无 输出 按a从小到大的顺序输出所有满足条件的整数组(若a相同,则按b从小到大的顺序输出),每行一组,每一组数据的输出样式为: a*a + b*b = c
神犇营-38-统计满足条件的4位数个数
【小韦同学@神犇营-38-统计满足条件的4位数个数】 题目: 描述 给定若干个四位数,求出其中满足以下条件的数的个数: 个位数上的数字减去千位数上的数字,再减去百位数上的数字, 再减去十位数上的数字的结果大于零。 输入 输入为两行,第一行为四位数的个数n,第二行为n个的四位数,数与数之间以一个空格分开。(n &lt;= 100) 输出 输出为一行,包含一个整数,表示满足条件的四位数的个数。 输入样...
1040. 有几个PAT(25
字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符串中包含多少个PAT。由于结果可能比较大,
找出满足以下性质的三位数,输出并统计其个数:能被11整除,且三个数位上没有两个数相同。
#include using namespace std; int main() { int count=0; int i,num1,num2,num3; for(i=10;i<1000;i++) { if(i%11==0) { num1=i/100; num2=i/10%10; num3=i%10; if((num1!=num2&&num1!=num3&&
统计list中满足条件的数的个数
要求:统计list weights['value']中满足条件的数的个数: &amp;gt;=0、&amp;lt;0的个数分别是多少 解决方法: np.sum(list(map(lambda x: x &amp;gt;= 0, weights['value'])))
c语言练习 4-0. 求符合给定条件的整数集(15)
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。 输入格式: 输入在一行中给出A。 输出格式: 输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。 输入样例: 2 输出样例: 234 235 243
求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序。
已知数据文件IN13.DAT中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一个函数jsValue(),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足条件的四位数依次存入数组b中,然后对数组b中的四位数按从大到小的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT13.DAT文件。 例如:
习题10-1 判断满足条件的三位数 (15 分)
本题要求实现一个函数,统计给定区间内的三位数中有两位数字相同的完全平方数(如144、676)的个数。 函数接口定义: int search( int n ); 其中传入的参数int n是一个三位数的正整数(最高位数字非0)。函数search返回[101, n]区间内所有满足条件的数的个数。 裁判测试程序样例: #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;math.h...
数组中大于等于所有元素平均值的元素
#include #include int Count(double a[], int n) {     int i;     float avg=0;     int sum=0;     for(i=0;i     avg+=a[i];     avg/=n;     for(i=0;i     if((float)a[i]>=avg)         sum++;
可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。
/*可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。 */ /* 函数接口定义: int Count_Digit ( const int N, const int D ); 其中N和D都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回N中D出现的次数。 */ #include
由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。
1. 由0到4五个数字,组成5位数,每个数字用一次,但十位和百位不能为3(当然万位不能为0),输出所有可能的五位数。   #include void main(){  int a,b,c,d,e,n=0,h; for(a=0;a for(b=0;b for(c=0;c for(d=0;d for(e=1;e if(a==b||b==c||c==d||d==e||b==3||c=
判断任一给定整数N是否满足条件: 它是完全平方数,又至少有两位数字相同,如144、676等。
/* 判断任一给定整数N是否满足条件: 它是完全平方数,又至少有两位数字相同,如144、676等。 */ #include <stdio.h> #include <math.h> int IsTheNumber ( const int N ); int main() { int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; for ( i=n1; i<=n2; i++ ) { if ( Is
mysql 列出符合记录里面某个条件达到多少个数量的用户
列出符合记录里面某个条件达到多少个数量的用户 SELECT uid FROM (  SELECT DISTINCT uid, type1 FROM fds) AS B  WHERE uid IN     #得到了type1-type2的差一样的记录后,再取出uid和type1的去重记录 ( SELECT uid FROM  (SELECT DISTINCT uid, (type1
python-numpy-计算分位数
# Specify array of percentiles: percentiles percentiles = np.array([2.5, 25, 50, 75, 97.5]) # Compute percentiles: ptiles_vers ptiles_vers = np.percentile(versicolor_petal_length, percentiles) # Pri
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;   ...
获取数组中符合条件的值的个数
js获取数组中符合条件的值的个数
新手安装laravel框架
初学PHP,接触的第一个框架就是laravel,网上有许多安装的教程,包括开发手册,不过初学者依然难以辨别,将我自己摸索的安装方式整理了一下,同事亲测好用。 一、安装composer 在网上找一个composer的安装包,一路默认next就好,当跳出如下界面时,选择你电脑安装php.exe的路径 php版本等要求参见http://laravelacademy.org/post/6665.htm
输出4位的回文数
问题描述   1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。 输出格式   按从小到大的顺序输出满足条件的四位十进制数。 代码: #include main() { int i,t,k,j=0,a[1000]; for (i=1000;i<10000;i++) { if (i%10*1000+i/10%10*100
oracle 统计多个满足条件字段数量
转载 Oracle统计多个,满足条件的字段的数   Table:ABCTable a    b     c 1    2     1 2    1     3 3    1     2   www.2cto.com   统计a=1的有几个,b=1的有几个,c=1的有几个   1. select  count(*)  from A
matlab中的常见的统计函数的使用与范例介绍
matlab中的常见的统计函数的使用与范例介绍 * 在研究语音的时候,由于对语音进行特征提取时,采用分帧的形式进行处理。比如说,对于语音信号进行分帧(m帧),并提取n维的MFCC特征,一般得到的特征数量为(n*m),当m很大时,往往数据量较大。一般的英文文献中提到可以将其统计量作为特征处理,以减少数据的运算量。本人当时弄的时候,由于知道的统计量数量实现是有限,所有好多matlab自带的统计函数都
2位数*3位数=4位数的算法
2位数*3位数=4位数的算法 2位数*3位数=4位数的算法 java代码
编程实现:一个四位数它的数字组合的最大四位数 减去数字组合的最小四位数等于它本身
package com.offcn.字节流练习; public class Test2 { public static void main(String[] args) { int hig = 0; int low = 0; for (int i = 1000; i int q = i % 10; int w = i / 10
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java新手学习 大数据新手学习