【发布时间】:2013-09-17 09:30:00
【问题描述】:
函数应该接受一个字符串参数
string return_average(string x)
并返回一个整数或双精度值作为平均值..
我得到了奇怪的结果:例如,当我通过 123abc 时,它返回 50 而不是 2(三个数字的平均值 (1,2,3).. 有什么想法吗?这里是代码:
int retav(string x)
{
int k=0;
int average=0;
int j=0;
int n = 0;
char c='a';
string mySt = x;
int L = mySt.length()-1;
for(int i=0;i<=L;i++)
{
c = mySt.at(i);
if(isdigit(c))
{
n+=(int)c;
j++;
}
}
average = n/j;
return average;
}
【问题讨论】: