user-0 提问: 大佬们帮小白纠下错

回复:
user: user-1
content: 感谢大佬们的回答，我懂了好多

user: user-2
content: 对题目理解有问题：题意应该是十个数据，输出九个数据，第一个数据与第二个数据的和，第二个数据与第三个数据的和，。。。 审题要仔细，对题意理解错了、很容易的送分题就错过了。

user: user-3
content: C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-4
content: 引用 6 楼 自信男孩 的回复:[quote=引用 5 楼 qzjhjxj 的回复:][quote=引用 3 楼 自信男孩 的回复:][quote=引用 1 楼 qzjhjxj 的回复:]供参考：#include<stdio.h>  int main() {     int a[10]={0},b[5]={0},i,j;     for(i=0;i<10;i++)         scanf("%d",&a[i]);     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }          return 0; } for(i=0,j=0;i<10;i+=2,j++)           b[j]=a[i]+a[i+1];  //这个地方应该会越界吧，当i=9时，i+1就是10[/quote]不会出现9，i=i+2,到8就跳出了。 [/quote] 确实，不会，没看你的i+=2，这个相邻元素，理解上有分歧～[/quote]楼主的想法

user: user-5
content: 引用 5 楼 qzjhjxj 的回复:[quote=引用 3 楼 自信男孩 的回复:][quote=引用 1 楼 qzjhjxj 的回复:]供参考：#include<stdio.h>  int main() {     int a[10]={0},b[5]={0},i,j;     for(i=0;i<10;i++)         scanf("%d",&a[i]);     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }          return 0; }  for(i=0,j=0;i<10;i+=2,j++)           b[j]=a[i]+a[i+1];  //这个地方应该会越界吧，当i=9时，i+1就是10[/quote]不会出现9，i=i+2,到8就跳出了。 [/quote] 确实，不会，没看你的i+=2，这个相邻元素，理解上有分歧～

user: user-4
content: 引用 3 楼 自信男孩 的回复:[quote=引用 1 楼 qzjhjxj 的回复:]供参考：#include<stdio.h>  int main() {     int a[10]={0},b[5]={0},i,j;     for(i=0;i<10;i++)         scanf("%d",&a[i]);     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }          return 0; } for(i=0,j=0;i<10;i+=2,j++)           b[j]=a[i]+a[i+1];  //这个地方应该会越界吧，当i=9时，i+1就是10[/quote]不会出现9，i=i+2,到8就跳出了。

user: user-5
content: #include<stdio.h>  #define SIZE    10 int main() {     int a[SIZE], b[SIZE]={0};     int i, j;      for(i = 0; i < SIZE; i++)         scanf("%d", &a[i]);      for (i = 0, j = 0; i < SIZE-1; i++) {         b[j++] = a[i] + a[i+1];     }      for (i = 0; i < j; i++)         printf("%d%c", b[i], (i+1) % 3 ? ' ':'\n');      /*     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }     */      return 0; } 供参考～  相邻两个元素之和，比如0 1 2 3 4 5 6 7 8 9 ，楼主的理解是0 1， 2 3等等，我的理解是0 1, 1 2, 2 3等等这样的一组，这样也叫相邻两个元素吧

user: user-5
content: 引用 1 楼 qzjhjxj 的回复:供参考：#include<stdio.h>  int main() {     int a[10]={0},b[5]={0},i,j;     for(i=0;i<10;i++)         scanf("%d",&a[i]);     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }          return 0; }  for(i=0,j=0;i<10;i+=2,j++)           b[j]=a[i]+a[i+1];  //这个地方应该会越界吧，当i=9时，i+1就是10

user: user-6
content: b[5]应改为b[9]

user: user-4
content: 供参考：#include<stdio.h>  int main() {     int a[10]={0},b[5]={0},i,j;     for(i=0;i<10;i++)         scanf("%d",&a[i]);     for(i=0,j=0;i<10;i+=2,j++)         b[j]=a[i]+a[i+1];     for(j=0;j<5;j++){         printf("%3d",b[j]);         if((j+1)%3==0||(j+1)==5)printf("\n");     }          return 0; }