1 Star 0 Fork 0

LC.yulin/C.语言

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
源.c 3.30 KB
一键复制 编辑 原始数据 按行查看 历史
LC.yulin 提交于 2022-03-02 23:20 . C语言经典代码练习
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//接受一个整形值,按顺序打印它的每一位
//递归
//void print(int n)
//{
// if (n > 9)
// {
// print(n / 10);
// }
// printf("%d ",n % 10);
//}
//int main()
//{
// int num = 0;
// scanf("%d", &num);
// print(num);
// return 0;
//}
//模拟实现一个函数,求字符串的长度
//int my_strlen(char* str)
//{
// int count = 0;
// while (*str != '\0')
// {
// str++;
// count++;
// }
// return count;
//
//}
//int main()
//{
// char arr[] = "bit";
// int len = my_strlen(arr);
// //数组名传过去的是首元素的地址;
// printf("len =%d", len);
// return 0;
//}
//不创建临时变量,求字符串的长度;
//递归求法
//int my_strlen(char* str)
//{
// if (*str != '\0')
// return 1 + my_strlen(str + 1);
// else
// return 0;
//}
//int main()
//{
// char arr[] = "bit";
// int len = my_strlen(arr);
// //数组名传过去的是首元素的地址;
// printf("len =%d", len);
// return 0;
//}
//写一个函数,求n的阶乘
//int Fac(int n)
//{
// int i = 0;
// int ret = 1;
// for (i = 1; i <= n; i++)
// {
// ret *= i;
// }
// return ret;
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret=Fac(n);
// printf("ret=%d", ret);
//
// return 0;
//}
//用递归求n的阶乘;
//int Fac(int n)
//{
// if (n <= 1)
// return 1;
// else
// {
// return n * Fac(n - 1);
// }
//
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret=Fac(n);
// printf("ret =%d\n", ret);
// return 0;
//}
//求第n个斐波那契数列的值
//int Fib(int n)
//{
// if (n <= 2)
// {
// return 1;
// }
// else
// {
// return Fib(n - 1) + Fib(n - 2);
// }
//}
//int main()
//{
/*int n = 0;
scanf("%d", &n);
int ret=Fib(n);
printf("ret =%d", ret);
return 0;*/
//}
//int Fib(int n)
//{
// int a = 1;
// int b = 1;
// int c = 1;
// while (n > 2)
// {
// c = a + b;
// a = b;
// b = c;
// n--;
// }
// return c;
//
//}
//int main()
//{
// int n = 0;
// scanf("%d", &n);
// int ret = Fib(n);
// printf("ret =%d", ret);
//
// return 0;
//}
//青蛙跳台阶问题
//int Steps(int n)
//{
// if (n == 1)
// {
// return 1;
// }
// else if (n == 2)
// {
// return 2;
// }
// else
// return Steps(n - 1) + Steps(n - 2);
//}
//int main()
//{
// int n = 0;
// int ret = 0;
// printf("请输入台阶数:");
// scanf("%d", &n);
// ret=Steps(n);
// printf("%d\n", ret);
// return 0;
//}
//汉诺塔问题
//void move( char x, char y)
//{
// printf("%c--->%c\n",x ,y);
//
//}
//void Han_n_t(int n, char a, char b, char c)
//{
// if (1 == n)
// move(a,c);
// else
// {
// Han_n_t(n - 1, a, c, b);
// move( a, c);
// Han_n_t(n - 1, b, a, c);
//
// }
//
//}
//int main()
//{
// int n = 0;
// printf("请输入要移动的盘子数:");
// scanf("%d", &n);
// Han_n_t(n,'a','b','c');
// return 0;
//}
//冒泡排序;
void bubble_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 i = 0;
int sz = 0;
int arr[10] = {10,9,8,7,6,5,4,3,2,1};
//对arr进行升序
sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, sz);
//对arr进行传参,实际上传递过去的首元素的地址。
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/lc-yulin/c-language.git
git@gitee.com:lc-yulin/c-language.git
lc-yulin
c-language
C.语言
master

搜索帮助