今天学了函数和数组,还学习了汉诺塔,这个对我来说理解挺难的,不过最后还是学会了
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
/*Ctrl+Y取消上一步退回操作
Ctrl+D复制光标所在行
Ctrl+G跳转到制定
Shift+End从头到尾选择
Shift+Home从尾到头选择
Shift+Ctrl+L删除当前行
Ctrl+k Ctrl+C注释光标所在行*/
void my_sort(int arr[], int sz) {
int i = 0;
//确定冒泡排序的次数
for (i = 0; i < sz - 1; i++) {
int flag = 1;//假设已经有序
int j = 0;
for (j = 0; j < sz - 1 - i; j++) {//每一次排序次数
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
flag = 0;//其实排序的数据不完全有序
}
}
if (flag == 1) {
break;
}
}
}
int main(){
int arr[] = { 0,1,2,3,4,5,6,7,8,9 };
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
//int sz = strlen(arr[0]);
printf("-----%d\n", sz);
my_sort(arr, sz);
for (i = 0; i < sz; i++) {
printf("%d ", arr[i]);
}
return 0;
}
//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//#include<string.h>
///*Ctrl+Y取消上一步退回操作
// Ctrl+D复制光标所在行
// Ctrl+G跳转到制定
// Shift+End从头到尾选择
// Shift+Home从尾到头选择
// Shift+Ctrl+L删除当前行
// Ctrl+k Ctrl+C注释光标所在行*/
// void move(int n, char A, char C) {
// printf("把第%d个圆盘从%c---->%c\n", n, A, C);
//}
//void hanoi(int n, char A, char B, char C) {
// if (n == 1) {
// move(n, A, C);
// }
// else {
// hanoi(n - 1, A, C, B);
// move(n, A, C);
// hanoi(n - 1, B, A, C);
// }
//}
//int main() {//汉诺塔
// int n = 0;
// printf("请输入有几个盘子:");
// scanf("%d", n);
// hanoi(n, 'A', 'B', 'C');
//}
// //void my_sort(int arr[], int sz) {
// // int i = 0;
// 确定冒泡排序的次数
// for (i = 0; i < sz - 1; i++) {
// int flag = 1;//假设已经有序
// int j = 0;
// for (j = 0; j < sz - 1 - i; j++) {//每一次排序次数
// if (arr[j] > arr[j + 1]) {
// int tmp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = tmp;
// flag = 0;//其实排序的数据不完全有序
// }
// }
// if (flag == 1) {
// break;
// }
// }
//
//}
//int main(){
// int arr[] = { 0,1,2,3,4,5,6,7,8,9 };
// int i = 0;
// int sz = sizeof(arr) / sizeof(arr[0]);
// int sz = strlen(arr[0]);
// printf("-----%d\n", sz);
// my_sort(arr, sz);
// for (i = 0; i < sz; i++) {
// printf("%d ", arr[i]);
// }
// return 0;
//}