为什么各位数求和失效#includeiostream.hint count(int num){int aint bint sumdo{anum%10bnum/10
为什么各位数求和失效
#include<iostream.h>
int count(int num)
{
int a;
int b;
int sum;
do
{
a=num%10;
b=num/10;
sum+=a;
}while(b==0);
cout<<sum<<endl;
return sum;
}
void main()
{
int number;
cout<<"输入一个正整数:";
cin>>number;
count(number);
}
[解决办法]
int sum=0;
do
{
a=num%10;
num=num/10;
sum+=a;
}while(num!=0);
[解决办法]
真晕
sum都没初始化,num的值一直不会变
int count(int num)
{
int a;
int b;
int sum=0;
do
{
a = num % 10;
sum += a;
num = num/10;
}while(b==0);
cout<<sum<<endl;
return sum;
}
[解决办法]
while那里的b也要改成num
[解决办法]
- C/C++ code
#include<iostream>using namespace std;int count(int num){ int a; int sum = 0; //初始化一下 do { a=num%10; num=num/10; sum+=a; } while(num!=0); //这里 cout<<sum<<endl; return sum;}void main(){ int number; cout<<"输入一个正整数:"; cin>>number; count(number);}
[解决办法]
同上,是由于sum没有赋值导致的.
[解决办法]
评价一下
你这个程序通用性不好 在count函数里不要输出 应该在main函数中输出
[解决办法]
jf
[解决办法]
不是sum没有初始化,而是do.while循环的循环条件错了,不是(b==0)而应该是(b!=0) 