数组元素逆序交换
例如:
输入:
1,2,3,4,5
输出:
5,4,3,2,1
代码:
#include<stdio.h>
#define N 5
int main() {
int a[N], i, temp;
for (i = 0; i < N; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < N; i++) {
printf("%4d", a[i]);
}
for (i = 0; i < N / 2; i++) {
temp = a[i];
a[i] = a[N - 1 - i];
a[N - 1 - i] = temp;
}
printf("\n交换后的数组为: \n");
for (i = 0; i < N; i++) {
printf("%4d", a[i]);
}
return 0;
}
‘mysql‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件,超详细解决步骤
汉诺塔问题
以n=2为例:
pos1:起始位置
pos2:中转位置
pos3 :最终位置
#include<stdio.h>
void move(char pos1, char pos2) {
printf("%c->%c ", pos1, pos2);
}
void Hanoi(int n,char pos1,char pos2,char pos3) {
if (n == 1) {
move(pos1, pos3);
}
else {
Hanoi(n - 1, pos1, pos3, pos2);
move(pos1, pos3);
Hanoi(n - 1, pos2, pos1, pos3);
}
}
int main() {
Hanoi(2, 'A', 'B', 'C');
return 0;
}