NOI OJ
巩固做过的C语言题目
(忍冬)
一个前端程序猿
展开
-
C语言oj 计算鞍点
Description给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。11 3 5 6 912 4 7 8 1010 5 6 9 118 6 4 7 215 10 11 20 25Input输入包含一个5行5列的矩阵Output如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"Sample原创 2021-03-20 21:20:26 · 1939 阅读 · 4 评论 -
C语言 字符串判等
Description判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。Input两行,每行包含一个字符串。Output若两个字符串相等,输出YES,否则输出NO。Sample Inputa A bb BB ccc CCCAa BBbb CCCcccSample OutputYESSource Code#include<stdio.h>#include<string.h>int main(){ char arr1[10原创 2021-03-20 15:17:17 · 3451 阅读 · 5 评论 -
C语言 忽略大小写的字符串比较
Description一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到’\0’为止。如果全部字符都相同,则认为相同;如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到’\0’而另一个字符串还未遇到’\0’,则前者小于后者)。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小写时是相等的。请写一个程序,实现对两个字符串进行忽原创 2021-03-20 14:30:41 · 3294 阅读 · 1 评论 -
C语言 校门外的树
Description某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。Input第一行有两个整数L原创 2021-03-02 14:31:58 · 860 阅读 · 0 评论 -
C语言 角谷猜想
Description所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。程序要求输入一个整数,将经过处理得到1的过程输出来。Input一个正整数N(N <= 2,000,000)Output从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End"。如果输入为1,直接输出"End"。Sample Input5Sampl原创 2021-03-01 15:16:50 · 8229 阅读 · 3 评论 -
C语言 鸡尾酒疗法
Description鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生 命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y原创 2021-02-28 20:58:24 · 1569 阅读 · 0 评论 -
C语言 数字反转
Description给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。Input输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。Output输出共 1 行,一个整数,表示反转后的新数。Sample Input样例 #1:123样例 #2:-380Sample Output样例 #1:321样例 #2:-83So原创 2021-02-28 20:08:43 · 4897 阅读 · 0 评论 -
C语言 正常血压
Description监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。Input第一行为一个正整数n,n < 100其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。Output输出仅一行,血压连续正常的最长小时数。Sample Input4100 8090 50120 60140 90Sample Outp原创 2021-02-27 18:23:49 · 3115 阅读 · 2 评论 -
C语言 数1的个数
Description给定一个十进制正整数n,写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。Input正整数n。1 <= n <= 10000。Output一个正整数,即“1”的个数。Sample Input12Sample Output5Source Code#include<stdio.h>原创 2021-02-27 15:16:39 · 6164 阅读 · 0 评论 -
C语言 扫雷游戏地雷数计算
Description扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。Input第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地原创 2020-12-20 16:44:15 · 4535 阅读 · 3 评论 -
C语言 字符串加密
Description输入一串字符(长度不超过100)和一个正整数k,将其中的英文字母加密并输出加密后的字符串,非英文字母不变。加密思想:将每个字母c加一个序数k,即用它后面的第k个字母代替,变换公式:c=c+k。如果字母为z,则后一个字母是a,也就是字母字符形成一个圆。Input输入第一行是若干字符,以回车结束。输入第二行是一个整数k,k是int范围内的正整数;Output输出加密后的字符串。Sample Input12kjsdZjk280Sample Output12edmxT原创 2020-12-15 22:02:25 · 20158 阅读 · 2 评论 -
C语言 字符串移位 strcpy()、strcat()、strstr()的用法
Description对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串s1和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。Input一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度不超过30。Output如果一个字符串是另一字符串通过若干次循环移位产原创 2020-12-03 20:03:02 · 1573 阅读 · 0 评论 -
C语言 小明的调查作业
Description小明的老师布置了一份调查作业,小明想在学校中随机找N个同学一起做一项问卷调查,聪明的小明为了实验的客观性,他先随机写下了N个1到1000之间的整数(0<N≤1000),不同的数对应着不同的学生的学号。但他写下的数字难免会有重复数字,小明希望能把其余重复的数去掉,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。Input输入有2行,第1行为1个正整数,表示整数的个数:N.第2行有N个用空格隔开的正整数,表示小明写下的N个整原创 2020-11-26 17:07:21 · 1929 阅读 · 1 评论 -
C语言 基因相关性
Description为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的DNA进行比对,以判断该比对的DNA是否具有相关性。现比对两条长度相同的DNA序列。首先定义两条DNA序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条DNA序列是相关的,否则不相关。Input有三行,第一行是用来判定出两条DNA序列是否相关的阈值,随后2行是两条DNA序列(长度不大于500)。O原创 2020-11-15 17:28:23 · 3548 阅读 · 3 评论 -
C语言 找第一个只出现一次的字符
Description给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。Input一个字符串,长度小于100000。Output输出第一个仅出现一次的字符,若没有则输出no。Sample InputabcabdSample OutputcSource Code#include<stdio.h>#include<string.h>int main(){ char a[100000]; in原创 2020-11-15 16:24:14 · 14448 阅读 · 8 评论 -
C语言 统计数字字符的个数
Description输入一行字符,统计出其中数字字符的个数。Input一行字符串,总长度不超过255。Output输出为1行,输出字符串里面数字字符的个数。Sample InputPeking University is set up at 1898.Sample Output4Source Code#include<stdio.h>#include<string.h>int main(void){ int count=原创 2020-11-15 15:19:15 · 14778 阅读 · 0 评论 -
C语言 菲波那契数列(1)(递归和自调用函数)
Description总时间限制: 1000ms内存限制: 65536kB菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。Input第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1 <= a <= 20)Output输出有n行,每行输出对应一个输入。输出应是一个正整数,为菲波那契数列中第a个数的大小Sample Input452191原创 2020-11-13 18:31:40 · 488 阅读 · 0 评论 -
放苹果(递归解法)
Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。Output对输入的每组数据M和N,用一行输出相应的K。Sample Input17 3Sample Output8Analyze设set(m,n) 为m个苹果,n个盘子的放法转载 2020-11-12 21:06:47 · 3962 阅读 · 1 评论 -
C语言 级数求和
Description已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。Input键盘输入 k输出屏幕输出 nSample Input1Sample Output2Source Code#include<stdio.h>int main(void){ int n; int k; double sn=原创 2020-11-03 23:36:23 · 9720 阅读 · 0 评论 -
OJ A*B问题
Description输入两个正整数A和B,求A*B。Input一行,包含两个正整数A和B,中间用单个空格隔开。1 <= A,B <= 50000。Output一个整数,即A*B的值。Sample Input3 4Sample Output12Source Code#include<stdio.h>int main(void){ long long int a,b,c; scanf("%lld%lld",&a原创 2020-10-28 08:45:30 · 670 阅读 · 0 评论 -
OJ Hello, World!的大小
Description还记得在上一章里,我们曾经输出过的“Hello, World!”吗?它虽然不是本章所涉及的基本数据类型的数据,但我们同样可以用sizeof函数获得它所占用的空间大小。请编程求出它的大小,看看跟你设想的是否一样?Input无Output一个整数,即“Hello, World!”的大小。Sample Input无Sample Output(不提供)Source Code#include<stdio.h>int main原创 2020-10-28 06:53:09 · 1377 阅读 · 0 评论 -
OJ字符菱形
Description给定一个字符,用它构造一个对角线长5个字符,倾斜放置的菱形。Input输入只有一行, 包含一个字符。Output该字符构成的菱形。Sample Input*Sample OutputSource Code#include<stdio.h>int main(void){ int i; char a; scanf("%c",&a); for(i=1;i<=3;i++) { for(int j=1;j<=原创 2020-10-27 19:45:24 · 822 阅读 · 0 评论