C ++查找赔率甚至使用char / string

时间:2018-02-04 09:18:22

标签: c++

我的问题是我们可以使用strlen并将输出更改为数字,我们可以知道它的奇数或偶数

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

using namespace std;

int  main()
{
    char nama[30]="lukmanul hakim";
    clrscr();
    cout << "jumlah karakter dari nama (lukmanul hakim)adalah " << strlen(nama) << endl;
    if (nama%2==0)
        cout<<"bilangan genap"<<endl;
    else
        cout<<"bilangan ganjil"<<endl;
    getch();
}

1 个答案:

答案 0 :(得分:1)

@Lukman,您可能需要在问题帖子中更清楚。

我认为您的代码会以这种方式运行:

#include<iostream>
#include<string>
using namespace std;
int  main()
{
    char nama[30]="lukmanul hakim";
    clrscr();
    cout << "jumlah karakter dari nama (lukmanul hakim)adalah " << strlen(nama) << endl;
    if (strlen(nama)%2==0)
        cout<<"bilangan genap"<<endl;
    else
        cout<<"bilangan ganjil"<<endl;  
}

我还将if(nama%2)==0更改为if(strlen(nama)%2 == 0)nama是一个字符串,因此无法除以2. strlen(nama)将获得nama中的字符数。

*注意:"Lukmanul Hakim"字符串也包含空格' ',也会被计为字符。

另一种方式,正如@TheDude建议的那样,改为使用string,并使用其函数.size()来获取其长度:

#include<iostream>
#include<string>
using namespace std;
int  main()
    {
        string nama="lukmanul hakim";
        clrscr();
        cout << "jumlah karakter dari nama (lukmanul hakim) adalah " << nama.size() << endl;
        if (nama.size()%2==0)
            cout<<"bilangan genap"<<endl;
        else
            cout<<"bilangan ganjil"<<endl;  
    }