题目是:
—————————————————————————————————
Problem C:鸡兔同笼
Time Limit:1000MS Memory Limit:65536K
Total Submit:4275 Accepted:2591
Description
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物
Input
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
Output
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
Sample Input
2
3
20
Sample Output
0 0
5 10
—————————————————————————————————
我的程序是:
—————————————————————————————————
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,i,j;
cin>>n;
int a[n];
for(i=0;i<n;i++)
{
cin>>a[i];
}
for(j=0;j<n;j++)
{
if(a[j]%2!=0) cout<<"0 0"<<endl;
if(a[j]%2==0) cout<<int((a[j]+2)/4)<<" "<<a[j]/2<<endl;
}
return 0;
}
—————————————————————————————————
在Code::Blocks下编译运行都没有问题,但在C++环境下编译出现问题:
—————————————————————————————————
Compile Error
Main.cpp
640087.3746\Main.cpp(9) : error C2133: 'a' : unknown size
—————————————————————————————————
主要问题在于数组(a[n])的定义,请问C++里如何实现用变量定义数组的长度,请高手给出详细完整的程序代码好吗,谢谢了。
另外,能弱弱地要求一下,程序请中不要出现太过复杂,高深和冷僻的语句和函数,我还是一个大一的菜鸟,尽管VB用的还可以,但是C++实在是不如VB那么体贴啊......
1、首先,定义一个自定义函数,实现字符数组长度的判断。
2、自定义函数中,定义一个整型变量i,用来计算字符数组的长度。
3、函数中,用while循环实现字符数组长度的判断。
4、主函数中,先保存一个整型变量,保存计算出的字符串数组长度。
5、接着,定义一个字符串数组,保存统计的字符串。
6、输入统计的字符串,保存在数组str中。
7、计算字符串数组的长度,保存在变量n中。
8、最后,输出计算得到的字符串长度。
C++里如何实现用变量定义数组的长度
1、首先,定义一个自定义函数,实现字符数组长度的判断。2、自定义函数中,定义一个整型变量i,用来计算字符数组的长度。3、函数中,用while循环实现字符数组长度的判断。4、主函数中,先保存一个整型变量,保存计算出的字符串数组长度。5、接着,定义一个字符串数组,保存统计的字符串。6、输入统计的...
在C++中如何以变量建数组(求一些巧方法)
数组是做为静态变量出现的,其大小不允许进行动态定义是很正常的。如果需要动态定义数组的长度的话,就必须使用指针(数组的变量名就是一个指向数组空间的指针常量),利用new运算符动态的定义“数组”空间的大小。其示例如下:int n;cin >> n;int *a = new int[n];int i;for (i = 0 ; i <...
C++怎样动态设定数组的长度?(把数组长度用变量表示,通过输入确定长度的...
cout<<"输入元素个数:";p=new int[a];for(int i=0;i>p[i];
在C++中如何给字符串数组定义长度呢?
所谓数组就是根据类型来分配内存空间; 那么: 类型*定义的个数=内存上所占的空间大小; 在C++中,可以有字符数组一般的格式是:char 数组名 [个数];在内存中是一单个储存的:列如:char string[27]={"hao ma wo "}; 在内存中是: string[1] [2][3] [4] [5] [6] [7] [8] [...
C++ 使用变量声明数组长度
C++中无法使用变量作为数组长度,必须使用常量。原因在于数组空间分配在栈内存中,这部分空间大小必须在编译时就确定,不能等到运行时再分配。常量值在编译时就确定,而变量须运行时才能确定。因此,若要使用变量声明数组长度,可以选择将数组空间开辟在堆内存中。采用这种方法,虽然灵活性增强,但在内存管理...
c++动态定义数组长度
你可以先定义一个全局指针变量(如果要求整型数组的话就是int* a,字符型就是char* a等),指针你可以把它理解成数组int a[],这里数组a就相当于int*a,但这时指针还没有分配内存空间,只要分配了就相当于数组,但比数组的优势在于可以动态定义长度,如果分配了空间之后a中存储的值就是分配的空间的...
怎么用C++数组输入一个整数i, i
1、首先在电脑中,找到并打开Visual C++6.0,然后新建一个文件。2、接着在操作页面中,敲好函数库文件名代码,如下图所示。3、然后宏定义一个变量(表示为常量,作为数组长度),如下图所示。4、然后使用循环语句,输入数组各元素值,如下图所示。5、最后使用循环语句输出数组各元素值,就完成了。
C++如何定义一个长度超过一百万的数组
看看数组占用的内存大小:1000000=1000*1000然后乘以int型数据长度 1000*1000*4byte约等于4M,而栈的默认内存空间为1M左右,所以会导致内存溢出 解决这个问题,可以将数组申明在全局存储区或堆上即可 方法一:申明为全局变量 include<iostream>#include<algorithm>using namespace std;int list[1000000];\/\/...
c++中二维数组长度如何设置为键盘输入的变量?
首先,声明一个指向要实现的数组的数据类型的指向一维指针数组的指针(2级指针)。例如int **p[] (格式应该是这样的吧)然后用输入分配一维指针数组的大小 然后再分配每个指针指向空间的大小 使用时用指针代替数组名就行了,如:p[2][0] 代替a[2][0]嘎嘎……还是在眼前写的程序里发现了这个代码...
C\/C++变量定义数组长度问题
编译都过不了。而后来的有些C++的编译器允许这样做的,但大多数用来做定义数组长度的变量要用const修饰,叫值不变变量,但纯C编译器即使用const修饰的变量也不允许用来定义数组长度。你说的“C和C++”都是允许的可能是你的编译器是C++兼容C的,时下纯C编译器已经很难遇到了……供参考。