![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 65
纸短情长的博客
这个作者很懒,什么都没留下…
展开
-
C语言的整型溢出问题 int、long、long long取值范围 最大最小值
溢出和取值范围C语言的整型溢出问题整数溢出int、long int 、long long int 占用字节疑问《C和指针》中写过:long与int:标准只规定long不小于int的长度,int不小于short的长度。double与int类型的存储机制不同,long int的8个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,类似科学计数法,因此double比int能表示的数...原创 2018-06-01 13:50:49 · 11794 阅读 · 2 评论 -
传参时传数组名和普通变量名的区别
传参时传数组名和普通变量名的区别case 1: 当参数是数组时,数组名就是这些元素的首地址,其实数组相当于指针,所以相当于你传了一个指针!参数数组变化,也即原数组发生变化。case 2: 而传一个普通的变量时,也即形参和实参不是指针类型时,在该函数运行,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。代码举例:#include<iostream>using namespace std;void set原创 2021-03-02 22:05:20 · 1034 阅读 · 0 评论 -
Leetcode 153:寻找旋转排序数组中的最小值
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7] 可能变为[4,5,6,7,0,1,2])。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6,7,0,1,2]输出: 0解题思路利用好数组是排好序的条件,最小元素的右...原创 2020-03-13 20:43:47 · 203 阅读 · 0 评论 -
求最大公约数和最小公倍数的算法
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044/* 两个数的乘积等于两个数的最大公约数乘于最小公倍数 辗转相除法是古希腊求两个正整数的最大公约数的,也叫欧几里...原创 2019-01-27 21:20:38 · 1099 阅读 · 0 评论 -
稳赢
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。输入格式:输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi代表“锤子”、JianDao代表“剪刀”、Bu代表“布”。End代表输入结束,这一行...原创 2019-01-27 00:16:41 · 2145 阅读 · 4 评论 -
谁先倒
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以...原创 2019-01-26 22:41:59 · 240 阅读 · 0 评论 -
九宫格输入法
假设有九宫格输入法键盘布局如下: [ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] [ 0空 ]注意:中括号[ ]仅为了表示键盘的分隔,不是输入字符。每个中括号中,位于首位的数字字符即是键盘的按键,按一下即可输入该数字字符。多次按同一个...原创 2019-01-20 00:16:50 · 4644 阅读 · 0 评论 -
删除字符串中的子串
删除字符串中的子串 (20 分)输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male ccatatcat输出...原创 2018-12-19 00:24:35 · 214 阅读 · 0 评论 -
验证“哥德巴赫猜想”(求素数的算法)
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为...原创 2019-01-28 12:56:59 · 2374 阅读 · 0 评论 -
C语言中限定输出左右对齐等问题总结
#include<stdio.h> int main(){ int n=5; printf("*%4d*\n",n);//占4位,右对齐 printf("*%-4d*\n",n); //占4位,左对齐 printf("*%04d*",n);//占4位,不足的用0来补 return 0; } ...原创 2019-01-28 14:50:58 · 5168 阅读 · 0 评论 -
二分法求多项式单根
二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则 如果f(a)f(b)<0,则计算中点的值f((a+b)/2); 如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根;否则...原创 2019-01-28 16:05:39 · 573 阅读 · 0 评论 -
龟兔赛跑
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?输入格式:输入在一行中给出比赛时间...原创 2019-02-03 19:38:27 · 1350 阅读 · 0 评论 -
求组合数(递归求阶层)
本题要求编写程序,根据公式Cnm=m!(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。...原创 2019-01-30 18:47:53 · 2699 阅读 · 0 评论 -
Shuffling Machine(洗牌器)
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techniques are seen as weak, and in order to avoid "inside jobs" where employees collaborate with gambler...原创 2019-02-17 23:24:05 · 213 阅读 · 0 评论 -
海伦公式(根据三角形三条边求面积)
海伦公式假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=√[p(p-a)(p-b)(p-c)]而公式里的p为半周长:p=(a+b+c)/2代码如下#include<stdio.h>int main(){ double a,b,c; scanf("%lf %lf %lf",&a,&b,&c);...原创 2019-05-14 11:30:07 · 12161 阅读 · 2 评论 -
【杭电OJ1002】A + B Problem II
A + B Problem IITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 488297Accepted Submission(s): 94234Problem DescriptionI have a very...原创 2019-08-19 12:59:31 · 184 阅读 · 0 评论 -
【杭电OJ1003】Max Sum
Max SumTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 331336Accepted Submission(s): 78887Problem DescriptionGiven a sequence a[1],...原创 2019-08-19 23:38:42 · 152 阅读 · 0 评论 -
寻找250
对方不想和你说话,并向你扔了一串数......而你必须从这一串数字中找到“250”这个高大上的感人数字。输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。输入样例:888 666 123 -233 250 1...原创 2018-12-21 22:45:52 · 14599 阅读 · 7 评论 -
帅到没朋友
当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤1...原创 2018-08-30 18:53:57 · 904 阅读 · 0 评论 -
阅览室
L1-043 阅览室(20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没...原创 2018-08-31 00:10:21 · 2548 阅读 · 0 评论 -
查验身份证
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3 2现在给...原创 2018-08-31 12:03:34 · 420 阅读 · 0 评论 -
出租
下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index[1]=0 对应 arr[0]=8,index[2]=3对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100。本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实...原创 2018-08-31 15:39:26 · 254 阅读 · 0 评论 -
天梯赛座位分配
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排成一列纵队,第 i+1 队的选手排在第 i 队选手之后。从第 1 所学校开始,各校的第 1 位队员顺次入座,然后是各校的第 2 位队员…… 以此类推。如果最后只剩下 1 所学校的...原创 2018-08-31 23:22:16 · 3873 阅读 · 0 评论 -
入门训练 Fibonacci数列
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再...原创 2018-11-22 00:10:37 · 114 阅读 · 0 评论 -
基础练习 十六进制转十进制
问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535代码如下#include<stdio.h> #include<string.h>#include<math.h>int m...原创 2018-11-23 20:12:12 · 109 阅读 · 0 评论 -
入门训练 序列求和
问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示1+2+3+...+n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致...原创 2018-11-22 17:44:10 · 90 阅读 · 0 评论 -
列出连通集
给定一个有Ñ个顶点和Ë条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N-1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式:输入第1行给出2个整数N(0 <N≤10)和E,分别是图的顶点数和边数。随后Ë行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式:按照“{v 1 v 2 ... v k}”...原创 2018-12-08 18:28:20 · 170 阅读 · 0 评论 -
基础练习 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。样例输入3 31 2 3...原创 2018-12-12 23:59:08 · 139 阅读 · 0 评论 -
字符串转换成十进制整数
7-22 字符串转换成十进制整数 (15 分)输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。...原创 2018-12-06 11:31:48 · 7579 阅读 · 0 评论 -
朋友圈
某学校有Ñ个学生,形成中号个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果甲和乙是朋友,且乙和ç是朋友,则甲和ç也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。...原创 2018-12-14 00:19:38 · 714 阅读 · 0 评论 -
C语言快速排序之sort排序
原文:https://blog.csdn.net/lee371042/article/details/78620457 STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件<algorithm>这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b),即...转载 2018-12-15 19:32:48 · 5509 阅读 · 1 评论 -
统计一行文本的单词个数
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。输入样例:Let's go to room 209.输出样例:5#include<stdio.h>int main(){ char s[100]; gets...原创 2018-12-21 22:33:16 · 2509 阅读 · 0 评论 -
判断回文字符串
题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#include &l...原创 2018-03-15 07:29:22 · 19601 阅读 · 1 评论