关于数组的C语言问题!请会者解答!谢谢!
题目:编写一个程序,创建两个8元素的double数组,使用一个循环来让用户键入第一个数组的8个元素的值,程序把第二个数组的元素设置为第一个数组元素的累积和。例如,第二个数组的第四个元素应该为第一个数组的前4个元素的和。最后打印两个数组的元素!
我的程序:
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;}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];
[解决办法]
你这个设计就有问题啊