读书人

关于数组的C语言有关问题!请会者解答

发布时间: 2012-06-15 19:37:05 作者: rapoo

关于数组的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];
[解决办法]
你这个设计就有问题啊

读书人网 >C语言

热点推荐