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;
}
C语言数组作业
最新推荐文章于 2024-10-18 22:48:33 发布