
C语言
C语言的学习
咸瑜
本人是学生 好好学习 天天向上
博客园常驻 无数次想过放弃人生太多未知
展开
-
C语言-字符串循环左移后补算法
C语言-字符串循环左移后补算法什么是字符串循环左移后补? 左移就是把字符串第n+1到最后一个字符移到最前面,后补就是把1 到 m个字符移到字符串最后面补上。实现的核心思想是:先把第1个字符给临时变量然后把第2到n个字符分别向前移动1位,然后把临时变量放入到最后一位。例:有字符串 abcdefg 如果n = 3,则移动后: defgabc 。又或 :有字符串 1234abcdefg 如果n = 4,则移动后:abcdefg1234。实现代码如下:/**时间:2020年...原创 2021-05-07 13:48:43 · 831 阅读 · 0 评论 -
C语言关于浮点型赋值的注意事项
C语言关于浮点型赋值的注意事项无论是float 还是 double 赋值的时候都要注意下面几点:注意赋初值,且若要为0 则赋值 0.0 而不是 0,因为这样更规范,例如要赋值3,则 赋值 3.0; 参与运算并把结果赋予浮点型时,我们要注意参与运算的值最少都要一个浮点型,不然结果是错误的;1. 例子:#include<stdio.h>int main(){ float a = 0.0; // 0.0更规范 double b= 0.0; // 0.0更规..原创 2021-05-07 13:47:05 · 7639 阅读 · 0 评论 -
字符串典型题目 回文的判断-C语言
字符串典型题目 回文的判断-C语言回文 是一种顺序读和倒序读都一样的字符串,例如:“1234321” 正这读 1234321 反着读:1234321 所以它是回文 ,回文还有 ABCDCBA ……那么在做这种题,我们就需要把头和尾比较,一讲到头和尾比较,就想到用循环i遍历头(数组头) 和 用循环n-i-1遍历尾 (数组尾),然后循环n/2次。【n表示字符串长度 且 此方法仅此用于数组】例:创建函数fun 并且 判断一个字符串是不是一个回文,若是返非零 否则返零。int fun(char原创 2021-05-07 13:45:19 · 965 阅读 · 0 评论 -
清全部空写法-C语言 [清字符串里面的全部空格]
/**时间: 2020年9月14日 11:23:49*例: 清除字符串里面的空格。*核心: 遇空格跳过*/#include<stdio.h>void fun(char *str){ int i = 0; //i用来做重新赋值的下标 char *temp; //创建一个临时字符指针用来取str的字符; temp = str; while(*temp) { if(*temp != ' ') //如果t.原创 2021-05-07 13:44:12 · 222 阅读 · 0 评论 -
N*N内递矩阵算法 C语言
N*N内递矩阵算法如图就是一个n*n内递矩阵,如何去创建他呢?首先,我们知道如图的5*5(N*N)内递矩阵由外而内是有3(m)层,第一个圈圈都为1,内二圈圈都为2,内三圈圈都为3.我们可以仔细观察 并 用笔把他对应的坐标写出来,则有:2.用i 和 j 和k来遍历元素行和元素列,并且有些行和列是固定不动的值这和N有关 即N-i-1 。1.算出m 看他是有多少层组成,m和i息息相关例子:创建7*7(N*N)的内递矩阵并输出。/*时..原创 2021-05-07 13:42:29 · 785 阅读 · 0 评论 -
四舍五入算法-C语言
四舍五入算法-C语言四舍五入算法:如果要求精确到小数第N位,则需要对N+1进行运算,方法是将该 数 乘以 10^N+1 次方后 + 5,然后除以10并强制转换成长整形(Long)型,再将该数除以10的N次方,同时转换为浮点型(Double\float)。步骤解析:1.将该 数 乘以 10^N+1 次方后 + 5 。因为保留N位小数 且 要把最后一位小数四舍五入,所以要乘N+1次方后在加 5 ,乘N+1次方是为了能保留N位小数且腾出最后一位小数进行四舍五入,加5是为了能把最后一位小数四舍五入。...原创 2021-05-06 09:30:04 · 3426 阅读 · 0 评论 -
C语言判断 x以内的素数 ∑ 质数
素数也称为质数, 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。(规定1既不是质数也不是合数)。我们可以利用循环内嵌来判断质数,根据性质可知质数是大于1的且只能被1和本身整除。举个例子:求100以内全部素数并且把它们赋入result数数组里。那么有代码:/**时间: 2020年9月13日 15:09:48*例: 求100以内全部素数并且把它们赋入result数数组里*核心: i 和 j 要等于2 且 注意j是否>=i;*/#include&l原创 2021-05-06 09:28:13 · 225 阅读 · 0 评论 -
C语言fopen函数mode浅解 -- 转
C语言fopen函数mode浅解 C语言fopen()函数有以下12种模式,如下: 打开模式 只可以读 只可以写 读写兼备 文本模式 r w a r+ w+ a+ 二进制模式 rb wb ...转载 2021-05-06 09:27:16 · 2145 阅读 · 0 评论 -
C程序数组算法 — 冒泡法排序【前冒 || 后冒】
第一种写法(前冒泡):/* C程序数组算法 — 冒泡法排序* 此例子按照 大 -> 小 排序* 原理:两两相比较,然后进行大小对调 * 比较次数: n^2 次* 说明:冒泡排序是相对稳定的排序算法,当待排序的列有序时,效果最好!* 时间:2020年7月12日 21:59:22*/#include<stdio.h>int main(){ int a[10] = {1,3,5,7,9,2,4,6,8,10}; int i,j,原创 2021-05-06 08:16:05 · 261 阅读 · 0 评论 -
C语言利用for循环打印菱形
C语言利用for循环打印菱形(高度为奇数)这次用的方法是上下部分分开打印,先打印上部分,再打印下部分。先举个简单的例子打印,再改进代码,登堂入室从而理解。例:打印一个高度(高度必须为奇数)为 5 的菱形,上下拆分 就是 上部分为 3行的三角形,下部分为2行的倒三角形(代码如下:)#include<stdio.h>int main(){ int i,j; for(i = 1;i <= 3;i++)//打印高度为3的三角形 { ...原创 2021-05-06 08:14:50 · 22597 阅读 · 8 评论 -
C语言利用for循环打印数字三角金字塔
#include<stdio.h>int main(){ int i,j; for(i = 1;i<=5;i++)//打印高度为5的数字金字塔 { for(j = 1;j <= 5-i;j++)//打印空格 { printf(" "); } for(j=1;j<=i;j++)//打印随高度递增数字 printf("%2d",j); for(j = i-1;j>=.原创 2021-05-06 08:13:13 · 8176 阅读 · 2 评论 -
关于C语言解决汉诺塔(hanoi)问题
C语言解决汉诺塔问题汉诺塔是典型的递归调用问题:hanoi简介:印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。--图片来源于百度百科A,B,C三个柱子,当A柱子上只有一个盘子时直接将该盘子从..原创 2021-05-05 20:15:35 · 556 阅读 · 0 评论 -
C语言计时器问题
随手一写 2020年6月5日 13:06:57#include<stdio.h>#include<Windows.h>void time(void){ int x = 0, y = 0, z = 0,q = 0;while(1){ Sleep(1000); printf("%d时%d分%d秒\n",x,y,z); z++; q = z; if(z == 60) { z = 0; y++;原创 2021-05-05 20:12:33 · 235 阅读 · 0 评论