C++ 教程 在线

2652cpp-examples-monkey-eating-peach

注意 for 循环的次数:

#include <iostream>
using namespace std;
int main()
{    
    int z = 0;
    for(int i = 1, n=9; n > 0; n--,i=(i+1)*2,z=i) {
    }
    cout << z << endl;
    for(int i = 1, n=10; n > 0; n--,i=(i+1)*2) {
        z=i;
    }
    cout << z << endl;
    return 0;
}

2651cpp-examples-monkey-eating-peach

使用递归算法,方便又直观:

#include <iostream>
using namespace std;
int num(int n)
{
    int i;
    if(n==1) i=1;
    else i=2*(num(n-1)+1);
    return i;
}
int main()
{
    cout<<"桃子一共有:"<<num(10)<<"个"<<endl;
    return 0;
}

2650cpp-examples-hcf-gcd

当输入两个数相等时,最大公约数还是其本身,等于说不受输入数值影响。找公约数的前提是,输入为整型,等于说受输入类型影响。

最大公约数计算:两数能同时被 i 整除。

最小公倍数计算:两数相乘 / 最大公约数。

#include <iostream>
#include <typeinfo> 
#include <iomanip>
using namespace std;
int main()
{
   int a,b;
   int MAX,MIN,i; 
   cout <<"输入两个数: ";
   cin >> a >> b;
   cout<<"检查输入数据类型"<<typeid(a).name()<<setw(6)<<typeid(b).name()<<endl;
   //建议输入数据非法时,做异常抛出 throw 
   // 找到两个数中,最大的 
   MAX=a?b:a,b;
   // 确定除数,被除数 
   if(a==MAX)
      MIN=b;
   else        
      MIN=a;   
   // 求最大公约数, 
   for(i=MIN;i>1;i--)      
   {
      if((MAX%i==0)&&(MIN%i==0)) 
           break;       
      else          
           continue;   
   }       
    cout<<"最大公约数"<<i<<endl;    
    cout<<"最小公倍数"<<(a*b)/i; 
    return 0;
}

2649cpp-examples-pyramid-pattern

以下图形另一种写法:

        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 
#include <iostream>
using namespace std;
 
int main()
{
    int space, rows = 5;
 
    for(int i = 1; i <= rows; ++i)
    {
        for(space = 1; space <= rows-i; ++space)
        {
            cout <<"  ";
        }
     int k = 2*(i-1)+1;
        while(k>0)
        {
            cout << "* ";
            --k;
        }
        cout << endl;
    }    
    return 0;
}

2648cpp-examples-largest-number-among-three

参考方法:

#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
    float a,b,c,MAX;
    cout << "请输入三个数, 用空格隔开" << endl;
    cin >> a >> b >> c;
    MAX = a > b ? a : b;
    MAX = MAX > c ? MAX : c;
    cout <<"最大数是 " << MAX;
    return 0;
}