微光·浅月 2020-08-03 14:31 采纳率: 100%
浏览 89
已采纳

一道C++题目,求这段代码哪里错了,求什么你懂的,呵呵~

偶数 or 奇数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
编程班老师搞了一个有 N (1 <= N <= 100) 个正整数 I (1 <= I <= 10^60) 的表,叫 同学们去统计每个数里面数字(0,1,2,3,4,5,6,7,8,9)(注 0 为偶数)的奇偶数 字个数。写一个程序读入 N 个整数,统计每个整数的数字奇偶个数。
输入
第 1 行: 一个单独的整数: N
第 2 到第 N+1 行: 每行一个长长(小于等于 60 位)的整数,需要统计数字奇偶个数。
输出
1..N 行: 第 j 行根据第 j 个整数输出奇数个数与偶数个数。
样例输入
2
1024
5931
样例输出
1 3
4 0

#include<bits/stdc++.h>
using namespace std;
long long a[105],b[105],c[105];
int qiujishu(int x){
    int jishu=0;
    while(x){
        if(x%10%2!=0)jishu++;
        x=x/10;
    }
    return jishu;
}
int qiuoushu(int x){
    int oushu=0;
    while(x){
        if(x%10%2==0)oushu++;
        x=x/10;
    }
    return oushu;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        b[i]=qiujishu(a[i]);
        c[i]=qiuoushu(a[i]);
    }
    for(int i=1;i<=n;i++){
        cout<<b[i]<<" "<<c[i]<<endl;
    }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-03 14:59
    关注

    代码本身没有什么问题
    关键是10^60
    因此long long可能也不够,应该用字符串。

    #include<iostream>
    #include<string>
    using namespace std;
    string a[105];
    int b[105],c[105];
    int qiujishu(string x){
        int jishu=0;
        for(int i = 0; x.c_str()[i]; i++){
            if ((x.c_str()[i] - '0') % 2 == 1) jishu++;
        }
        return jishu;
    }
    int qiuoushu(string x){
        int oushu=0;
        for(int i = 0; x.c_str()[i]; i++){
            if ((x.c_str()[i] - '0') % 2 == 0) oushu++;
        }
        return oushu;
    }
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
            b[i]=qiujishu(a[i]);
            c[i]=qiuoushu(a[i]);
        }
        for(int i=1;i<=n;i++){
            cout<<b[i]<<" "<<c[i]<<endl;
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统