![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言学习笔记
文章平均质量分 60
上岸了深大
这个作者很懒,什么都没留下…
展开
-
520 钻石争霸赛 2021 7-5 大勾股定理 (15 分)
520 钻石争霸赛 20217-5 大勾股定理 (15 分)大勾股定理是勾股定理的推广:对任何正整数 n 存在 2n+1 个连续正整数,满足前 n+1 个数的平方和等于后 n 个数的平方和。例如对于 n=1 有 32+42=52;n=2 有 102+112+122=132+142 等。给定 n,本题就请你找出对应的解。输入格式:输入在一行中给出正整数 n(≤104)。输出格式:分两行输出满足大勾股定理的解,格式如下:a[0]原创 2021-05-20 21:57:56 · 378 阅读 · 5 评论 -
求字符串长度的函数strlen()的一些隐藏猫腻!
之前一直以为strlen()函数是在string.h的头文件中定义的函数,在stdio.h是不可以调用的。今天做PTA的时候发现,strlen()函数不属于任意一个头文件中,在VScode中按住Ctrl是点不开其原函数声明信息的!比如printf 可以显示出来但是strlen()函数没有任何信息。所以以后求字符串长度的时候可以随意使用strlen()函数,而不用担心任何声明问题。...原创 2021-04-28 18:56:09 · 274 阅读 · 0 评论 -
记一次无限循环的bug
if(i=0) //这里是赋值 不是等于,而且会造成把i的值修改为0,造成无限循环 int count[5]={0},i; for(int i=0 ; i<5 ;i++) if(i=0) //这里是赋值 不是等于,而且会造成把i的值修改为0,造成无限循环 printf("%d",count[i]); else printf(" %d",count[i]);...原创 2021-04-26 11:41:06 · 203 阅读 · 0 评论 -
习题8-6 删除字符 (20 分)(两种算法)
习题8-6 删除字符 (20 分)本题要求实现一个删除字符串中的指定字符的简单函数。函数接口定义:void delchar( char *str, char c );其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。裁判测试程序样例:#include <stdio.h>#define MAXN 20void delchar( char *str, char c );void ReadStri原创 2021-04-24 22:53:51 · 15292 阅读 · 5 评论 -
习题8-5 使用函数实现字符串部分复制 (20 分)(学习别人的代码)
习题8-5 使用函数实现字符串部分复制 (20 分)本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。函数接口定义:void strmcpy( char *t, int m, char *s );函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。裁判测试程序样例:#include <stdio.h>#define MAXN 20void原创 2021-04-24 21:04:42 · 464 阅读 · 0 评论 -
习题8-3 数组循环右移 (20 分)(关于指针返回值问题的思考)
习题8-3 数组循环右移 (20 分)本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(an−m⋯an−1a0a1⋯an−m−1)(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函原创 2021-04-24 15:59:10 · 1695 阅读 · 0 评论 -
习题8-1 拆分实数的整数与小数部分 (15 分)(典型思维)
习题8-1 拆分实数的整数与小数部分 (15 分)(典型思维)本题要求实现一个拆分实数的整数与小数部分的简单函数。函数接口定义:void splitfloat( float x, int *intpart, float *fracpart );其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。裁判测试程序样例:#include <stdio.h>void splitfloat( flo原创 2021-04-24 12:42:17 · 182 阅读 · 0 评论 -
习题7-5 找鞍点 (20 分)(好题记录)
习题7-5 找鞍点 (20 分)一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9原创 2021-04-24 11:10:53 · 321 阅读 · 0 评论 -
练习7-10 查找指定字符 (15 分)(连续使用标准输入函数输入字符有一个天坑!)
练习7-10 查找指定字符 (15 分)本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming输出样例1:index = 7输入样例2:a1234输出样例2:Not Fou原创 2021-04-24 11:07:49 · 603 阅读 · 0 评论 -
C语言关于scanf的详细说明,连续scanf出错的原因,缓冲区有上次输入的垃圾!
函数名: scanf功 能: 执行格式化输入用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("<格式化字符串>",<地址表>);scanf()函数返回成功赋值的数据项数,出错时则返回EOF。其控制串由三类字符构成:1。格式化说明符;2。空白符;3。非空白符;原创 2021-04-24 09:47:44 · 3663 阅读 · 1 评论 -
习题8-7 字符串排序 (20 分)(样例的代码详解与二维字符数组的一些知识补充)
习题8-7 字符串排序 (20 分)本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow分析:本题的难点是如何存储原创 2021-04-23 19:33:35 · 1116 阅读 · 0 评论 -
第一次单元测验参考答案详解 mooc程序设计入门——翁凯
第一次单元测验1.单选(3分)下面程序段的输出结果是?下面程序段的输出结果是?int k;while(k!=0) k=k-1;printf(“%d”, k);2.单选(3分)以下表达式 x&&1 用在 if 的条件中时,和哪个是等价的:【分析:】 当x 非0时 x&&1 为真=1 ;当x为0 时,x&&1 为假=0, 对于 x !=0 :当x 非0时成立是结果为真=1 当x为0时,x !=0 不成立 为假 结果=0 ...原创 2021-04-21 20:51:05 · 9749 阅读 · 9 评论 -
习题7-8 字符串转换成十进制整数(结构化分析与算法详解!) (15 分)
目录习题7-8 字符串转换成十进制整数 (15 分)输入格式:输出格式:输入样例:输出样例:【题意理解与切分任务】第一步:通过输出样例分析来思考和验证算法逻辑。第二步:理清逻辑,切分任务第三步 :模块化设计针对任务1:数据输入与字符串数组的初始化针对任务2:过滤其他字符,构造新数组针对任务3:设计一种算法,实现有字符串中字符 转化成十进制数任务4:根据第一个字符前是否有符号,控制输出结果的正负最终的代码注释版纯净版习题7-8 字符串转换成十进制原创 2021-04-21 10:23:50 · 872 阅读 · 3 评论 -
关于一个循环输入字符串数组的小黑洞
昨天的总结写到:新学会了一种的代码的新写法: k=0; 等价:dif[k++] = a[i] //一步到位实现了 k++ 先dif[k] 再k++ 等价:dif[k] = a[i] ;k++ 但实际上这样写回出现一个小黑洞:今天在做 练习7-11 字符串逆序 (15 分) 题时用上述写法 答题 会出现莫名其妙的空行 (我叫它黑洞!)上代码!#include <stdio.h>int main (...原创 2021-04-20 18:33:18 · 439 阅读 · 1 评论 -
练习7-4 找出不是两个数组共有的元素(详解,超长代码警告) (20 分)
目录练习7-4 找出不是两个数组共有的元素 (20 分)输入格式:输出格式:输入样例:输出样例:前言:总结与收获:最后美化紧凑版伪代码逻辑实现的注释版练习7-4 找出不是两个数组共有的元素 (20 分)给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但.原创 2021-04-19 22:55:57 · 6672 阅读 · 10 评论 -
关于循环输入的写法和错误记录
今天在做题的时候 练习7-2 求最大值及其下标 (20 分) 想通过循环将输入的数据存在一个数组里面,于是使用了如下写法#include <stdio.h>int main(){ int n,number,max=0; int a[10]; scanf("%d",&n); for(int i=0; i<n ;i++){ //实现循环输入与数组赋初值 a[i] = scanf ("%d",&number).原创 2021-04-19 09:25:42 · 143 阅读 · 0 评论 -
习题6-5 使用函数验证哥德巴赫猜想 (结构化分析与算法详解)(20 分)
习题6-5 使用函数验证哥德巴赫猜想 (20 分)本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:裁判测试程序样例:#include <stdio.h>#include <math.h>int prime( int p );void Goldbach( int n );int main(){ in原创 2021-04-18 20:27:20 · 2180 阅读 · 4 评论 -
习题6-3 使用函数输出指定范围内的完数 (20 分)
习题6-3 使用函数输出指定范围内的完数 (20 分)本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。函数接口定义:int factorsum( int number );void PrintPN( int m, int n );其中函数factorsum须返回int number的因子和;函数PrintPN要逐行原创 2021-04-18 10:24:41 · 528 阅读 · 0 评论 -
习题6-8 统计一行文本的单词个数(详细分析) (15 分)
习题6-8 统计一行文本的单词个数 (15 分)本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5...原创 2021-04-17 17:22:32 · 13302 阅读 · 1 评论 -
习题6-7 简单计算器 (超详细!结构化程序设计步骤分析)(20 分)
习题6-7 简单计算器 (20 分)模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10【题意理解与切分任务】第一步:输出数据的计算过程分析:原创 2021-04-17 13:47:00 · 1545 阅读 · 3 评论 -
C语言格式输入函数scanf()详解
scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数的一般形式scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。scanf函数的一般形式为: scanf(“格式控制字符串”, 地址表列);注:地址列表项有些书说的是输入参数列表,说输入参数列表其实不够精确。其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&..原创 2021-04-12 09:22:07 · 47444 阅读 · 2 评论