除非我使用cout

时间:2018-03-04 14:19:44

标签: c++ return cout

该函数应返回156并带有“Z”输入,但输出0。

如果字母的U-Z,函数找到字母数值的最大因子而不是值本身,并将其乘以12。

尝试将 cout 放入函数中并以某种方式工作。不知道问题出在哪里。有人帮忙。

#include<iostream>
#include<string>
#include<ctype.h>

using namespace std;

int uz(int n);

int main(){           
    string letter, alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    int alphSize=alphabet.size(), l=0, total=0;

    cin>>letter;
    int letterSize=letter.size();

    for(int i=0;i<letterSize;i++){
        for(int j=0;j<alphSize;j++){
            if(toupper(letter[i])==alphabet[j])
            l=j+1;
        }


        if(l>20&&l<=26){
            l=uz(l);}

        total+=l;
    }
    cout<<total<<endl;
    return 0;
}


int uz(int n){
    int size=1;
    int arr[size];
    for(int i=1;i<=n;i++){
        if(n%i==0){
            size++;
            arr[size]+=i;
        }
    }
    n=12*arr[size-1];
    //cout<<n;
    return n;
}

0 个答案:

没有答案