关于数组的C语言问题!请会者解答!谢谢!
题目:编写一个程序,创建两个8元素的double数组,使用一个循环来让用户键入第一个数组的8个元素的值,程序把第二个数组的元素设置为第一个数组元素的累积和。例如,第二个数组的第四个元素应该为第一个数组的前4个元素的和。最后打印两个数组的元素!
我的程序:
- C/C++ code
int main( void ){ double a[8] = {0.0}, b[8] = {0.0}; int i; for( i = 0; i < 8; i ++) { scanf( "%lf", &a[i] ); b[i] = b[i - 1] + a[i];//这句怎么回事,当i等于0的时候b[-1],也可以吗? } for( i = 0; i < 8; i ++) { printf( "%lf %lf\n", a[i], b[i] ); } getchar( ); return 0;}结果:
input:1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
output:
1.000000 1.000000
2.000000 3.000000
3.000000 6.000000
4.000000 10.000000
5.000000 15.000000
6.000000 21.000000
7.000000 28.000000
8.000000 36.000000
[解决办法]
我想说不可以!!!
[解决办法]
果断不可以。。。
[解决办法]
bug
[解决办法]
- C/C++ code
int main( void ){ double a[8] = {0.0}, b[8] = {0.0}; int i; for( i = 0; i < 8; i ++) { scanf( "%lf", &a[i] ); if( 0 != i) { b[i] = b[i - 1] + a[i];//这句怎么回事,当i等于0的时候b[-1],也可以吗? } else b[i] = a [i]; } for( i = 0; i < 8; i ++) { printf( "%lf %lf\n", a[i], b[i] ); } getchar( ); return 0;}
[解决办法]
b[i] = b[i - 1] + a[i];//这句怎么回事,当i等于0的时候b[-1],也可以吗?
改为
if (0==i) b[i]=a[i]; else b[i] = b[i - 1] + a[i];
[解决办法]
你这个设计就有问题啊