POJ 2750 鸡兔同笼

时间限制: 
1000m
内存限制: 
65536kB
描述
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
样例输入
2320
样例输出
0 05 10
 
(1)、源代码:
 
#include <iostream>

using namespace std;

int main()
{
     int group = 0;
     cin >> group;
     int num[100];
     int min, max, i;
     for(i = 0; i < group; i++)
          cin >> num[i];
     for(i = 0; i < group; i++)
     {
          if (num[i] % 2 != 0)
          {
               min = max = 0;
          }
          else
          {
               max = num[i] / 2;
               if(num[i] % 4 == 0)
                    min = num[i] / 4;
               else
                    min = ((num[i] - 2) / 4) + 1;
          }
          cout << min << " " << max << endl;
     }
     return 0;
}
 
(2)、解题思路:略
(3)、出现错误:compile error
error: name lookup of ‘i’ changed for ISO ‘for’ scoping
原因:它说的就是for循环中在“初始化”部分定义的变量的作用域范围的一个问题。
ISO/ANSI C++ 把在此定义的变量的作用域范围限定在 for 循环体 内,或者说,出了循环体之外这个变量就无效了。
但是在VC6中,i的作用域范围是函数作用域,在for循环外仍能使用变量i。
一开始出现错误就是在for循环中int i = 0; 了。
posted on 2012-05-02 21:52  谷堆旁边  阅读(694)  评论(0编辑  收藏  举报