犯二的程度

#include <iostream>
using namespace std;

// 函数silly:计算数值有多二
// 参数:a-存储数值的字符数组,以'\0'结束,所以不需要另一个参数告诉函数数组有多长
// 返回值:数值犯二的程度
double silly(char a[]);

int main()
{
    char s[102];     // 定义存储数值的数组
    cin >> s;     // 输入不超过位的整数
    double sy = silly(s);     // 计算犯二的程度
    cout << sy << endl;     // 输出犯二的程度
    return 0;
}

double silly(char a[])
{
    // 请在此添加代码,实现函数silly
    /********** Begin *********/
    char  *p=a; int k,i=0,j=0;float m;
    while(*p!='\0')
    {

       int k=*p-'0';cout <<k<<endl;
        if(k==2){i++;}
        p++;j++;
    }

    cout <<i<<endl;
    cout<<j<<endl;
    p=a;
    if(*p=='-')
   float  m=i/j*1.5;
    else
    if(k%2==0&&*p=='-')
   float  m=i/j*2*1.5;
    else
   float  m=i/j;

    return   m;


    /********** End **********/
}

为什么返回的m值总是这个

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页