JBTALKS.CC

标题: 【求助】 C++ if and else statement 和 loop (已解决~多谢 tomato) [打印本页]

作者: bboycs    时间: 2010-6-16 10:40 PM
标题: 【求助】 C++ if and else statement 和 loop (已解决~多谢 tomato)
本帖最后由 bboycs 于 2010-6-17 07:23 PM 编辑

不好意思~想向各位前辈请教~
小弟目前还在学习~

情况是这样~
1.输入两个号码,选出最大的`
2.要 输入 3个 号码~选出最大的

1. #include <iostream>
using namespace std;

int main()
{
        int A;
        int B;
       
        cin >> A ;
        cin >> B;
       
        if(A > B);
        {
                cout << A;
        }
        else
        {
                cout << B;
        }
       
       
        return 0;
}       
       
expected primary expression before  else
(我翻了很多网站~但还是看不懂)想请各位高手解释一下~谢谢

第二个是要3和号码~
是要用loop

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
        int count;
        int A;
        int B;
        count = 1;
       
        cin >> A ;
        cin >> B;
        do
        {
                        if(B > A);
                        {
                        A = B;
                        count = count + 1;
                        }
                        else
                        {
                        count = count + 1;
                        }       
                       
        }
        while (count < 3);
        return 0;
                       
       
}

一样也是 if  else statement的问题~
还有就是看了怪怪~第三个号码的input应该怎么放呀??
请多多帮忙~~万分感谢~

在线等~
作者: Super-Tomato    时间: 2010-6-17 12:01 AM
不好意思~想向各位前辈请教~
小弟目前还在学习~

情况是这样~
1.输入两个号码,选出最大的`
2.要 输 ...
bboycs 发表于 2010-6-16 10:40 PM



1. #include <iostream>
using namespace std;

int main()
{
        int A;
        int B;
        
        cin >> A ;
        cin >> B;
        
        if(A > B); //<---- 多了不必要的分號
        {
                cout << A;
        }
        else
        {
                cout << B;
        }
        
        
        return 0;
}      



2. 如果是固定只要三個就不用使用 do...while 了, 直接

if(A < B)
{
    //這裡讓 A 賦予 B 值
}


//再來這裡再讓使用者輸入 B

之後再做一次 if...else 即可
作者: bboycs    时间: 2010-6-17 12:08 AM
本帖最后由 bboycs 于 2010-6-17 12:09 AM 编辑

回复 2# Super-Tomato


    这是我刚刚打出来的~
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
        int a;
        int b;
        int i = 1;
       
        cin >> a;
       
        if(i< 3)
        {
        do
       
               
                {
                        cin >> b;
                        if(b> a)
                        {
                                 int a = b ;
                                 i = i + 1;
                                 
                                 
                        }
                        else
                        {
                                int a = a;
                                i = i + 1;
                               
                        }
                       

                }

               
        while (i< 3);
        }
        else
        cout << a << endl;
       
       
       

}

我是想用while的~
因为还有一题是6个号码
弄到可以input 3个号码了~
但是result show 不出来~
作者: Super-Tomato    时间: 2010-6-17 12:27 AM
回复  Super-Tomato


    这是我刚刚打出来的~
#include
#include

using namespace std;

i ...
bboycs 发表于 2010-6-17 12:08 AM




#include <iostream>
#include <cmath> //<--- 沒用到 math 函數不需要引用

using namespace std;

int main()
{
        int a;
        int b;
        int i = 1;
        
        cin >> a;
        
        if(i< 3)  // <--- do while 的時候已經限制了條件  i  這裡就不需要多於的
        {
        do
        
               
                {
                        cin >> b;
                        if(b> a)
                        {
                                 int a = b ;
                                 i = i + 1;  // i 遞增直接寫在 do 最後即可, 不用所有 if else 內都重複寫
                                 
                                 
                        }
                        else //這裡的 else 是多於的, a 為何還要賦予 a 值
                        {
                                int a = a;
                                i = i + 1;
                                
                        }
                        

                }

               
        while (i< 3);
        }
        else
        cout << a << endl;
        
        //最後這裡才需要寫個 if...else 判斷輸出最終結果
        

}
作者: bboycs    时间: 2010-6-17 12:31 AM
回复 4# Super-Tomato


    试着~多谢指教~
作者: bboycs    时间: 2010-6-17 12:35 AM
#include
#include   //> a;
        
        if(i< 3)  // > b;
                        i ...
