void two_dimensional_array_max() {
int h, l;
printf("行*列:");
scanf("%d*%d", &h, &l);
int a[h][l];
for (int *p = &a[0][0]; p < &a[0][0] + h * l; ++p) {
scanf("%d", p);
}
int max;
int second;
int second_i, second_j;
if (a[0][0] > a[0][1]) {
max = a[0][0];
second = a[0][1];
second_i = 0;
second_j = 1;
} else {
max = a[0][1];
second = a[0][0];
second_i = 0;
second_j = 0;
}
for (int i = 0; i < h; ++i) {
for (int j = 0; j < l; ++j) {
if (a[i][j] >= max) {
max = a[i][j];
} else {
if (a[i][j] > second) {
second = a[i][j];
second_i = i;
second_j = j;
}
}
}
}
printf("[%d,%d]:%d", second_i, second_j, second);
}
void yanghui_triangle() {
int c;
printf("几层:");
scanf("%d", &c);
int triangle[c][c];
for (int i = 0; i < c; ++i) {
for (int j = 0; j < c; ++j) {
if (j == 0 || i == j) {
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}
for (int i = 0; i < c; ++i) {
for (int j = 0; j <= i; ++j) {
printf("%4d", triangle[i][j]);
}
printf("\n");
}
}
void reverse_words() {
char str[] = "I love you";
unsigned long len = strlen(str);
int start = 0;
int end;
for (int i = 0; i < len / 2; i++) {
str[i] = str[i] ^ str[len - i - 1];
str[len - i - 1] = str[i] ^ str[len - i - 1];
str[i] = str[i] ^ str[len - i - 1];
}
for (int i = 0; i < len - 1; ++i) {
if (str[i] != ' ' && (str[i + 1] == ' ' || str[i + 1] == '\0')) {
end = i;
for (int j = start; j < (end - start + 1) / 2; j++) {
str[j] = str[j] ^ str[end - 1];
str[end - 1] = str[j] ^ str[end - 1];
str[j] = str[j] ^ str[end - 1];
}
}
if (str[i] != ' ' && str[i - 1] == ' ' && str[i] != '\0') {
start = i;
}
}
printf("%s\n", str);
}
第十二天:二维数组与字符串处理
最新推荐文章于 2024-07-16 16:49:22 发布