- 博客(55)
- 收藏
- 关注
原创 问题 G: 奇数阶幻方
题目描述幻方(Magic Square)是一种中国传统游戏,游戏要求将1~N2的数值安排在正方形格子中,使每行、列和对角线上的相加之和都相等 幻方的解法有很多种,当N为奇数时有1种构造方法,叫做“右上方连续摆数” ,按照这种方法,当N=3,5,7时,幻方的布局为 38 1 63 5 74 9 2517 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9730 39 48 1 10 19 28
2021-04-20 22:19:28 731 1
原创 问题 F: 【二维数组】点阵字符
题目描述点阵字符是计算机系统中对文字(包括字母、数字、标点符号)字型信息的一种存储方式,其中每个字形都以一组二维像素信息表示,文字笔画经过的区域存储为1,否则存储为0输入一个正整数N(N≤24)以及由数值0和1构成的NxN点阵,输出对应的字符输入输入一个正整数N(N≤24)以及由数值0和1构成的NxN点阵输出对于点阵中的字符0,输出空格;对于点阵中的字符1,输出小写字母o样例输入 Copy80 0 1 1 1 0 0 00 1 1 0 1
2021-04-20 22:18:45 874
原创 问题 E: 杨辉三角
题目描述输入非负整数N(0≤N≤30),输出杨辉三角。为了简化问题,不同行之间的数值不需要对齐,只要求每一行内两个数值之间的间隔为有一个空格。样例输入 Copy420样例输出 Copy11 11 2 11 3 3 11 4 6 4 111 11 2 11#include <stdio.h>#include<string.h> int main(int argc, char *argv[]){int n,a[31][31]; scanf
2021-04-20 22:18:03 558
原创 问题 D: 旋转矩阵
题目描述输入一个3*3的数字矩阵,输出顺时针旋转90度后的数字矩阵。输入输入一个3*3的数字矩阵。输出输出顺时针旋转90度后的数字矩阵。样例输入 Copy1 2 34 5 67 8 9样例输出 Copy7 4 18 5 29 6 3#include <stdio.h>#include<string.h> int main(int argc, char *argv[]){ int m,n,a[12][12],o,p; m=3;n=3;
2021-04-20 22:17:09 305
原创 问题 C: 【二维数组】矩阵转置
题目描述输入一个矩阵,共M行N列(1≤M,N≤10),矩阵中的每个元素均为整数,将其转置后输出。输入输入格式为:两个正整数M,N,之后共有M行N列的整数值。输出矩阵转置之后的结果,共N行M列的整数值,每个整数值之前有一个空格,每行结尾有一个\n样例输入 Copy2 31 2 34 5 6样例输出 Copy1 42 53 6#include <stdio.h>#include<string.h> int main(int argc, char *argv
2021-04-20 22:15:21 1202
原创 问题 B: 交换2行
题目描述给定一个n×n的矩阵,给定要交换的2行x和y,将第x行和第y行交换,输出交换后的结果。输入输入共n+2行,第1行为n(表示n×n的矩阵,1≤n≤10)。第2行到第n+1行为矩阵的每一行元素,元素与元素之间以一个空格分开。第n+2行包含两个整数x、y,以一个空格分开(1 ≤ x≤ y ≤ n)。输出输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。样例输入 Copy31 2 34 5 67 8 91 3样例输出 Copy7 8 94 5 61 2 3
2021-04-20 22:14:35 323
原创 问题 A: 【二维数组】计算三阶行列式的值
题目描述三阶行列式的值,可以理解为平行六面体的体积。计算三阶行列式可以使用如下公式输入输入三阶行列式,共三行三列,每个元素整数值,取值介于[-100,100]输出三阶行列式的值样例输入 Copy1 2 30 4 50 0 6样例输出 Copy24#include <stdio.h>#include<string.h> int main(int argc, char *argv[]){ int a[4][4]; for(int i=1;i&
2021-04-20 22:13:49 1846
原创 问题 H: 【字符串】字符串排序
题目描述输入一组字符串,不超过100个,将输入的字符串按照升序排列并输出(每行一个)输入每行输入一个字符串(即:每个字符串以换行符号作为结束)每个字符串长度不超过25读取直到输入结束样例输入 Copybeeantdogcat样例输出 Copyantbeecatdog#include <stdio.h>#include <string.h> int main(void){ char a[101][26],b[26];int i=0,j,k,
2021-04-18 18:36:54 566
原创 问题 I: 字符串简单加密
题目描述有一种简单的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其余非字母的字符不变,则可得到一个简单的加密字符串。输入输入一行字符串(可能包含空格),长度小于80个字符。输出输出加密后的字符串。样例输入 Copycbc123样例输出 Copydcd123#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){
2021-04-18 18:36:14 2078
原创 问题 G: 【字符串】态度决定一切
题目描述人生中什么才是最重要的呢?有人说是勤奋,有人说是知识,还有人说是金钱或者运气。如果英文的26个字母A到Z依序分别代表1到26分,那么:KNOWLEDGE(知识)是11+14+15+23+12+5+4+7+5=96分,HARDWORK(勤奋)是8+1+18+4+23+15+18+11=98分,MONEY(金钱)是13+15+14+5+25=72分,而LUCK(运气)只有12+21+3+11=47分。 究竟是什么才能让人生得到满分呢?人生的每一个问题总能找到答案,只要改变你的态度。也
2021-04-18 18:35:40 571 1
原创 问题 F: 首字母缩略词
题目描述首字母缩略词是一个单词,是从短语中的单词取第一个字母形成的。例如,RAM是“random access memory”的缩写。编写一个程序,允许用户键入一个短语,然后输出该短语的首字母缩略词。注意:首字母缩略词应该全部为大写,即使短语中的单词没有大写。输入输入一行长度为n的短语(n≤200),至少有1个单词,已知短语中所有单词都是由大写字母和小写字母构成,单词之间用一个空格分隔。输出输出该短语的首字母缩略词,要求首字母的大写。样例输入 Copyrandom access memory
2021-04-18 18:35:03 2438
原创 问题 E: 字符串逆序输出
题目描述输入一个字符串,以换行符号作为结束(字符串长度不超过50)将输入内容倒序输出。注意:字符串中可能有空格。样例输入 Copyflow up样例输出 Copypu wolf提示用gets或者getchar输入字符串#include <stdio.h>#include <string.h> int main(int argc, char *argv[]){ char a[100],b[100],n=0; gets(a); for
2021-04-18 18:34:16 565
原创 问题 D: 【字符串】单选题
题目描述浙江省的省会是________A.宁波B.温州C.杭州D.台州单选题,即单项选择题,是考试中常见的一种题型,可以检查考生对所学知识的掌握程度和辨别分析能力。通常每个单选题会提供4个(或更多)候选的参考答案,只有考生选择了正确的答案才能得到这个题目的分值。由于单选题具有评分客观、易于机考等优点,目前在很多考试中,都会出现大量的单选题。例如:大学英语4级(CET4)考试中,单选题的累计分值超过50%输入输入内容为两行,第一行的内容为试题的标准答案,内容只包含ABCD四种大写字母,长度不超过
2021-04-18 18:32:08 286
原创 问题 C: 身份证号码
题目描述传说中,每个人的身份证号隐藏着一个巨大的秘密——你可以通过身份证号知道一个人的真正性别!有些人一直以为自己是个萌妹子,但他的身份证号无时无刻不在提醒着他:你是个糙汉子!如何从身份证号知道一个人的性别呢?对于现行的身份证号规范而言,倒数第二位是奇数,则该身份证号对应着一位男性;如果是偶数的话,则对应着一位女性。例如 330726195603074713,代表着一位男性;而 330722196201070022,代表的则是一位女性。现在给定若干个合法的身份证号,请判断出分别对应的人是男性还是女性
2021-04-18 18:31:32 592
原创 问题 B: 统计字符串中数字字符个数
题目描述输入一行字符串(可能包含空格),统计出其中数字字符的个数。输入一行字符串,总长度不超过255。输出输出字符串中数字字符的个数。样例输入 CopyAt present, there are more than 20,000 full-time students at ZWU, with a staff of more than 1,000.样例输出 Copy9#include <stdio.h>#include <string.h> int main
2021-04-18 18:30:56 406
原创 问题 A: 字符串(不含空格)中数字字符个数
题目描述输入一个字符串(仅有字母和数字构成),统计出其中数字字符的个数。输入输入一个字符串(仅有字母和数字构成),长度不超过30。输出输出为1行,输出字符串里面数字字符的个数。样例输入 CopyA1B2C3样例输出 Copy3#include <stdio.h>#include <string.h> int main(int argc, char *argv[]){ char a[100];int n=0; gets(a); for
2021-04-18 18:29:49 1170
原创 pta 6-11 字符金字塔 (15 分)
本题要求实现函数输出n行字符金字塔。函数接口定义:void CharPyramid( int n, char ch);其中n和ch是用户传入的参数,n为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行由字符ch构成的字符金字塔。注意每个字符后有一个空格。裁判测试程序样例:#include <stdio.h>void CharPyramid( int n, char ch );int main(){int n;char ch;scanf("%d %c", &
2021-04-17 21:21:43 5733
原创 pta 6-9 求排列数 (15 分) 6-10 使用函数求e的近似值 (15 分)
本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式Pnm =(n−m)!n! 算出从n个不同元素中取出m个元素(0<m≤n)的排列数。函数接口定义:double fact( int n );其中n是用户传入的参数,函数返回n的阶乘。裁判测试程序样例:#include <stdio.h>double fact( int n );int main(void){int m, n;double result;scanf("%d%d
2021-04-17 21:21:11 7045 1
原创 pta 6-8 使用函数求Fibonacci数 (15 分)
本题要求实现求Fabonacci数列项的函数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:int fib( int n );函数fib应返回第n项Fibonacci数。题目保证输入输出在长整型范围内。裁判测试程序样例:#include <stdio.h>int fib( int n );int main(){int n;scanf("%d", &n);printf("%d\n", fib(n));retu
2021-04-17 21:20:08 8405 3
原创 pta 6-7 使用函数求最大公约数 (10 分)
本题要求实现一个计算两个数的最大公约数的简单函数。函数接口定义:int gcd( int x, int y );其中x和y是两个正整数,函数gcd应返回这两个数的最大公约数。裁判测试程序样例:#include <stdio.h>int gcd( int x, int y );int main(){int x, y;scanf("%d %d", &x, &y);printf("%d\n", gcd(x, y));return 0;}/* 你的代码将被
2021-04-17 21:19:30 1257
原创 pta 6-6 使用函数输出一个整数的逆序数 (20 分)
本题要求实现一个求整数的逆序数的简单函数。函数接口定义:int reverse( int number );其中函数reverse须返回用户传入的整型number的逆序数。裁判测试程序样例:#include <stdio.h>int reverse( int number );int main(){int n;scanf("%d", &n);printf("%d\n", reverse(n));return 0;}/* 你的代码将被嵌在这里 */输入样例
2021-04-17 21:18:52 531
原创 pta 6-5 使用函数求特殊a串数列和 (20 分)
给定两个均不超过9的正整数a和n,要求编写函数求a+aa+aaa++⋯+aa⋯a(n个a)之和。函数接口定义:int fn( int a, int n );int SumA( int a, int n );其中函数fn须返回的是n个a组成的数字;SumA返回要求的和。裁判测试程序样例:#include <stdio.h>int fn( int a, int n );int SumA( int a, int n );int main(){int a, n;scanf("%d
2021-04-17 21:18:03 443
原创 pta 6-4 使用函数输出水仙花数 (20 分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13 +53 +33 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打
2021-04-17 21:17:30 1604
原创 pta 6-3 符号函数 (10 分)
本题要求实现符号函数sign(x)。函数接口定义:int sign( int x );其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。裁判测试程序样例:#include <stdio.h>int sign( int x );int main(){int x;scanf("%d", &x);printf("sign(%d) = %d\n", x, sign(x));
2021-04-17 21:16:56 298
原创 pta 6-2 找两个数中最大者 (10 分)
本题要求对两个整数a和b,输出其中较大的数。函数接口定义:int max( int a, int b );其中a和b是用户传入的参数,函数返回的是两者中较大的数。裁判测试程序样例:#include <stdio.h>int max( int a, int b );int main(){int a, b;scanf("%d %d", &a, &b);printf("max = %d\n", max(a, b));return 0;}/* 你的代码将被
2021-04-17 21:16:26 1462
原创 pta 6-1 简单输出整数 (10 分)
本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。函数接口定义:void PrintN ( int N );其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。裁判测试程序样例:#include <stdio.h>void PrintN ( int N );int main (){int N;scanf("%d", &N);PrintN( N );return 0;}/* 你的代码将被嵌在这里 */输入样
2021-04-17 21:15:44 163
原创 pta 7-10 古风排版 (20 分)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。输入样例:4This is a test case输出样例:asa Tst ihe tsice s#include <stdio.h>#include <string.h
2021-04-16 19:41:03 328
原创 pta 7-9 A-B (20 分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv GPLT! It’s fn gm!#incl
2021-04-16 19:40:31 528
原创 pta 7-8 说反话-加强版 (20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come输出样例:Come I Here World Hello#include<stdio.h>
2021-04-16 19:39:57 479
原创 pta 7-7 字符串循环左移 (20 分)
输入一个字符串和一个非负整数N,要求将字符串循环左移N次。输入格式:输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。输出格式:在一行中输出循环左移N次后的字符串。输入样例:Hello World!2输出样例:llo World!He#include<stdio.h>#include<string.h>int main(){ char a[1000]; int n,len; gets(a); scanf("%
2021-04-16 19:39:24 245
原创 pta 7-6 删除字符串中的子串 (20 分)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。输入格式:输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。输出格式:在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。输入样例:Tomcat is a male ccatatcat输出样例:Tom is a male#include <stdio.h>#include <string.h>int main(int a
2021-04-16 19:38:40 319
原创 pta 7-5 藏头诗 (15 分)
本题要求编写一个解密藏头诗的程序。输入格式:输入为一首中文藏头诗,一共四句,每句一行。注意:一个汉字占两个字节。输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。同时在末尾输入一个换行符。输入样例:一叶轻舟向东流帆稍轻握杨柳手风纤碧波微起舞顺水任从雅客流输出样例:一帆风顺#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ char a[100],b[
2021-04-16 19:38:01 1745
原创 pta 7-4 找最长的字符串 (15 分)
本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样例:5liwangzhangjinxiang输出样例:The longest is: zhang#include <stdio.h>#include
2021-04-16 19:37:18 1903 1
原创 pta 7-3 统计字符出现次数 (20 分)
本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。输入格式:输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。输出格式:在一行中输出给定字符在给定字符串中出现的次数。输入样例:programming is More fun!m输出样例:2#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){ char a[100],b;int n=
2021-04-16 19:36:41 2170
原创 pta 7-2 字符串字母大小写转换 (15 分)
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不超过30个字符)。输出格式:在一行中输出大小写转换后的结果字符串。输入样例:Hello World! 123#输出样例:hELLO wORLD! 123#include <stdio.h>#include <string.h>int main(int argc, char *argv[]){
2021-04-16 19:36:05 801
原创 pta 7-1 字符串转换成十进制整数 (15 分)
输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样例:±P-xf4±1!#输出样例:-3905#include<stdio.h>int main(){ char a; int flag=1,ma
2021-04-16 19:34:23 606
原创 pta 7-8 删除重复字符 (20 分)
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz#include <stdio.h>#include <string.h>#include <math.h>int main(int argc, char *argv[]){ ch
2021-03-24 20:08:22 661
原创 pta 7-7 IP地址转换 (20 分)
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010输出样例:204.148.21.114#include <stdio.h>#include <string.h&
2021-03-24 20:07:46 744 2
原创 pta 7-6 字符串的冒泡排序 (20 分)
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。输出格式:输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。输入样例:6 2bestcateastafreeday输出样例:bestacatdayeastfree#inc
2021-03-24 20:07:05 813
原创 pta 7-5 考试座位号 (15 分)
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编号。输入保证
2021-03-24 20:06:29 1552
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人