定义长度为10的一维数组,计算前项元素加后项元素之和保存于另一组数组中,并以3个数为一行的形式输出

定义长度为10的一维数组,计算前项元素加后项元素之和保存于另一组数组中,并以3个数为一行的形式输出

再定义一个9个元素的数组存储

#include <stdio.h>
int main()
{
    int a[10],b[9],i;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<9;i++)
    {
        b[i] = a[i] + a[i+1];
        printf("%d ",b[i]);
        if(i%3==2)
          printf("\n");
    }
}

首尾的是否相加呢?如果相加可以这样

#include <stdio.h>

int main() {
    int arr1[10];   
    int arr2[10];  

     for (int i = 0; i < 10; i++) {
        arr1[i] = i + 1;
    }

     for (int i = 0; i < 10; i++) {
        arr2[i] = arr1[i] + arr1[(i + 1) % 10];
    }

     for (int i = 0; i < 10; i++) {
        printf("%d ", arr2[i]);
        if ((i + 1) % 3 == 0) {
            printf("\n");
        }
    }

    return 0;
}


  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7653128
  • 这篇博客你也可以参考下:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组
  • 除此之外, 这篇博客: 习题 6.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个数;2.进行处理;3.输出10个数。中的 习题 6.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:1.输入10个数;2.进行处理;3.输出10个数。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 代码块:

    #include <iostream>
    using namespace std;
    void input(int *n, int m);
    void change(int *n, int m);
    void print(int *n, int m);
    int main()
    {
        int a[10];
        input(a, 10);
        change(a, 10);
        print(a, 10);
        system("pause");
        return 0;
    }
    void input(int *n, int m)
    {
        int *p;
        for (p=n, cout<<"Please enter "<<m<<" numbers: "; p<n+m; cin>>*p++);
    }
    void print(int *n, int m)
    {
        int *p;
        for (p=n, cout<<"New line: "; p<n+m; cout<<*p++<<' ');
        cout<<endl;
    }
    void change(int *n, int m)
    {
        int *p, *max, *min, t;
        for (p=n, min=n; p<n+m; p++)
            if (*p<*min) min=p;
        t=*n, *n=*min, *min=t;
        for (p=n, max=n+m-1; p<n+m; p++)
            if (*p>*max) max=p;
        t=*(n+m-1), *(n+m-1)=*max, *max=t;
    }
  • 您还可以看一下 邱石老师的微信小程序云开发入门(摆脱后台自己实现后台数据)课程中的 创建一个商品数据表并添加一条数据小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:
    1. 定义长度为10的一维数组:int arr[10];
    2. 数组中每个元素的值为任意值。需要注意的是,在计算前项元素加后项元素时,最后一个元素没有后项元素,因此需要特殊处理。
    3. 计算前项元素加后项元素之和,保存于一个长度为10的新数组中:
    int sum_arr[10];
    for(int i=0; i<10; i++){
        if(i==9){
            sum_arr[i] = arr[i];  // 最后一个元素没有后项元素直接复制
        }
        else{
            sum_arr[i] = arr[i] + arr[i+1]; // 其他元素求和
        }
    }
    
    1. 新数组中每个元素的值为每个元素与其后一项的和。需要注意的是,在计算最后一个元素时,直接复制原数组中的值即可。
    2. 以3个数为一行的形式输出新数组中的所有元素:
    for(int i=0; i<10; i++){
        printf("%d ", sum_arr[i]);
        if((i+1)%3 == 0){
            printf("\n"); // 每输出3个数换行
        }
    }
    
    1. 输出的结果使用空格分隔每个元素,每输出3个数换行。