![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
fenda、
这个作者很懒,什么都没留下…
展开
-
c语言实现递归删除二叉树的的子树
#include<stdio.h>#include <stdlib.h>typedef struct BiTNode{ //定义结点结构 char data; struct BiTNode *lchild,*rchild; //指向左右孩子的指针 }BiTNode,*BiTree; //...原创 2019-10-17 16:45:00 · 4494 阅读 · 3 评论 -
3n+1问题
int main(){ int a,b; printf("请输入数据:\n"); while(~scanf("%d %d",&a,&b)){ //循环输入 int max=0; //记录最大循环长度 for(int i=a;i<=b;i++){ //遍历a到b每个数 int x=i;...原创 2019-10-17 16:03:58 · 322 阅读 · 0 评论 -
函数返回值定义char,用int变量接受仍为1问题分析
#include<stdio.h>char a(){ return true; //true的值为1,是int型的;当返回值为char,此处发生截断 ;只取int中的一个字节返回。 }int main(){ int x; x=a(); printf("%d",x);//输出为1 }问题分析:int 是多字节整型,char为一个字节整型。char...原创 2019-04-20 16:46:23 · 1044 阅读 · 0 评论 -
Vigenère 密码
#include<string.h>int main(){ char k[100]; char c[1000]; int i,j=0,lent1,lent2; gets(k); gets(c); lent1=strlen(k); //密码长度 lent2=strlen(c); //密文长度 for(i=0;i<lent1;i++...原创 2019-05-15 16:06:10 · 209 阅读 · 0 评论 -
c语言中的 stream
stream是文件流流是程序输入或输出的一个连续的字节序列,设备(例如鼠标、键盘、磁盘、屏幕、调制解调器和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现----不一定是物理磁盘文件,还可以是对应于某个输入/输出源的逻辑文件。C语言提供了5种标准的流,你的程序在任何时候都可以使用它们,并且不必打开或关闭它们。以下列出了这5种标准的流。 名称 描 ...原创 2019-05-25 11:42:25 · 3756 阅读 · 0 评论 -
fwrite
文章目录声明1描述声明2参数返回值声明1size_t fwrite(const void * buf, size_t size, size_t count, FILE *fp);1、参数 size 是指单个元素的大小(其单位是字节而不是位,例如,读取一个 int 型数据就是 4 字节);2、参数 count 指出要读或写的元素个数,这些元素在 buf 所指的内存空间中连续存放,共占“siz...原创 2019-05-25 16:09:37 · 1973 阅读 · 0 评论 -
strchr
文章目录描述声明返回值描述C 库函数 char *strchr(const char *str, int c) 在参数 str 所指向的字符串中搜索第一次 出现字符 c(一个无符号字符)的位置。声明char *strchr(const char *str, int c)参数str – 要被检索的 C 字符串。c – 在 str 中要搜索的字符。返回值该函数返回在字符串 str 中...转载 2019-05-23 21:58:28 · 623 阅读 · 0 评论 -
动态分配二维数组
使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。示例代码,分配3行4列二维数组:#include <stdio.h>#include <malloc.h> int main(){ int **a; int i, j; a = (int**)malloc(sizeof(int*)*3);//为二维数组分配3行 f...原创 2019-04-20 16:26:53 · 980 阅读 · 0 评论 -
c通过汉字n内码内码特性统计汉字个数
汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1.计算机中,补码第一位是符号位,1 表示为负数,所以 汉字机内码的每个字节表示的十进制数都是负数所以这题也就可以简化为输入字符串判断其中字符转化为十进制数是否小于零.注意:汉字是有两个小于零的字符组成,所以在统计结果的时候就要将count除以2了.#include<stdio.h>#include&l...转载 2019-04-23 20:18:44 · 465 阅读 · 0 评论 -
scanf("%d%d",&x,&y),while(scanf("%d %d",&a,&b)!=EOF)
EOF 是个宏,其意思是:End Of File,文件尾标志。 从数值上来看,就是整数-1在C语言的头文件中对其进行了宏定义:当读文件操作时,遇到文件结束位置或读数据出错均会返回 EOF。那么,如何在键盘输入时,产生EOF呢?不同的系统方法不同:linux系统下,在输入回车换行后的空行位置,按 ctrl+d (先按ctrl键,不放,再按d键)- windows系统下,在输入回车换行后...原创 2019-04-12 21:13:46 · 3098 阅读 · 0 评论 -
循环输出,控制最后一个数后没有空格;puts换行
文章目录一、控制空格1、最后一个单独输出2、通过()?:语句判断二、用puts()实现换行1、puts介绍2、实现一、控制空格荔枝:输出数组 int a[]={1,2,3,4,}; 输出格式如:1 2 3 4最后一的数没有空格。1、最后一个单独输出#include<stdio.h>int main(){ int a[]={1,2,3,4}; for(int i=0...原创 2019-04-16 16:04:45 · 11443 阅读 · 0 评论 -
两种数组排序方法
文章目录一、选择排序(从小到大)二、冒泡排序(从小到大)一、选择排序(从小到大)1)思想:选择排序,让数组中的每一个数,依次与后面的数进行比较,如果前面的数大于后面的数,就进行位置的交换。这种说法或许有些人看不明白。换个说法,选择排序:第一个数依次与后面的数比较,第一次比较完之后最小的数在最前面 。二、冒泡排序(从小到大)1)思想:相邻两个数进行比较,第一波比较后,最大的数在最后。(每...转载 2019-04-20 16:55:58 · 415 阅读 · 0 评论 -
清除数组内容函数memset函数
文章目录一、**memset函数:**常见错误:二、清除函数内容:1、循环赋值:2、memset函数如题:实现代码:#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int n,i,j,k,t=0; char a[100]; while(~scanf("%d",...原创 2019-04-16 21:31:58 · 15860 阅读 · 0 评论 -
母牛问题解法
文章目录一,常规暴力1、倒着看,每头牛减去成长的4年,剩下的就是产仔的数量2、给牛分类3、记录每个牛的年纪,成熟后总数加1二、递归一,常规暴力1、倒着看,每头牛减去成长的4年,剩下的就是产仔的数量2、给牛分类#include<stdio.h>#include<math.h>int main(void) { int n,i,t; int a[3] = {...原创 2019-04-17 17:21:30 · 534 阅读 · 0 评论 -
通过scanf来输入字符串,不用带&
例如:首先说明 %s格式符 表示用来输入出一个字符串 而字符串是以数组的形式的存储的c语言中数组名代表该数组的起始地址。 此处,a为数组名 代表的是首地址,所以就不用取地址符了, 再用取地址符号 就重复了 请注意与**%c**的区别 理解就好啦。...原创 2019-04-22 17:35:17 · 5848 阅读 · 0 评论 -
scanf函数理解与\n(空白符的理解)
文章目录一、scanf函数解析缓冲二、验证1、缓冲的存在,可存放很多内容2、scanf("%d\n",&num);一、scanf函数解析缓冲scanf存在缓冲:通过scanf由键盘输入内容时,并不是直接赋值给变量,而是送给缓冲,缓冲可以接受从键盘输入的很多内容。当执行到scanf时,scanf就会从缓冲内读取数据,(那么问题来了)scanf怎么知道读到哪结束?那就需要空白符(空白符:...原创 2019-04-12 18:26:24 · 2135 阅读 · 3 评论