![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
莫逸雪
戒骄戒躁,面包会有的,牛奶也会有的。
展开
-
C语言 多项测试控制
while(scanf("%d",&n)!=EOF){}原创 2018-12-25 10:22:56 · 233 阅读 · 0 评论 -
PTA-矩阵运算(C语言)
#include <stdio.h>int main(){ int n,sum=0; scanf("%d",&n); int mov[n][n]; for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%d",&mov[i][j]); for(int i=0;i<n-1;i++) ...原创 2018-11-11 20:27:20 · 18126 阅读 · 6 评论 -
PTA-数组元素循环右移问题(C语言)
输出格式:在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。输入样例:6 21 2 3 4 5 6输出样例:5 6 1 2 3 4做这个题我觉得还是抠字眼三个字比较重要,比如说不许另加数组,但是可以把一个数组做的空间大一些就可以简单转移了;0<=M<=100,N>=0,注意N有可能大于M;另外感觉多多练习用处很大,类似的题目又很容易解...原创 2018-11-11 16:38:11 · 15464 阅读 · 4 评论 -
PTA-求n以内最大的k个素数以及它们的和(C语言)
输入样例1:1000 10输出样例1:997+991+983+977+971+967+953+947+941+937=9664输入样例2:12 6输出样例2:11+7+5+3+2=28#include <stdio.h>//判断素数int prime(int num){ int flag=1; for(int i=2;i<(num-1);i++){ ...原创 2018-11-10 21:59:13 · 11639 阅读 · 1 评论 -
PTA-平面向量加法(C语言)
#include <stdio.h>int main(){ double x1,x2,y1,y2,x,y; scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2); x=x1+x2;y=y1+y2; if(x>-0.05&&x<0){ x=0.0; } if(y>-0.05&am原创 2018-11-10 21:26:30 · 6754 阅读 · 8 评论 -
PTA-找出总分最高的学生(C语言)
给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,...原创 2018-11-10 16:35:05 · 11493 阅读 · 1 评论 -
将若干字符串按字母顺序(由小到大)输出(C语言)
#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include&lt;string.h&gt;int main(){ void sort(char *name[],int n); void print(char *name[],int n); char *name[]={"Follow me",&原创 2018-11-09 14:10:53 · 14257 阅读 · 2 评论 -
输出成绩不及格的学生的学号及成绩(C语言)
#include <stdio.h>#include <stdlib.h>int main(){ float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,66}}; float *search(float(*pointer)[4]); float *p; int i,j; for(i=0;i<3;i...原创 2018-11-09 11:32:06 · 6716 阅读 · 0 评论 -
冒泡法排序(C语言)
#include <stdio.h>#include <stdlib.h>int main() { int a[10],t; printf("input 10 numbers:\n"); for(int i=0;i<10;i++){ scanf("%d",&a[i]); } printf("\n"); for(int j=0;j<原创 2018-11-01 15:04:40 · 418 阅读 · 0 评论 -
PTA-删除重复字符(C语言)
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz#include <stdio.h>#include<string.h>//排序 i...原创 2018-12-04 11:16:49 · 6867 阅读 · 3 评论 -
PTA-找最长的字符串(C语言)
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样例:5liwangzhangjinxiang输出样例:...原创 2018-12-04 12:09:41 · 12761 阅读 · 2 评论 -
C语言数据的输入输出
putchar(输出字符)例:putchar(a); (a为单个字符)getchar(输入字符)例:a=getchar();printf(格式输出)例:printf("%c",a);scanf(格式输入)例:scanf("%c",&a);puts(输出字符串)例:puts(s); (s为字符串)gets(输入字符串)例:gets(s);...原创 2018-12-25 10:20:04 · 947 阅读 · 0 评论 -
查找子串(C语言)PTA
本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include &lt;stdio.h&gt;#define MAXS 30char *search(char *s, char *t);void Re...转载 2018-12-23 11:10:21 · 10389 阅读 · 5 评论 -
PTA-字符串逆序(C语言)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!输出样例:!dlroW olleH#include <stdio.h>#include<string.h>int main(){ char ...原创 2018-12-03 22:09:38 · 10093 阅读 · 2 评论 -
PTA-求整数序列中出现次数最多的数(C语言)
本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4我的做法:采用二维数组第一行存整数,第二行存放入数...原创 2018-12-03 20:48:28 · 8939 阅读 · 0 评论 -
PTA-近似求PI(C语言)
#include <stdio.h>int main() { double eps,sum=1.0,num=1,i; scanf("%le", &eps); for(i=1;num>eps;i++){ num=num*i/(i*2+1); sum+=num; } printf("PI = %0.5f",sum*2); ...原创 2018-12-05 21:53:45 · 5897 阅读 · 0 评论 -
PTA- 最长对称子串(C语言)
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&amp;TAP symmetric?,最长对称子串为s PAT&amp;TAP s,于是你应该输出11。输入格式:输入在一行中给出长度不超过1000的非空字符串。输出格式:在一行中输出最长对称子串的长度。输入样例:Is PAT&amp;TAP symmetric?输出样例:11#include &lt;st...原创 2018-12-05 18:22:36 · 6097 阅读 · 5 评论 -
PTA-查验身份证(C语言)
一个合法的身份证号码由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-12-05 10:02:43 · 23245 阅读 · 10 评论 -
PTA-切分表达式——写个tokenizer吧(C语言)
[先说点出题背景]这个题是为低年级同学、学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂。如果是高年级、学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧。哦,对了,什么是tokenizer?请自行查询解决。反正在此处不应翻译成“令牌解析器”。[正题]四则运算表达式由运算数(必定包含数字,可能...原创 2018-12-04 18:38:45 · 1497 阅读 · 1 评论 -
PTA-求组合数(C语言)
本题要求编写程序,根据公式Cnm =m!(n−m)!n! 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围...原创 2018-10-27 19:17:44 · 16021 阅读 · 1 评论 -
PTA-二进制的前导的零(语言)
计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。现在,你的任务是写一个程序,输入一个整数,输出在32位表达下它前导的零的个数。输入格式:一个整数,在32位的整数可以表达的范围内。输出格式:一个整数,表...原创 2018-10-27 17:56:10 · 518 阅读 · 0 评论 -
PTA-爬动的蠕虫(C语言)
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U...原创 2018-10-27 16:20:38 · 1580 阅读 · 2 评论 -
素数和(C语言)
题目内容:我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。输入格式:两个整数,第一个表示n,第二个表示m。输出格式:一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。输入样例:2 ...原创 2018-10-21 22:02:43 · 949 阅读 · 0 评论 -
数字特征值(C语言)
题目内容:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的计算可以用下面的表格来表...原创 2018-10-21 16:01:50 · 519 阅读 · 0 评论 -
PTA 简单计算器(C语言)
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。输入样例:1+2*10-10/2=输出样例:10代码如下...原创 2018-10-23 11:09:40 · 13510 阅读 · 5 评论 -
MOOC 念整数(C语言)
念整数(5分)题目内容:你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。如输入1234,则输出:yi er san si注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:fu er san si yi输入格式:一个整数,范围是[-100000,10000...原创 2018-10-23 10:50:23 · 4600 阅读 · 0 评论 -
掉入陷阱的数字(C语言)
#include<stdio.h>int Sum(int num){ int sum = 0; while(num!=0){ sum += num%10; num /= 10; } return sum*3+1;}int main(){ int num1=0,r1=0,t=0,r=0,num2=0; scan...原创 2018-10-25 16:20:44 · 4953 阅读 · 0 评论 -
计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。输入样例1:2009/03/02输出样例1:61输入样例2:2000/03/02输出样例2:62第...原创 2018-10-20 16:25:44 · 594 阅读 · 0 评论 -
PTA-出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;超起步里程后10公里内,每公里2元;超过10公里以上的部分加收50%的回空补贴费,即每公里3元;营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其...原创 2018-10-20 15:12:28 · 1104 阅读 · 0 评论 -
PTA-然后是几点
有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。输入格式:输入在一行中给出...原创 2018-10-20 11:24:41 · 2484 阅读 · 1 评论 -
PTA-韩信点兵
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1;再按从1至6报数,记下最末一个士兵报的数为5;再按从1至7报数,记下最末一个士兵报的数为4;最后按从1至11报数,最末一...原创 2018-10-26 10:39:57 · 2539 阅读 · 1 评论 -
输出整数各位数字(c语言 )
本题要求编写程序,对输入的一个整数,从高位(低位)开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:123456输出样例:1 2 3 4 5 6(6 5 4 3 2 1)正序输出,代码如下:#include<stdio.h>int main(){...原创 2018-10-26 11:12:06 · 64801 阅读 · 3 评论 -
PTA-找完数(C语言)
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入格式:输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。输出格式:逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均...原创 2018-10-27 15:55:28 · 20392 阅读 · 6 评论 -
PTA-黑洞数(C语言)
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)例如,对三位数207:第1次重排求差得:720 - 27 = 693;第2次重排求差得:963 - 369 =...原创 2018-10-27 12:17:16 · 10923 阅读 · 3 评论 -
PTA-整除光棍(C语言)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。...原创 2018-10-26 19:56:36 · 3893 阅读 · 1 评论 -
最大公约数和最小公倍数(C语言)
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292输出样例:73 2044#include<stdio.h>int Yueshu(int i,int j){ int t=0; while(j!=0){ ...原创 2018-10-24 10:03:56 · 1206 阅读 · 1 评论 -
猜数字游戏(C语言)
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包...原创 2018-10-24 09:19:09 · 4518 阅读 · 0 评论 -
PTA-计算阶乘和(C语言)
对于给定的正整数N,需要你计算 S=1!+2!+3!+…+N!。输入格式:输入在一行中给出一个不超过10的正整数N。输出格式:在一行中输出S的值。输入样例:3输出样例:9#include<stdio.h>int main(){ int n=0,sum=0,t=1; scanf("%d",&n); for(int i=1;i<=n;i++)...原创 2018-10-26 16:41:02 · 21697 阅读 · 11 评论 -
PTA-龟兔赛跑(C语言)
#include<stdio.h>int main(){ int t=0,t1=0,t2=0,W=0,T=0; scanf("%d",&t); while(t1<t&&t>0){ if(t1%10==0&&T>W){ t2=t1+30; while(t1<t2&原创 2018-10-26 15:45:27 · 11624 阅读 · 0 评论 -
PTA-支票面额(C语言)
一个采购员去银行兑换一张y元f分的支票,结果出纳员错给了f元y分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?输入格式:输入在一行中给出小于100的正整数n。输出格式:在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution。输入样例1:23输出样例1:25.51输入样例2:22输出样例2:No Solutio...原创 2018-10-26 12:11:36 · 1634 阅读 · 0 评论