回 帖 发 新 帖 刷新版面

主题:小生拜师学艺

求大侠们指导,小生是c++初学者,为什么下面程序段中if和else if都不表达呢
#include <iostream>
using namespace std;
void main()
{
    int a;
    cout<<"input a int number a:";
        cin>>a;
    if (a % 105==0)
        cout<<"能同时被3 5 7整除数:"<<" "<<a<<endl;
    else if (a % 15 ==0)
            if (a % 7!=0)
        cout<<" 只能同时被3 5 整除数:"<<" "<<a<<endl;
    else if (a % 21 ==0 )
            if (a % 5!=0)
        cout<<" 只能同时被3 7 整除数:"<<" "<<a<<endl;
    else if (a % 35 ==0 )
            if (a % 3!=0)
        cout<<" 只能同时被5 7 整除数:"<<" "<<a<<endl;
    else if(a % 3!=0 )
            if (a % 5!=0) 
                if (a % 7!=0)
        cout<<"不能被3 5 7 中任意一数整除"<<" "<<a<<endl;
    else 
        cout<<" error"<<endl;
}

回复列表 (共2个回复)

沙发

学会排版

#include <iostream>
using namespace std;

int main()
{
    int a;
    cout<<"input a int number a:";
    cin>>a;
    if (a % 105==0)
        cout<<"能同时被3 5 7整除数:"<<" "<<a<<endl;
    else if (a % 15 ==0)
        if (a % 7!=0)
            cout<<" 只能同时被3 5 整除数:"<<" "<<a<<endl;
        else if (a % 21 ==0 )
            if (a % 5!=0)
                cout<<" 只能同时被3 7 整除数:"<<" "<<a<<endl;
            else if (a % 35 ==0 )
                if (a % 3!=0)
                    cout<<" 只能同时被5 7 整除数:"<<" "<<a<<endl;
                else if(a % 3!=0 )
                    if (a % 5!=0) 
                        if (a % 7!=0)
                            cout<<"不能被3 5 7 中任意一数整除"<<" "<<a<<endl;
                        else 
                            cout<<" error"<<endl;
}

板凳

我猜你的需求是
[code=c]
#include <iostream>
using namespace std;

int main()
{
    int a;
    cout << "input a int number a:";
    cin >> a;

    bool b3 = a%3==0;
    bool b5 = a%5==0;
    bool b7 = a%7==0;

    switch( b3+b5+b7 )
    {
    case 0:
        cout << "不能被3 5 7 中任意一数整除: " << a << endl;
        break;
    case 1:
    default:
        cout << " error" << endl;
        break;
    case 2:
        cout << " 只能同时被"
             << (b3 ? "3 " : "")
             << (b5 ? "5 " : "")
             << (b7 ? "7 " : "")
             << "整除数: " << a << endl;
        break;
    case 3:
        cout << "能同时被3 5 7 整除数: " << a << endl;
        break;
    }

    return 0;
}
[/code]

我来回复

您尚未登录,请登录后再回复。点此登录或注册