c语言整形数组相关问题

定义一个含有10个元素的整形数组a,并为前两个元素赋值21,6

直接声明的时候赋值就行

img

#include <stdio.h>

int main() {
    int a[10]={21,6} ;
    for(int i=0;i<10;i++){
        printf("a[%d]=%d\n",i,a[i]);
    }

    return 0;
}

定义数组,然后使用a[0]=21,a[1]=6为元素赋值即可。

测试代码如下:

参考链接:


#include <stdio.h>

int main(void){
    
// https://blog.csdn.net/ZhaDeNianQu/article/details/119725736
    int a[10]; // 定义一个包含10个元素的这整形数组a 
    a[0]=21; // 为数组第一个元素赋值21 
    a[1]=6;  // 为数组第二个元素赋值为6 
    
    // 测试打印数组前两个元素的值 
    for(int i=0;i<2;i++){
        printf("a[%d]=%d\n",i,a[i]);
    }
    
    return 0;
    
} 

img

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7745348
  • 这篇博客你也可以参考下:C语言假如有一个a数组,整型,有10个元素。要输出各元素值有三种方法:
  • 除此之外, 这篇博客: C语言:习题6-2 使用函数求特殊a串数列和 (20分)中的 输出样例: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • fn(2, 3) = 222
    s = 246
  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    // 定义一个含有10个元素的整型数组a,并为其中的前两个元素分别赋值为21和6
    int a[10] = {21, 6};
    // 添加适当的提示信息
    printf("数组a的前两个元素分别为:%d和%d\n", a[0], a[1]);
    

    解释:这道问题很简单,只需要按照要求定义并初始化数组,然后输出相应的提示信息即可。

    // 找出二维数组a中的最大元素,并要求输出该元素以及该元素的行号和列号
    #include <stdio.h>
    #define ROW 3
    #define COL 3
    int main() {
        int a[][COL] = {{1,2,3},{4,5,6},{7,8,9}};
        int max = a[0][0];
        int maxRow = 0, maxCol = 0;
        for (int i = 0; i < ROW; i++) {
            for (int j = 0; j < COL; j++) {
                if (a[i][j] > max) {
                    max = a[i][j];
                    maxRow = i;
                    maxCol = j;
                }
            }
        }
        printf("max=%d maxRow=%d maxCol=%d\n", max, maxRow, maxCol);
        return 0;
    }
    

    解释:这是一道二维数组的题目,按照要求定义数组并初始化,然后利用两层循环遍历整个数组,找出其中最大的元素以及它所在的行和列,并输出相应的提示信息。

    // C语言从键盘上输入一个字符串,存放在a数组中,并在该串中的最大元素后边插入一个字符
    #include <stdio.h>
    #include <string.h>
    #define N 256
    void main() {
        char a[N] = {'\0'}, b[N] = {'\0'}, ch, max;
        int i, j, k, c;
        // 输入字符串
        printf("请输入字符串:");
        gets(a);
        // 输入ch的值
        printf("请输入要插入的字符:");
        scanf("%c", &ch);
        // 求出最大字符
        i = 1;
        max = a[0];
        while (a[i] != '\0') {
            if (a[i] > max) {
                max = a[i];
            }
            i++;
        }
        printf("字符串中的最大字符是:%c\n", max);
        // 求出最大字符位置
        i = 0;
        while (a[i] != '\0') {
            if (a[i] == max) {
                break;
            }
            i++;
        }
        i++;
        c = i;
        // 把最大的字符后面的字符放在字符串b里
        j = 0;
        while (a[i] != '\0') {
            b[j] = a[i];
            j++;
            i++;
        }
        // 把ch赋值给最大值后面的位置
        a[c] = ch;
        c++;
        // 把字符串b的值返回给a
        i = 0;
        while (b[i] != '\0') {
            a[c] = b[i];
            c++;
            i++;
        }
        // 输出插入操作后的结果
        printf("插入操作后的字符串是:%s\n", a);
        return;
    }
    

    解释:这道题目要求输入一个字符串,并在其中最大的字符后面插入一个新字符,按照要求可以分别求出最大字符和它所在位置,然后把新字符插入到相应的位置上,最后输出插入操作后的字符串即可。

    // 已知整数组a中的非零元素已按由小到大顺序排列,以下程序的功能是每输入一个非零整数,便将该整数插入数组a中,然后将数组a中的元素升序输出
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    using namespace std;
    const int maxn = 10010;
    
    int main() {
        int k, n, a[maxn], x;
        cin >> k;
        while (k--) {
            scanf("%d", &n);
            for (int i = 0; i < n; i++) {
                scanf("%d", &a[i]);
            }
            scanf("%d", &x);
            a[n] = x;
            // 把x插入到相应位置上,然后排序输出
            sort(a, a + n + 1);
            for (int i = 0; i <= n; i++) {
                printf("%d ", a[i]);
            }
            printf("\n");
        }
        return 0;
    }
    

    解释:这道题目要求在非零元素已按照从小到大顺序排列的情况下,插入一个新元素,然后对数组进行升序排序。按照要求可以在数组末尾插入新元素,然后直接调用C++标准库中的sort函数进行排序,最后输出相应的结果。

    // 定义一个矩阵a,计算矩阵上三角阵(不包括对角线元素)各元素之和,并8行2列输出矩阵a
    #include <stdio.h>
    int main() {
        int a[][3] = {{2, 3, 4}, {5, 6, 7}, {8, 9, 1}};
        int t = 0;
        for (int i = 0; i < 3; i++) {
            for (int j = i+1; j < 3; j++) {
                t += a[i][j];
            }
        }
        printf("矩阵上三角阵(不包括对角线元素)各元素之和t=%d\n", t);
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                printf("%3d", a[i][j]);
                if (j == 1) {
                    printf("  ");
                }
            }
            printf("\n");
        }
        return 0;
    }
    

    解释:这道题目要求计算矩阵上三角阵(不包括对角线元素)各元素之和,并8行2列输出矩阵a。按照要求可以利用两层循环遍历整个数组,找出矩阵上三角阵元素并进行累加计算,然后8行2列输出矩阵即可。