问题标题: 酷町堂:2458 位数之和

0
0

1
已采纳
叶子煊
叶子煊
中级光能
中级光能

好吧。。。。

这是主要部分:

    string a;
    长整型 sum=0,l;
    getline(cin,a);
    l=a.size();
    循环(int i=0;i<=l-1;i++)
    {
        sum+=a[i]-'0';
    }   
    输出<<sum;
    return 0;

完美AC哦

望采纳!!!

希望对你有一定的帮助!!!

1
张梓沫
张梓沫
资深守护
资深守护

这个很简单呀

定义一个字符数组a[30],再定义整形变量l和sum, sum值为0.

l=strlen(a);//将字符串a的长度赋值给l

for循环

for(int i=1;i<=l;i++)

{

    sum+=a[i]-'0';

}

再输出sum的值就行

 

1
张梓沫
张梓沫
资深守护
资深守护

@蒋智航

把sum+=a[i]-'0'改成sum+=a[i-1]-'0'就行了

因为字符串是从a[0]到a[l-1]的

1
杨子逸
杨子逸
新手天翼
新手天翼
string x;
int s(int a)
{
    if(x[a]=='\0')
    {
        return 0;
    }
    return s(a+1)+x[a]-'0';
}
0
0
蒋智航
蒋智航
高级天翼
高级天翼

@张梓沫 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char a[30];
    int sum=0,l;
    l=strlen(a);
    gets(a);
    for(int i=1;i<=l;i++)
    {
        sum+=a[i]-'0';
    }   
    cout<<sum;
    return 0;
} 

哪错了??????????

0
高梓荣
高梓荣
新手天翼
新手天翼

@蒋智航

 

for(int i=0;i<l;i++)
{
    sum+=a[i]-'0';
}   

 

高梓荣在2018-08-09 18:42:45追加了内容

并且char a[30]太小了,a[3000]!

0
马筠昊
马筠昊
新手守护
新手守护

for(int i=1;i<=l;i++)

 

{

 

sum+=a[i]-'0';

 

}

 

cout<<sum;

 

return 0;

 

}

0
张天璨
张天璨
新手天翼
新手天翼
string n;
cin>>n;
int s=0;
for(int i=0;i<n.size();i++){
    s+=n[i]-'0';
}
cout<<s;
return 0;

 

我要回答