| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1152 人关注过本帖
标题:c++谢谢大神
只看楼主 加入收藏
SRXabc
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-21
结帖率:0
收藏
 问题点数:0 回复次数:4 
c++谢谢大神
判断一个数的数位上有多少个奇数,并求出奇数的和。
 如一个五位数:56384,有2位为奇数(万位是5,百位是3),奇数和为8。

输入

输入一个整数N。(10<N<1019)

输出

输出N的数位上有多少个奇数以及奇数之和。

样例输入

32578

样例输出

3
15
搜索更多相关主题的帖子: c++ 多少 奇数 输入 输出 
2018-06-21 18:21
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:0 
自己先想象怎么做?总不至于连int main(void){}也不会写吧?
2018-06-21 19:58
MY00
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-6-23
收藏
得分:0 
回复 楼主 SRXabc
程序代码:
#include <iostream>

using namespace std;

int main()
{
    int num;
    cin>>num;

    int sum=0,n=0,m=0; //求和,取位,计数
    while(num%10!=0)   //判断,取位为0则结束
    {
        n=num%10;      //由后往前依次取位
        if(n%2!=0)     //判断奇数
        {
            sum+=n;
            m++;
        }
        num/=10;       //依次除取最后一位,直到为0
    }

    cout<<m<<" "<<sum<<endl;
    return 0;
}                       //目标是奇数,就要把各数位分解出来,再进行判断,求和
2018-06-23 21:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 3楼 MY00
楼主说的数据范围是1019

用int干嘛,1019用unsigned short就可以了

至于下面样例32578超过1019倒是出题人留给解答者的一个迷了

正常不是用getchar来解决么,来个char[]也好嘛~
C++有string类

很方便的~


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-06-23 21:42
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
回复 4楼 九转星河
1019 可能是 10的十九次方的意思

https://zh.
2018-06-23 22:14
快速回复:c++谢谢大神
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014711 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved