pta菜鸟做题
自己做的一些pta的菜鸟题目
shmily566
这个作者很懒,什么都没留下…
展开
-
7-13 找完数 PTA
逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“None”。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。输入在一行中给出2个正整数m和n(1原创 2023-04-14 20:37:48 · 662 阅读 · 1 评论 -
htoi函数 c语言实现
Write the function htoi(s), which converts a string of hexadecimal digits(including an optional 0x or 0X)into its equialent integer value. The allowable digits are 0 through 9,a through f,and A through F. We make sure the 'int' type is enough.编写函数htoi(s)原创 2021-12-31 20:45:17 · 1761 阅读 · 0 评论 -
MonthName (10 分)
month_name: return name of n-th month函数接口定义:char *month_name(int n);裁判测试程序样例:#include <stdio.h>char *month_name(int n);int main(){ freopen("0.in", "r", stdin); freopen("0.out", "w", stdout); printf("The month 1 is %s.\n", m原创 2021-12-31 19:16:41 · 246 阅读 · 1 评论 -
7-7 求矩阵各行元素之和 (15 分)
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12结尾无空行输出样例:9-715结尾无空行这里注意数组大小尽量给的大一点,我这里就给10了。#include<stdio.h>int main(void){ int m,n,i,j,sum=原创 2021-12-29 11:01:08 · 7774 阅读 · 1 评论 -
7-6 判断一个三位数是否为水仙花数 (10 分)
本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。输入格式:输入在一行中给出一个需要判断的整数N(100≤N≤999)。输出格式:如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。输入样例1:153结尾无空行输出样例1:Yes结尾无空行输入样例2:500结尾无空行输出样例2:No结尾无空行输入样例3:-2.原创 2021-12-28 21:28:49 · 931 阅读 · 0 评论 -
7-3 字符串逆序 (10 分)
输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。输入样例:Hello World!结尾无空行输出样例:!dlroW olleH结尾无空行#include<stdio.h>int main(void) { char a[81]; char b[81]; int i, j,d; gets(a);原创 2021-12-28 21:27:46 · 452 阅读 · 0 评论 -
字符串比较(5分)
定义函数fun(str1,str2),比较字符串大小,完全相同返回0,否则对第一对不同字符做减法,返回str1字符与str2字符的差。函数接口定义:int fun(char str1[],char str2[])str1和str2是两个字符串裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>int fun ( char str1[],char str2[] );int main(){char str1[80],s原创 2021-12-25 21:34:24 · 1833 阅读 · 0 评论 -
矩阵的各列求和 c语言(5分)
ha本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:void fun ( int data[][7], int result[ ], int n)第一个参数data是一个二维数组,第二个参数result是个一维数组,第三个参数n是二维数组的行数,也是一维数组的大小。裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>void fun(..原创 2021-12-25 17:01:48 · 2169 阅读 · 0 评论 -
数字金字塔 函数实现
数字金字塔(10分)从键盘输入一个正整数n,输出n行的数字金字塔。输入保证 1 <= n <= 9。输入格式:从键盘输入一个正整数n,输入保证 1 <= n <= 9。输出格式:输出n行的数字金字塔。每个数字之间没有空格。输入样例1:5输出样例1: 1 121 12321 1234321123454321输入样例2:7输出样例2: 1 121 12321 12343原创 2021-12-25 13:51:10 · 1745 阅读 · 1 评论 -
WordCounting 统计字符(10 分)
count lines, words, and characters in input输入格式:text输出格式:three integers, denoting the number of lines, words and characters.输入样例:Graphs can store extensive amounts of information, either in their structure or in the semanticinformation embedd原创 2021-12-19 16:21:46 · 311 阅读 · 0 评论 -
DigitCounting-统计字符个数
对数字、空格和其他字符进行计数。此处的空白包括“\n”、“和”\t”。注意,在输入样本的末尾有一个不可见的“\n”。count digits, white space, and other characters. White space here includes '\n', ' ' and '\t'. Noting that there is an unvisible '\n' at the end of input sample.输入格式:text输出格式:digits = x x原创 2021-12-15 20:43:23 · 1167 阅读 · 0 评论 -
7-36 求解简单的四则运算表达式 (10 分)
输入一个四则运算表达式,输出运算结果,要求对除数为0的情况作特别处理。题目保证输入与输出均在双精度范围内。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间没有空格,操作数的数据类型为实型。输出格式:在一行中输出表达式的运算结果,保留两位小数。如果除法分母为0,则输出错误信息“Divisor can not be 0!”;如果输入了除加减乘除以外的非法运算符,则输出错误信息“Unknown operator!”。输入样例1:3.1+4.8结尾无空行输出样例1原创 2021-12-15 20:12:44 · 1579 阅读 · 0 评论 -
strcpy v2 pointer strcpy v2指针 (5 分)
strcpy: copy t to s;pointer version;指针版本函数接口定义:void strcpy( char *restrict dest, const char *restrict src );裁判测试程序样例:#include<stdio.h>void strcpy( char *restrict dest, const char *restrict src );char *alloc(int n);int main(){原创 2021-12-14 20:21:41 · 244 阅读 · 0 评论 -
strcpy v1 array subscript strcpy v1数组下标 (5 分)
strcpy: copy t to s.array subscript version.strcpy:将t复制到s。数组下标版本函数接口定义:void strcpy(char *const s, char *const t);裁判测试程序样例:#include<stdio.h>void strcpy(char *const s, char *const t);char *alloc(int n);int main(){ char *from =原创 2021-12-14 20:04:17 · 924 阅读 · 0 评论 -
编写一个函数escape(s,t),当它将字符串t复制到s时,将换行符和制表符之类的字符转换为可见的转义序列,如\n和\t。
Write a function escape(s,t) that converts characters like newline and tab into visible escape sequences like \n and \t as it copies the string t to s.Use a switch.函数接口定义:void escape(char [], char []);裁判测试程序样例:#include <stdio.h>#include原创 2021-12-11 20:31:31 · 1560 阅读 · 1 评论 -
6-11 BinarySearch 二分查找法 c语言 (15 分)
Write a function to implement the binary search algorithm:decide if a particular value x occurs in the sorted array v the elements of v must be in increasing order the function returns the position/index (a number between 0 and n-1) if x occurs in v, a原创 2021-12-11 16:38:41 · 582 阅读 · 1 评论 -
6-6 Isleap (5 分)
Test a year if it is leap year or not.函数接口定义:int isleap(int year);裁判测试程序样例:#include <stdio.h>int isleap(int year);/* a year is leap year or not*/int main(){ int year; while(scanf("%d", &year) != EOF){ if(isleap(ye原创 2021-12-11 11:21:36 · 762 阅读 · 1 评论 -
7-33 是否是3位数 (10 分)
输入一个正整数,若其为3位数,则输出yes,否则输出no。输入格式:直接输入1个正整数,没有其他任何附加字符。输出格式:直接输出yes或no,没有其他任何附加字符。输入样例:132结尾无空行输出样例:yes结尾无空行输入样例:1234输出样例:no很显然,一个三位数整除100是不为零的,整除1000就是0了,所以答案:#include<stdio.h>int main(void){ int n=0; s.原创 2021-12-09 21:38:30 · 882 阅读 · 1 评论 -
7-32 回文数 (10 分)
判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。。输入格式:直接输入一个5位数正整数。输出格式:输出“yes”或“no”。此处均为小写字母输入样例:12521结尾无空行输出样例:yes结尾无空行输入样例:65432输出样例:no目的是比较前两个和后两个数,我们直接去获取后两个数,跟前面两个去比较,记得用取余获取个位,十位数时,把原数进行整除10的操作#include<stdio.h.原创 2021-12-09 21:28:37 · 404 阅读 · 1 评论 -
7-31 三个数由小到大输出 (10 分)
输入三个整数x,y,z,请把这三个数由小到大输出。输入格式:在一行中直接输入3个整数,之间各用一个空格间隔。输出格式:在一行中按照“x=最小值,y=次小值, z=最大值”的顺序输出结果,最大值、次大值和最小值均原样输出,没有宽度控制。输入样例:2 1 3结尾无空行输出样例:x=1,y=2,z=3结尾无空行我还是采用了不简洁的方法:三个数,有六种排序的可能,分三大类:x最大,y最大,z最大然后在分别比较剩下的两个,共六小类,不用动脑子,但是打的多,麻烦...原创 2021-12-09 20:50:46 · 587 阅读 · 1 评论 -
6-9 统计个位数字 (15 分)
本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。函数接口定义:int Count_Digit ( const int N, const int D );其中N和D都是用户传入的参数。N的值不超过int的范围;D是[0, 9]区间内的个位数。函数须返回N中D出现的次数。裁判测试程序样例:#include <stdio.h>int Count_Digit ( const int N, const int D原创 2021-11-28 17:21:48 · 460 阅读 · 3 评论 -
6-5 统计二维数组的元素之和 (5 分)
一道pta的题,属于较容易的指针题,但是有一些细节要注意原创 2021-12-03 20:35:58 · 3591 阅读 · 2 评论 -
7-27 大小写字母转换 (15 分)
输入一行字符,以回车符 '\n' 结束,将其中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入格式:输入一行字符,以回车符 '\n' 结束。输出格式:将输入字符串中的大写字母转换为相应的小写字母后输出,小写字母转换为相应的大写字母后输出,其他字符按原样输出。输入样例:Reold 123?结尾无空行输出样例:rEOLD 123?结尾无空行我这里自己写了一个答案,鉴于我的水平不高,所以可能代码更好理解(bbql)原创 2021-12-09 18:51:27 · 699 阅读 · 0 评论 -
7-29 最大值最小值 (10 分)
键盘输入三个整数,要求输出其最大值和最小值。输入格式:键盘输入只有一行,即三个整数,每个整数之间一个空格。输出格式:用一行输出最大值和最小值,之间用一个空格隔开。输入样例:10 15 14结尾无空行输出样例:在这里给出相应的输出。例如:15 10结尾无空行这道题网站上有许多简洁的方法,我这里从一个菜鸟的实力出击,打了一个答案,就是用函数来找最大值最小值,比较长,也好理解一点#include<stdio.h>int max3(int a,原创 2021-12-09 19:30:45 · 743 阅读 · 1 评论