奇数奇数:输出 1-1000 之间所有的奇数。
1234567891011121314151617181920212223242526方法1:int main(){ int i; for (i = 1; i <= 1000; i++) { if (i % 2 == 1) { printf("%d\t", i); } } return 0;}方法2:int main(){ int i; for (i = 1; i <= 1000; i += 2) { printf("%d\t", i); } return 0;}
偶数偶数:输出 1-1000 之间所有的偶数。
1234567891011121314方法1:int main(){ int i; for (i = 1; i <= ...
strlen功能:计算字符串长度【不包含’\0’】
返回值:size_t【无符号整数】
1size_t strlen( const char* str)
函数实现
12345678910111213141516171819202122232425262728293031323334方法1:size_t my_strlen(const char *str){ const char *ps = str; while (*ps) { ps++; } return ps - str;}方法2:size_t my_strlen(const char *str){ int count = 0; while (*str) { count++; str++; } return count;}int main(){ char *str = "hello"; int res = m ...
伪随机数需要#include <stdlib.h>,用法【无参数】:1int rand (void); // 随机数的范围:0 ~ RAND_MAX
注意:每次开机后,使用rand()函数生成的随机数是固定的。
示例12345678910#include <stdio.h>#include <stdlib.h>int main(){ int randomNum = rand(); // rand()函数返回值为int【0 ~ RAND_MAX】 printf("随机数:%d", randomNum); return 0;}
生成真随机数需要 #include <stdlib.h> 和 #include <time.h>,用法【有参数】:1void srand (unsigned int seed); // 重新播种
示例12345678910111213#include <stdio.h>#include <stdlib.h># ...
AnZhiYu主题中大部分标签移植于店长的hexo-butterfly-tag-plugins-plus,转载请注明来自安知鱼
按钮 btns标签语法参数配置样式预览示例源码1234{% btns 样式参数 %}{% cell 标题, 链接, 图片或者图标 %}{% cell 标题, 链接, 图片或者图标 %}{% endbtns %}
圆角样式:rounded, circle
增加文字样式:可以在容器内增加 <b>标题</b>和<p>描述文字</p>
布局方式:默认为自动宽度,适合视野内只有一两个的情况。
参数
含义
wide
宽一点的按钮
fill
填充布局,自动铺满至少一行,多了会换行
center
居中,按钮之间是固定间距
around
居中分散
grid2
等宽最多 2 列,屏幕变窄会适当减少列数
grid3
等宽最多 3 列,屏幕变窄会适当减少列数
grid4
等宽最多 4 列,屏幕变窄会适当减少列数
...
什么是汉诺塔?汉诺塔问题源于印度传说,传说中一个庞大的印度寺庙里,有一个72英尺高的铜制塔,塔中有三个针,最下面一个放着64个盘子,盘子大小不同,大的在下面,小的在上面,且每个盘子都比下面的盘子小得多。僧人们按照预言的指示把铜盘的一个个不同大小的圆盘从第一个针上移至第三个针上,保持原有顺序装满第三个针。据说,完成最后一个移动后,寺庙就会毁灭,太阳就会消失。
通俗的说 就是:有三根柱子,我们需要把第一个柱子的盘子全部移动到第三个柱子,有下面三个要求:
每次只能移动一个盘子;
小盘子必须在大盘子上面;
在移动盘子时,不能把一个盘子放到比它小的盘子上。
思路先将前面n-1个盘子移动到辅助柱子上,再将第n个盘子移动到目标柱子上,最后将前面n-1个盘子移动到目标柱子上。
代码实现(递归)12345678910111213141516171819202122232425#include <stdio.h>void hanoi(int n, char a, char b, char c){ if (n == 1) { printf(&qu ...
免费注册
进入 https://xinghuo.xfyun.cn/
填写手机号登录
填写问卷
等待消息(会给你发送信息,我等了大概三四天吧)
使用
还是挺不错的。有兴趣的可以试一试,挺简单的。
什么是归并排序?归并排序分为两步:
拆分:将待排序的数组递归地拆分成两个子数组,直到每个子数组只包含一个元素为止。这可以通过不断将数组拆分成左右两半来实现。
合并:将拆分后的子数组两两合并,合并的同时进行排序,得到更大的已排序子数组,直到最终将所有子数组合并成一个完整的有序数组。合并操作会将两个有序的子数组合并成一个有序的大数组。
代码实现12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include <stdio.h>#include <stdlib.h>void merge(int arr[], int start, int mid, int end){ int* temp = (int*)malloc((end - start + 1) * sizeof(int)); // 开辟动态内存,来存储临时数组 if (te ...
思路遍历整个字符串,当遇到空格时将word变量置为0,表示当前不处于一个单词中;当遇到非空格字符且word变量为0时,将word变量置为1,并将count变量加1,表示开始了一个新的单词。
代码实现1234567891011121314151617181920212223#include <stdio.h>int main() { char str[100]; gets(str); //不可以使用scanf,scanf遇到空格就结束,gets遇到回车结束 int i = 0; int word = 0; // 标记是否处于一个单词中,0表示不是,1表示是 int count = 0; // 记录单词数目 for (i = 0; str[i] != '\0'; i++) { if (str[i] == ' ') // 如果遇到空格,将word置为0,表示当前不处于一个单词中 { word = 0; ...
contach.h123456789101112131415161718192021222324252627282930313233343536373839404142#pragma once#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX_NAME 20#define MAX_SEX 10#define MAX_TELE 12#define MAX_ADDR 30#define MAX 100#define DEFAULT_SZ 3#define INC_SZ 2typedef struct PeoInfo { char name[MAX_NAME]; char sex[MAX_SEX]; int age; char tele[MAX_TELE]; char addr[MAX_ADDR];} PeoInfo;// 1.0 版本// typedef struct Contact {// PeoInf ...
什么是杨辉三角?如下是一个6行的杨辉三角,每个数字等于上方两数字之和。
123456 1 1 1 1 2 1 1 3 3 1 1 4 6 4 11 5 10 10 5 1
注意:以下方法只是实现了杨辉右三角,如以下:
1234511 11 2 11 3 3 11 4 6 4 1
方法一使用二维数组存储整个杨辉三角
1234567891011121314151617181920212223242526272829303132333435#include <stdio.h>#define N 10 // 定义杨辉三角的行数int main(){ int arr[N][N] = { 0 }; int i, j; for (i = 0; i < N; i++) { for (j = 0; j <= i; j++) { if (i == j || j == 0) // 如果是第一列或者对角线上的元素,则 ...