初学c++,找个简单方法,:
编成实现输入一个整数,判断能否被3,5,7整除,并输出以下信息之一:
1.能同时被3,5,7整除
2.能被其中两数整除.要指出是哪两个.
3.能被其中一个数整除.要指出是哪个.
4.不能被3,5,7任一个整除.
我输出的时候不知道怎么输出,总不能把每种情况都判断一下吧,要8次呀.

解决方案 »

  1.   

    你可以定义一个字符串数组,把各种可能情况赋值.
    CString strOutput[8]
    再定义一个标识
    int nFlag来保存各种情况
    最后输入 
    MessageBox(strOutput[nFlag]);
      

  2.   

    前面的说法很好,下面给个更好的程序:
    CString strOutput("输出数能被");
    BOOL bFlag;
    bFlag=false;
    int InputData;//判断整除并相应改变输出字符串
    if(!InputData%3)
       {
       strOutput+="3";
       bFlag=true;
        }
    if(!InputData%5)
       {
       if(bFlag)
       {
        strOutput+="、5";
        } 
       else
       {
        strOutput+="5";
        bFlag=true;
        }    
       }
    if((!InputData%5)
       { 
        if(bFlag)
          {
          strOutput+="、7";
           } 
        else
        {
         strOutput+="7";
         bFlag=true;
         }   
      }//判断是否3、5、7全部不能整除,相应改变输出字符串
    if(bFlag)
       strOutput+="整除"
    else
       strOutput="输入数不能被3、5、7整除"//输出字符串
    MessageBox(strOutput);
      

  3.   

    修改一下:
    假使你的输入数是InputData,下面的程序可以满足你的要求:前面的说法很好,下面给个更好的程序:
    CString strOutput("输入数能被");
    BOOL bFlag;
    bFlag=false;//判断整除并相应改变输出字符串
    if(!InputData%3)
       {
       strOutput+="3";
       bFlag=true;
        }
    if(!InputData%5)
       {
       if(bFlag)
       {
        strOutput+="、5";
        } 
       else
       {
        strOutput+="5";
        bFlag=true;
        }    
       }
    if((!InputData%5)
       { 
        if(bFlag)
          {
          strOutput+="、7";
           } 
        else
        {
         strOutput+="7";
         bFlag=true;
         }   
      }//判断是否3、5、7全部不能整除,相应改变输出字符串
    if(bFlag)
       strOutput+="整除"
    else
       strOutput="输入数不能被3、5、7整除"//输出字符串
    MessageBox(strOutput);
      

  4.   

    改成char*不也一样么,只是改几个相关函数,重要的是算法