补充练习
补充练习
目录
- 3.输入一个小于255的十进制非负整数,输出对应的二进制、八进制和十六进制
- 歌唱比赛
- 除法计算器
- 求平均值
- 4.输入一个字母,若输入小写字母,转换为大写输出,若输入大写字母,转换为小写输出
- 计算某月天数
- 最大公约数
- 歌德巴赫猜想
- 整数分析
- 选号程序
- 日期计算
- 统计正整数的个数
- 跳一跳
- 数值数位之和--多位数拆分练习
- 小球下落问题
- 输出金字塔
- 位数判断
- 回文数
- 0-1矩阵
- 相邻区域
- 灰度直方图
- 密码强度
- 图像旋转
- 画图
- 密码编译
- 数组逆序排列
- 数组元素平移
- 后项除以前项
- 单词排序--字符数组练习
- 字符拷贝--字符数组练习
- 寻找最长的行
- 括号匹配
- 表达式求值
- 字符串查找
- 目录操作
- 字符串相似度
- ISBN号码
- 处理字符串
3.输入一个小于255的十进制非负整数,输出对应的二进制、八进制和十六进制
#include
#include
int main()
{int a;char s[10];scanf("%d",&a);itoa(a, s, 2);printf("%s %o %X ",s,a,a);return 0;
}
歌唱比赛
题目描述:
为歌唱比赛设计一个评分系统,规则如下:
共有n名评委给分(0~100分,整数),要求去掉一个最高分,去掉一个最低分,剩余成绩的平均分为最终得分。
输入一个正整数n(3≤n≤10),表示有n个评委,输入n个成绩,输出最终得分。
输入格式:第一行输入一个正整数n(3≤n≤10),第二行输入每位评委给分,用空格分隔。
输出格式:输出最终得分,结果保留两位小数。
示例:
输入:5
70 75 80 85 90
输出:80.00
#include
int main()
{
/**************************函数参数********************************************
num 评委人数
average 平均分
score[10] 得分
i,j,k 临时变量
*******************************************************************************/int num;double average=0;int score[10];int i,j,k;/*输入*/ scanf("%d",&num);for(i=0;i<num;i++)scanf("%d",&score[i]);/*排序*/for(i=0;i<num-1;i++)for(j=i;j<num;j++)if(score[i]<score[j]){k=score[i];score[i]=score[j];score[j]=k;}/*求平均*/for(i=1;i<num-1;i++)average=average+score[i]*1.0/(num-2);/*打印*/printf("%.2f\n",average);return 0;
}
除法计算器
标题
除法计算器
类别
基本计算
时间限制
1S
内存限制
256Kb
问题描述
小明的弟弟刚开始学习除法,为了检查弟弟的计算结果是否正确,小明决定设计一个简单计算器程序来验算。
输入说明
输入数据由四个整数m,n,q,r构成,m为被除数,n为除数,q和r为小明的弟弟计算出的商和余数。整数之间用空格分隔,所有整数取值范围在(-100000~100000),n不为0。
输出说明
如果验算结果正确,输出yes,否则输出正确的商和余数
输入样例
输入样例:
样例1:
10 3 3 1
样例2:
10 3 3 2
输出样例
样例1输出:
yes
样例2输出:
3 1
#include
int main()
{int m,n,p,r;scanf("%d%d%d%d",&m,&n,&p,&r);if(p==m/n&&r==m%n)printf("yes");elseprintf("%d %d",m/n,m%n);return 0;
}
求平均值
题目描述:计算三个整数的平均值,结果保留两位小数。
输入格式:共一行,包含三个整数,整数之间用空格分隔。
输出格式:共一行,输出平均值,结果保留两位小数。
输入示例:20 42 55
输出示例:39.00
#include
int main()
{int num1,num2,num3;double ave;scanf("%d%d%d",&num1,&num2,&num3);ave=(num1+num2+num3)*1.0/3;printf("%.2f",ave);return 0;}
4.输入一个字母,若输入小写字母,转换为大写输出,若输入大写字母,转换为小写输出
#include
int main()
{//输入一个字母,若输入小写字母,转换为大写输出,//若输入大写字母,转换为小写输出char a;scanf("%c",&a);if(a<'z'&&a>'a')printf("%c",a-32);else if(a<'Z'&&a>'A')printf("%c",a+32);return 0;}
计算某月天数
标题:计算某月天数
类别:流程控制
时间限制:2S
内存限制:10000Kb
问题描述:
每年的1,3,5,7,8,10,12月有31天,4,6,9,11月有30天,闰年2月29天,其他年份2月28天,给定年份和月份求该月的天数
输入说明:
输入由两个正整数a和b构成,a表示年份,b表示月份,a和b之间用空格分隔
输出说明:
根据年份和月份计算该月天数并输出
输入样例
输入样例1
2000 3
输入样例2
2001 2
输出样例
输出样例1
31
输出样例2
28
#include
int main()
{int year,month,day;scanf("%d%d",&year,&month);if(month==2){if((year%4==0&&year%100!=0)||year%400==0)printf("29");elseprintf("28");}else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)printf("31");elseprintf("30");return 0;}
最大公约数
标题:
最大公约数
类别:
时间限制:
1 S
内存限制:
1000 Kb
问题描述:
最大公约数(GCD)指某几个整数共有因子中最大的一个,最大公约数具有如下性质,
gcd(a,0)=a
gcd(a,1)=1
因此当两个数中有一个为0时,gcd是不为0的那个整数,
当两个整数互质时最大公约数为1。
输入两个整数a和b,求最大公约数
输入说明:
输入为两个非负整数a和b(0<=a,b<10000),a和b之间用空格分隔,
输出说明:
输出其最大公约数
输入样例:
样例1输入
2 4
样例2输入:
12 6
样例3输入:
3 5
输出样例:
样例1输出
2
样例2输出
6
样例3输出
1
#include
void gcd(int x,int y);
int i;
int main()
{int a,b;scanf("%d%d",&a,&b);if(a==0)printf("%d",b);else if(b==0)printf("%d",a);else if(a==1||b==1)printf("1");elsegcd(a,b);return 0;
}
void gcd(int x,int y)
{if(x<y)i=y;elsei=x;while(1){if(x%i==0&&y%i==0){printf("%d",i);break; }else {i--;} }
}
歌德巴赫猜想
标题
歌德巴赫猜想
类别
函数与递归
时间限制
2S
内存限制
10000Kb
问题描述
德巴赫猜想:
任意一个大偶数都能分解为两个素数的和,
对与输入的一个正偶数,写一个程序来验证歌德巴赫猜想。
由于每个正偶数可能分解成多组素数和,仅输出分解值分别是最小和最大素数的一组,按从小到大顺序输出。
输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 2:3 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 描述 时间限制 内存限制 类别 输入说明 输出说明 输入样例 输出样例 提示 题目:小球下落问题 题目描述:输出金字塔 请输入一个大写字母作为字母金字塔的最大字母 示例: problem 3-6. 位数判断 输入样例: 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 图像旋转 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形 都涂成统一的颜色,图中显示不同颜色仅为说明方便。给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。 输入说明 输出说明 输入样例 输出样例 题目:密码编译 问题描述: 题目:数组逆序排列 问题描述 题目描述: 输入格式:输入一个整数p; 示例: 题目描述: 输入格式:共一行,输入数组a中的所有值; 示例: 标题 描述 时间限制 内存限制 类别 输入说明 输出说明 输入样例 提示 标题 描述 时间限制 内存限制 类别 输入说明 输出说明 输入样例 输出样例 提示 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 现在给出初始时的当前目录和一系列目录操作指令,请给出操作完成后的当前目录。 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 类别 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 标题 时间限制 内存限制 问题描述 输入说明 输出说明 输入样例 输出样例 欢迎打赏加三连
输入一个正偶数n,1
输出分解出的两个最小和最大素数。
10
3 7#include整数分析
整数分析
流程控制
1S
256Kb
给出一个整数n(0<=n<=100000000)。求出该整数的位数,以及组成该整数的所有数字中的最大数字和最小数字。
输入一个整数n(0<=n<=100000000)
在一行上依次输出整数n的位数,以及组成该整数的所有数字中的最大数字和最小数字,各个数字之间用空格分隔。
217
3 7 1#include选号程序
选号程序
流程控制
1S
256Kb
小明决定申请一个新的QQ号码,系统随机生成了若干个号码供他选择。小明的选号原则是:
请你写一个程序帮助小明选择一个QQ号码。
输入数据由两行构成,第一行为一个整数n表示有n个待选号码(0
输出根据小明的选号原则选出的号码。
5
10000 11111 22222 333 1234
22222#include日期计算
日期计算
流程控制
1S
256Kb
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天,且满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍
输入包含两个整数y和d,y表示年份,年份在1900到2018之间(包含1900和2018)。 d表示这一年的第几天,d在1至365之间。
在一行输出两个整数,分别表示答案的月份和日期。
2015 80
3 21//由此可见,代码不是越长越好,只是我懒罢了,估计哪一天半夜迷迷糊糊地写的,哈哈哈哈,对自己充满嫌弃,像傻子一样
//下面公开处刑
#include//这是后面写的,这道题目同样收录在C语言集合练习之流程控制里面,只是换了一个标题。
#include统计正整数的个数
统计正整数的个数
流程控制
1S
1000Kb
统计n个正整数中每个数出现的次数。
第一行是一个整数n(5
按照整数从小到大的顺序依次输出不同的整数及其出现次数,整数和出现次数之间用冒号(:)分隔。
12
19 223 35 321 2 33 44 223 2 19 2 19
19:3
33:1
35:1
44:1
223:2
321:1#include跳一跳
跳一跳
流程控制
1S
256Kb
跳一跳是一款微信小游戏,游戏规则非常简单,只需玩家要从一个方块跳到下一个方块,如果未能成功跳到下一个方块则游戏结束。
计分规则如下:
现在给出玩家一局游戏的每次跳跃情况,请计算玩家最终得分。
输入为若干个非零整数(整数个数小于1000),表示玩家每次的跳跃情况。整数之间用空格分隔,整数取值为0,1,2。
0 表示未能成功跳到下一个方块上,
1 表示成功跳到下一个方块上但未跳到方块中心,
2 表示成功跳到下一个方块上,且刚好跳到方块中心。
输入的数据只有最后一个整数是0,其余均非零。
输出一个整数表示该玩家的最终得分。
1 1 2 1 2 2 2 0
17#include数值数位之和–多位数拆分练习
数位数值之和
输入一个四位正整数,分解出各个数位数值,求各个数位数值之和,并输出各个数位数值及其和。
1
10000
1
输入四位正整数N,如1234
输出各个数位及其和,各个结果之间空一个空格
1234
1 2 3 4 10
采用while循环结构,定义子函数sum(),实现数值数位拆分、求和以及输出功能;
主函数调用,输入:如1234,输出:1 2 3 4 10#include小球下落问题
时间限制:1S
内存限制:10000Kb
问题描述:
一个球从100m的高度自由落下,每次落地后反跳回原高度的一半,再落下,再反弹。求它在第n次落地时,共经过多少米,第n次反弹多高。注:
输入说明:
输入一个整数,表示第n次落地反弹。
输出说明:
输出两个浮点数,表示小球经过的距离,和第n次反弹的高度,小数点后保留3位小数。
输入样例:
10
输出样例:
S=299.609 h=0.098#include输出金字塔
输入:C
输出: A
ABA
ABCBA (最后一行开头无空格)#include位数判断
题目描述:
输入一个不大于9位数的非负整数m,判断m是几位数?
输入说明:
输入为一个整数m,范围0<=m<=999999999
输出说明:
输出一个整数,表示整数m的位数
3456
输出样例:
4#include回文数
回文数
数组
2S
1000Kb
若一个非负整数其各位数字按照正反顺序读完全相同,则称之为回文数,例如12321。
判断输入的整数是否是回文数。若是,则输出该整数各位数字之和,否则输出no。
输入为一个整数n,0<=n<1000000000。
若该整数为回文数,则输出整数各位数字之和,否则输出no。
样例1输入
131
样例2输入
24
样例1输出
5
样例2输出
no#include0-1矩阵
0-1矩阵
数组
2S
1000Kb
查找一个只包含0和1的矩阵中每行最长的连续1序列。
输入第一行为两个整数m和n(0<=m,n<=100)表示二维数组行数和列数,其后为m行数据,每行n个整数(0或1),输入数据中不会出现同一行有两个最长1序列的情况。
找出每一行最长的连续1序列,输出其起始位置(从0开始计算)和结束位置(从0开始计算),如果这一行没有1则输出两个-1,然后换行。
5 6
1 0 0 1 1 0
0 0 0 0 0 0
1 1 1 1 1 1
1 1 1 0 1 1
0 0 1 1 0 0
3 4
-1 -1
0 5
0 2
2 3#include相邻区域
相邻区域
数组
1S
256Kb
一个n行m列的矩阵被划分成t个矩形区域,分别用数字1-t来标识,同一个区域内的元素都用同一个数字标识。如下图所示,一个6行8列的矩阵被分成8个矩形区域,分别用编号1-8标识。当两个小区域之间公用一条边时,称这两个区域相邻,例如下图中区域5的相邻区域有6个,分别为1,2,3,6,7,8,但4并不是它的相邻区域。请写一个程序找出区域k的所有相邻区域。
输入第一行为四个整数n,m, t,k,整数之间用空格分隔。n表示矩阵行数(n<20),m表示矩阵列数(m<20),t表示矩阵被划分为t个矩形区域(0
输出为一个整数,表示与k相邻的区域个数
6 8 8 5
1 1 2 2 2 3 3 4
1 1 2 2 2 3 3 4
1 1 2 2 2 3 3 4
1 1 5 5 5 5 5 6
1 1 5 5 5 5 5 6
7 7 7 7 7 8 8 8
6//这个题目比较好玩,有难度
#include灰度直方图
灰度直方图
数组
2S
1000Kb
一幅m×n的灰度图像可以用一个二维矩阵表示,矩阵中的每个元素表示对应像素的灰度值。
灰度直方图表示图像中具有每种灰度级的象素的个数,反映图像中每种灰度出现的频率。
假设图像灰度为16级(灰度值从0-15),现给出一个矩阵表示的灰度图像,输出各级灰度的像素个数。
输入数据第一行为两个整数m 和n分别表示图像的宽度和高度(0<=m,n<=256),其后是n行数据,每行m个整数,分别表示图像各个像素的灰度值。
输出n行数据,每行数据由两个整数组成,分别表示灰度级和该灰度级像素个数,整数之间用空格分隔,灰度级输出顺序为从低到高,
如果某灰度级像素个数为0,则不输出该灰度级的统计结果。
5 4
0 1 0 2 8
3 4 8 5 9
12 14 10 6 7
1 15 3 6 10
0 2
1 2
2 1
3 2
4 1
5 1
6 2
7 1
8 2
9 1
10 2
12 1
14 1
15 1#include密码强度
密码强度
字符串处理
1S
256Kb
每个人都有很多密码,你知道你的密码强度吗?假定密码由大写字母、小写字母、数字和非字母数字的符号这四类字符构成,密码强度计算规则如下:
按照此规则计算的密码强度为0~5。请你设计一个程序计算给出的密码的强度。
输入为一个密码字符串,字符串长度不超过50个字符。
输出一个整数表示该密码的强度。
输入样例1
abcd
输入样例2
ab123
样例1输出:
1
样例2输出
2#include图像旋转
标题
数组
1S
256Kb
旋转是图像处理的基本操作,在这个问题中,你需要将一个图像顺时针旋转90度。
计算机中的图像可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。例如,下面的矩阵(a)表示原始图像,矩阵(b)表示顺时针旋转90度后的图像。

输入的第一行包含两个整数n和m,分别表示图像矩阵的行数和列数。1 ≤ n, m ≤ 100。
接下来n行,每行包含m个非负整数,表示输入的图像,整数之间用空格分隔。
输出m行,每行n个整数,表示顺时针旋转90度之后的矩阵,元素之间用空格分隔。
2 3
1 5 3
3 2 4
3 1
2 5
4 3#include画图
画图
数组
1S
256Kb
在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形,指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。
下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。

输入的第一行包含一个整数n,表示要画的矩形的个数,1<=n<=100
接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。0<=横坐标、纵坐标<=100。
输出一个整数,表示有多少个单位的面积被涂上颜色。
2
1 1 4 4
2 3 6 5
15#include 密码编译
时间限制:1S
内存限制:10000Kb
有一行电文,已按照下面的规律译成密码:
A>>Z a>>z
B>>Y b>>y
C>>X c>>x
. .
. .
. .
等等。即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变,要求编程序将密码译成原文。
输入说明:
输入一串字符(包含7个元素),表示密码。
输出说明:
输出其对应的字符(包含7个元素),表示原文。
输入样例:
ABCDEFG
输出样例:
ZYXWVUT#include数组逆序排列
时间限制:1S
内存限制:10000Kb
将一个包含5个元素的数组逆序排列。
输入说明:
输入一个数组(包含5个元素),元素之间用逗号隔开。
输出说明:
输出一个数组(包含5个元素),元素之间用空格隔开。
输入样例:
8,6,5,4,1
输出样例:
1 4 5 6 8#include "stdio.h"
#define N 5
int main()
{ int a[N]; int i;for(i=0;i<N-1;i++)scanf("%d,",&a[i]);scanf("%d",&a[4]);for(i=4;i>=0;i--)printf("%d ",a[i]); return 0;
}数组元素平移
已知数组array[10]={1,2,3,4,5,6,7,8,9,10};要求把下标从0到p(p从键盘输入)的数组元素平移到数组的最后,并输出平移后的数组。
输出格式:共一行,输出平移后的数组,数字之间用空格分隔
输入:3
输出:5 6 7 8 9 10 1 2 3 4#include 后项除以前项
数组a包括10个整数,把a中所有的后项除以前项之商取整后存入数组b。
输出格式:共一行,输出数组b中的值,以空格分隔。
输入:1 2 5 15 60 70 30 90 100 200
输出:2 2 3 4 1 0 3 1 2#include 单词排序–字符数组练习
单词排序
定义一个二维字符数组str[10][20],行号表示单词序号,列号表示单词最大长度,输入一个正整数N(N≤10),表示单词数,使用函数wd_sort()完成单词的排序,按字母顺序从小到大排列单词,使用指针完成地址传递,主函数完成数组输入和输出。
1
10000
1
输入一个二维字符数组str和一个正整数N,行号表示单词序号,列号表示单词最大长度。
格式输出:单词之间空一行。
3
word fish egg
输出样例
egg
fish
word
使用指针作形参,实现地址传递。
数组定义后初始化。
使用strcmp()、strcpy()和strlen()函数,头文件string.h。#include "stdio.h"
#include "string.h"
void wd_sort(char (*p)[20],int n);
int main(){char str[10][20];int N;int i,j;scanf("%d",&N);for(i=0;i<N;i++)scanf("%s",str[i]);wd_sort(str,N);for(i=0;i<N;i++){printf("%s\n",str[i]);} return 0;
}
void wd_sort(char (*p)[20],int n){int i,j;char s[20];for(i=1;i<n;i++){for(j=i;j>0&&(strcmp(*(p+j),*(p+j-1))<0);j--){strcpy(s,*(p+j));strcpy(*(p+j),*(p+j-1));strcpy(*(p+j-1),s);}}
// for(i=0;i字符拷贝–字符数组练习
字符拷贝
定义一个一维字符数组str[50],输入一串字符,输入整数位置信息M(M<50),调用函数char_cp()把指定位置M之后的内容,拷贝到新字符数组ch[50]中,使用指针完成地址传递,主函数完成数组输入和输出。
1
10000
1
输入一个字符串和整形位置信息,位置M≥0。
格式输出:输出处理后字符串ch。
There are three men.
6
re three men.
使用指针作形参,实现地址传递,位置从0开始。//单纯从写作业最快的角度,毕竟那个破系统也不会较真不是
#include //从提升自己的角度来说,就得规规矩矩,老实完成要求
#include "stdio.h"
#include "string.h"
void char_cp(char *p,char *q,int n);
int main(){char str[50],ch[50];int m;gets(str);scanf("%d",&m);char_cp(str,ch,m);printf("%s",ch);return 0;
}
void char_cp(char *p,char *q,int n){int i,len;len=strlen(p);for (i = n + 1; i < len; i++) {*(q++)=*(p+i);}
}
寻找最长的行
寻找最长的行
字符串
1S
1000Kb
寻找若干行文本中最长的一行
输入为多个字符串(每个字符串长度不超过100个字符),每个字符串占一行,输入的行为“ * * * end * * * ”(*之间没有空格,收到文本编译器限制,目前我打不出没有空格的连续三个星号)时表示输入结束
输出其中最长的一行长度后换行再输出最长行的内容,如果最长行不止一个,则输出其中的第一行。
abce
abdf dlfd
* * * end * * *
9
abdf dlfd#include 括号匹配
括号匹配
字符串处理
2S
内存限制
1000Kb
表达式中的合法括号为“(”、“)”、“[”、“]”、“{”、“}”,这三种括号可以按照任意的次序嵌套使用。
请写一个程序,判断给定表达式中的括号是否匹配,既左右括号顺序和数量都匹配。
输入为一个表达式字符串,长度不超过50。
对输入的表达式,若其中的括号是匹配的,则输出“yes”,否则输出“no”。
样例1输入
[(d+f)*{}2]
样例2输入
[(2+3))
样例1输出
yes
样例2输出
no#include表达式求值
表达式求值
字符串处理
1S
256Kb
表达式由两个非负整数x,y和一个运算符op构成,求表达式的值。
这两个整数和运算符的顺序是随机的,可能是”x op y”, “op x y”或者 “x y op”,例如,“25 + 3”表示25加3,“5 30 *” 表示5乘以30,“/ 600 15”表示600除以15。
输入为一个表达式,表达式由两个非负整数x,y和一个运算符op构成,x,y和op之间以空格分隔,但顺序不确定。
x和y均不大于10000000,op可以是+,-,*,/,%中的任意一种,分表表示加法,减法,乘法,除法和求余。
除法按整数除法求值,输入数据保证除法和求余运算的y值不为0。
输出表达式的值。
样例1输入
5 20 *
样例2输入
4 + 8
样例3输入
/ 8 4
样例1输出
100
样例2输出
12
样例3输出
2#include字符串查找
字符串查找
字符串处理
2S
256Kb
给出一个字符串和多行文字,输出在这些文字中出现了指定字符串的行。
程序还需要支持大小写敏感选项:
当选项打开时,表示同一个字母的大写和小写看作不同的字符;
当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入数据第一行包含一个字符串s,由大小写英文字母组成,长度不超过100。
第二行包含一个数字,表示大小写敏感选项。当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
第三行包含一个整数n,表示给出的文字行数。
接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。每个字符串长度不超过100。
输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串s的行。
Hello
1
5
HelloWorld
HiHiHelloHiHi
GrepIsAGreatTool
HELLO
HELLOisNOTHello
HelloWorld
HiHiHelloHiHi
HELLOisNOTHello//此篇代码为转载,比我提交的写的好,同学找我分析时看见,就直接给出来,若原创要求删除,请与我联系
#include 目录操作
目录操作
字符串处理
1S
256Kb
在操作系统中,文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。
有一个特殊的目录被称为根目录,是整个文件系统形成的这棵树的根节点,在类Linux系统中用一个单独的 “/”符号表示。
因此一个目录的绝对路径可以表示为“/d2/d3”这样的形式。
当前目录表示用户目前正在工作的目录。为了切换到文件系统中的某个目录,可以使用“cd”命令。
假设当前目录为“/d2/d3”,下图给出了cd命令的几种形式,以及执行命令之后的当前目录。

第一行包含一个字符串,表示当前目录。
后续若干行,每行包含一个字符串,表示需要进行的目录切换命令。
最后一行为pwd命令,表示输出当前目录
注意:
输出一个字符串,表示经过一系列目录操作后的当前目录
/d2/d3/d7
cd …
cd /
cd /d1/d6
cd d4/d5
pwd
/d1/d6/d4/d5#include字符串相似度
字符串相似度
字符串处理
1S
256Kb
最长公共子串指给定的两个字符串之间最长的相同子字符串(忽略大小写),最长公共子串长度可用来定义字符串相似度。
现给出两个字符串S1和S2,S1的长度为Len1,S2的长度为Len2,假设S1和S2的最长公共子串长度为LCS,则两个字符串的相似度定义为2LCS/(Len1+Len2)。
例如:S1=”App”,S2=”apple”,S1长度为3,S2长度为5,它们的最长公共子串为”App”,长度为3,则相似度为23/(3+5)=0.75。
现给出两个字符串,请计算它们的相似度结果保留3位小数。
输入为两行,分别表示两个字符串S1和S2,每个字符串长度不超过100个字符,所有字符均为可打印字符,包括大小写字母,标点符号和空格。
输出两个字符串的相似度,结果四舍五入保留3位小数。
App
Apple
0.750#includeISBN号码
ISBN号码
字符串处理
1S
256Kb
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",
其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。
ISBN码的首位数字表示书籍的出版语言,例如0代表英语;
第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;
第二个分隔之后的五位数字代表该书在出版社的编号;
最后一位为识别码。识别码的计算方法如下:
首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。
例如ISBN号码0-670-82162-4中的识别码4是这样得到的:
对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。
编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出正确的ISBN号码。
输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。
输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
样例输入1
0-670-82162-4
样例输入2
0-670-82162-0
样例输出1
Right
样例输出2
0-670-82162-4#include处理字符串
处理字符串
1S
1000Kb
从键盘输入一个字符串,将该字符串按下述要求处理后输出:
将ASCII码大于原首字符的各字符按原来相互间的顺序关系集中在原首字符的左边,
将ASCII码小于等于原首字符的各字符按升序集中在原首字符的右边。
输入一行字符串,字符串c不长度超过100.
输出处理后的一行字符串
aQWERsdfg7654!@#$hjklTUIO3210X98aY
sdfghjkla!#$0123456789@EIOQRTUWXYa#include "stdio.h"
#include "string.h"
int main(){char c[100],a,m,b[100],d[100];int len;int i,j,k,l;scanf("%s",c);len=strlen(c);a=c[0];j=k=0;for(i=1;i<len;i++){if(c[i]<=a){b[j]=c[i];//右边 j++;}else{d[k]=c[i];k++;}}d[k]=a;d[k+1]=b[j]='\0';for(i=0;i<strlen(b)-1;i++)for(l=i;l<strlen(b);l++){if(b[i]>b[l]){m=b[i];b[i]=b[l];b[l]=m;}}strcat(d,b);printf("%s",d);return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