Super-Tomato 发表于 2010-6-17 12:27 AM



    不好意思~最后那个if else的我不是很明白诶~
作者: Super-Tomato    时间: 2010-6-17 12:39 AM
不好意思~最后那个if else的我不是很明白诶~
bboycs 发表于 2010-6-17 12:35 AM



最後的 if else 就是判斷要輸出是 a 還是 b 變數值大
作者: bboycs    时间: 2010-6-17 12:42 AM
回复 7# Super-Tomato


                    do
       
               
                {
                        cin >> b;
                        if(b> a)
                        {
                                 int a = b ;
                                 
                                 
                        }
                }
               
                        i = i + 1;
               
        while (i< 3);

有error~
不是放在最后吗?
作者: Super-Tomato    时间: 2010-6-17 12:47 AM
回复  Super-Tomato
                    do
        
               
                {
                        cin >> b;
                        if(b> a)
                        {
                                 int a = b ;
                                 
                                 
                        }
                }
               
                        i = i + 1;
               
        while (i< 3);

有error~
不是放在最后吗?
bboycs 发表于 2010-6-17 12:42 AM


=_= 你了解 { 和 } 的含意嗎??
翻翻你課本的 do...while 例子, 看看要處理的循環事件應該放在哪??
作者: bboycs    时间: 2010-6-17 01:35 AM
回复 9# Super-Tomato


嗯嗯~真的很不好意思~麻烦你了~
最后一个问题了~

这是成功的code

#include <iostream>
#include <cmath> //<--- 沒用到 math 函數不需要引用

using namespace std;

int main()
{
        int a;
        int b;
        int i = 1;
        
        cin >> a;
        
        
        {
        do
        
               
                {
                        cin >> b;
                        if(b> a)
                        {
                                 a = b ;
                                 i = i + 1;  
                                 
                                 
                        }
                        else
                        {
                                a = a;
                                i = i + 1;
                                
                        }
                        

                }

               
        while (i< 3);
        }
                if(a>b)
       {
                cout << a << endl;
                }
                else
                {
                cout << b << endl;
                }
               
                return 0;
          
          
          
}

不过不好意思~我真还是不明白你所说的
i = i + 1 放在do 最后~
作者: Super-Tomato    时间: 2010-6-17 09:26 AM
本帖最后由 Super-Tomato 于 2010-6-17 09:29 AM 编辑
回复  Super-Tomato


嗯嗯~真的很不好意思~麻烦你了~
最后一个问题了~

这是成功的code

#in ...
bboycs 发表于 2010-6-17 01:35 AM


該优化的部份始终没更变,算啦這是你要的

  1. #include <iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.         int a;
  6.         int b;
  7.         int i = 1;
  8.       
  9.         cin >> a;
  10.         
  11.         do {
  12.                         cin >> b;
  13.                         if(b> a)
  14.                         {
  15.                                  a = b ;
  16.                         }
  17.                         else
  18.                         {
  19.                                  a = a;
  20.                         }
  21.                         i = i + 1;
  22.        } while (i< 3);



  23.        if(a>b)
  24.        {
  25.                cout << a << endl;
  26.        }
  27.        else
  28.        {
  29.                cout << b << endl;
  30.        }

  31.        return 0;
  32. }
复制代码



or


  1. #include <iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.         int a, b, i = 1;

  6.         cin >> a;

  7.         do {
  8.               cin >> b;
  9.               if(b> a)  a = b ;
  10.        } while (i++ < 3);

  11.        cout << ((a>b) ? a : b) << endl;
  12.        return 0;
  13. }
复制代码

作者: bboycs    时间: 2010-6-17 06:42 PM
回复 11# Super-Tomato


    好的好的~多谢你的指点~
第二个里面的coding打法 我还真是没学过~
多谢多谢~
作者: calvenyow    时间: 2010-9-12 11:09 PM
  1. Int main()
  2. {
  3.         Int number[3];
  4.         Int biggestNum(0);
  5.         For (int i=0;i<2;i++)
  6. {
  7.                 Cout << “Enter a number: “;
  8.                 Cin >> number[i];
  9.                 Cout << endl;
  10. }
  11. biggestNum=number[0];
  12. For (int j=1;j<2;j++)
  13. {
  14.         If (number[j] > biggestNum)
  15.         biggestNum=number[j];
  16. }
  17. Cout << “The biggest value is: “ << biggestNum << endl;
  18. Return 0;

  19. }
复制代码





欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5