您的位置:首页 > 编程语言 > C语言/C++

100000569 - 《算法笔记》2.5小节——C/C++快速入门->数组

2020-03-08 13:17 393 查看

《算法笔记》2.5小节——C/C++快速入门->数组
26039 Problem A 习题6-4 有序插入

#include <stdio.h>

int main() {
int a[10];
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
int temp = a[9];
int j;
for (j = 8; temp<a[j]; j--) {
a[j + 1] = a[j];
}
a[j+1] = temp;

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

26040 Problem B 习题6-5 数组元素逆置

#include <stdio.h>

int main() {
int a[10];
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}

for (int i = 0; i < 5;i++) {
int temp = a[i];
a[i] = a[10 - 1 - i];
a[10 - 1 - i] = temp;
}

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

26041 Problem C 习题6-6 杨辉三角

#include <stdio.h>

int main() {
const int n = 10;
int count;
scanf("%d", &count);
int a[n][2*n] = { 0 };
for (int i = 0; i < count; i++) {
a[i][0] = 1;
}
for (int i = 1; i < count; i++){
for (int j = 1; j <= i; j++) {
a[i][j] = a[i - 1][j-1 ] + a[i - 1][j];
}
}
for (int i = 0; i < count; i++) {
for (int j = 0; j <= i; j++) {
if (i != j) printf("%d ", a[i][j]);
else if (i == j && i < count - 1) printf("%d\n", a[i][j]);
else printf("%d", a[i][j]);
}
}

return 0;
}

26044 Problem D 习题6-12 解密

#include <stdio.h>
#include <string.h>

int main() {
char a[20];
scanf("%s", a);
for (int i = 0; i < strlen(a); i++) {
if (a[i] >= 65 && a[i] <= 90) {
a[i] = 26 - (a[i] - 64) + 65;
}else if (a[i] >= 97 && a[i] <= 122) {
a[i] = 26 - (a[i] - 96) + 97;
}
}
printf("%s", a);
}

26045 Problem E 习题6-13 字符串比较

#include <stdio.h>
#include <string.h>

int main() {
char a[20], b[20];
gets(a);
gets(b);

int len = strlen(a) < strlen(b) ? strlen(a) : strlen(b);
bool equal = true;

for (int i = 0; i < len; i++) {
if (a[i] != b[i]) {
printf("%d", a[i] - b[i]);
equal = false;
break;
}
}

if (equal == true) printf("%d", 0);

return 0;
}

26049 Problem F 例题6-1 逆序输出数组元素

#include <stdio.h>
#include <string.h>

int main() {
int a[10];
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < 5; i++) {
int temp = a[i];
a[i] = a[9 - i];
a[9 - i] = temp;
}
for (int i = 0; i < 10; i++) {
printf("%d", a[i]);
if (i != 9) printf("\n");
}
return 0;

}

26050 Problem G 例题6-2 数组求解Fibonacci数列问题

#include <stdio.h>
#include <string.h>

int main() {
int a[20] = { 1,1 };

for (int i = 2; i < 20; i++) {
a[i] = a[i - 1] + a[i - 2];
}
for (int i = 0; i < 20; i++) {
printf("%d\n", a[i]);
}

return 0;
}

26051 Problem H 例题6-3 冒泡排序

#include <stdio.h>
#include <string.h>

int main() {
int a[10];

for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10 - i - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < 10; i++) {
printf("%d\n", a[i]);
}
return 0;
}

26052 Problem I 例题6-4 矩阵转置

#include <stdio.h>
#include <string.h>

int main() {
int a[2][3], b[3][2];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
b[j][i] = a[i][j];
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}

26055 Problem J 例题6-9 字符串求最大值

#include <stdio.h>
#include <string.h>

int main() {
char a[3][10];
for (int i = 0; i < 3; i++) {
gets(a[i]);
}
int max = 0;
for (int i = 1; i < 3; i++) {
if (strcmp(a[max], a[i]) < 0) max = i;
}
printf("%s", a[max]);

return 0;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
CMS_DC 发布了7 篇原创文章 · 获赞 0 · 访问量 72 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: