数组元素逆序交换
例如:
输入:
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;
}