C语言下数组的基本操作

C语言下数组的基本操作,c,arrays,C,Arrays,我有一个无法解决的问题:( 这是: 我需要在这里更改第15行: #include <stdio.h> #define MAX 10 int main(int argc, const char * argv[]) { int a[MAX], b[MAX], c[MAX], i; for (i=0; i<MAX; i++) //fill array a a1=1 a2=2 a[i] = i+1; for (i=0; i<

我有一个无法解决的问题:( 这是:

我需要在这里更改第15行:

#include <stdio.h>
#define MAX 10

int main(int argc, const char * argv[])
{
    int a[MAX], b[MAX], c[MAX], i;

    for (i=0; i<MAX; i++) //fill array a    a1=1   a2=2
        a[i] = i+1;

    for (i=0; i<MAX; i++) //fill array b    b1=10  b2=9
        b[i] = a[MAX-1-i];

    for(i=0; i<MAX; i++)
        c[i] = a[i] + b[i];

    for(i=0; i<MAX; i++) //print array c
        printf("%d ",c[i]);
    printf("\n");
}
#包括
#定义最大值10
int main(int argc,const char*argv[]
{
int a[MAX],b[MAX],c[MAX],i;

对于(i=0;i而言,最简单的方法是使用
if
语句,类似于:

for(i=0; i<MAX; i++)
     if(i < MAX/2)
          c[i] = a[i];
     else 
          c[i] = b[i];

你希望你的输出是
10,10,10,10…
?你正在打印数组
c
的元素。为什么你说“程序将打印数组a中的第一个MAX/2元素和数组b中的最后一个MAX/2元素”?顺便说一句,我非常喜欢这种奇特的方式,所以“?”类似于(如果)而“:”类似于(其他)?…我应该更多地使用它:)
for(i=0; i<MAX; i++)
    c[i] = (i < MAX/2)? a[i]: b[i];