C语言数组作业

1.
#include "stdio.h"
int main() {
    int i, a[3], sum = 0;
    scanf("%d,%d,%d", &a[0], &a[1], &a[2]); // 修改scanf语句
    for (i = 0; i < 3; i++)
        sum = sum + a[i];
    printf("sum=%d", sum);
    return 0; // 添加return语句
}

2.1
#include "stdio.h"
int main() {
    int i, a[10], min, index;
    printf("Input 10 integers:\n"); // 添加提示语句
    for (i = 0; i < 10; i++) // (1) 补全
        scanf("%d", &a[i]); // (2) 补全
    min = a[0]; // 初始化min为数组第一个元素
    index = 0; // 初始化index为0
    for (i = 0; i < 10; i++) { // (3) 补全
        if (min > a[i]) { // (4) 补全
            min = a[i];
            index = i;
        }
    }
    printf("MIN=%d,index=%d\n", min, index);
    return 0; // 添加return语句
}

2.2
#include "stdio.h"
int main() {
    int i, j, b[3][4], max, row = 0, col = 0; // 初始化row和col为0
    printf("Input 12 integers for a 3x4 matrix:\n"); // 添加提示语句
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            scanf("%d", &b[i][j]); // 输入矩阵元素
        }
    }
    max = b[0][0]; // 初始化max为矩阵第一个元素
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 4; j++) {
            if (max < b[i][j]) {
                max = b[i][j];
                row = i;
                col = j;
            }
        }
    }
    printf("MAX=%d, row=%d, col=%d\n", max, row, col);
    return 0; // 添加return语句
}

3.
#include <stdio.h>
#define ROWS 4
#define COLS 4
int main() {
    int matrix[ROWS][COLS] = {
        {10, 15, 4, 1},
        {23, 13, 8, 7},
        {2, 4, 8, 1},
        {22, 9, 6, 5}
    };
    int i, j, sum_main = 0, sum_minor = 0, sum_perimeter = 0, sum_above_main = 0;

    for (i = 0; i < ROWS; i++) {
        sum_main += matrix[i][i]; // 主对角线
        sum_minor += matrix[i][ROWS - 1 - i]; // 次对角线
        sum_perimeter += matrix[0][i] + matrix[ROWS - 1][i] + matrix[i][0] + matrix[i][COLS - 1]; // 周边元素
        for (j = 0; j <= i; j++) {
            sum_above_main += matrix[i][j]; // 主对角线及其上方元素
        }
    }

    printf("Sum of main diagonal: %d\n", sum_main);
    printf("Sum of minor diagonal: %d\n", sum_minor);
    printf("Sum of perimeter: %d\n", sum_perimeter);
    printf("Sum of elements above main diagonal: %d\n", sum_above_main);

    return 0;
}
4.
#include <stdio.h>
#include <string.h>
int main() {
    char s1[100], s2[100], result[100];
    int i, j, k = 0;

    printf("Enter string S1: ");
    scanf("%s", s1);
    printf("Enter string S2: ");
    scanf("%s", s2);

    for (i = 0; s1[i] != '\0'; i++) {
        int flag = 0;
        for (j = 0; s2[j] != '\0'; j++) {
            if (s1[i] == s2[j]) {
                flag = 1;
                break;
            }
        }
        if (!flag) {
            result[k++] = s1[i];
        }
    }
    result[k] = '\0'; // 添加字符串结束标志
    printf("Resultant string S1: %s\n", result);

    return 0;
}
5.
#include <stdio.h>
#include <string.h>
int main() {
    char s1[100], s2[100], s3[200];
    int i, j, k;

    printf("Enter string S1: ");
    scanf("%s", s1);
    printf("Enter string S2: ");
    scanf("%s", s2);

    // Copying characters from s1 and s2 to s3
    strcpy(s3, s1);
    strcat(s3, s2); // Concatenating s2 to s3

    // Sorting characters in s3
    for (i = 0; i < strlen(s3) - 1; i++) {
        for (j = i + 1; j < strlen(s3); j++) {
            if (s3[i] > s3[j]) {
                char temp = s3[i];
                s3[i] = s3[j];
                s3[j] = temp;
            }
        }
    }

    printf("S1: %s\n", s1);
    printf("S2: %s\n", s2);
    printf("S3: %s\n", s3);

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值