- 博客(40)
- 收藏
- 关注
原创 PTA 4-8 换硬币 (15分)
4-8 换硬币 (15分)将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。输入样例:13输出样例:fen5:2, fen2:1, fen1:1, tot
2021-03-01 19:04:00 147
原创 PTA 4-7 特殊a串数列求和 (15分)
4-7 特殊a串数列求和 (15分)给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。输入样例:2 3输出样例:s = 246...
2021-03-01 19:03:39 249
原创 PTA 4-9 求n以内最大的k个素数以及它们的和 (20分)
4-9 求n以内最大的k个素数以及它们的和 (20分)本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。输入样例1:1000 10输出样例1:997+991+983+977+971+967+953+947+941+937=9664输入样例2:12 6输出样例2:11
2021-03-01 19:03:20 1327
原创 PTA 7-5 日K蜡烛图 (20分)
7-5 日K蜡烛图 (20分)股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开盘价格Open(早上刚刚开始开盘买卖成交的第1笔价格)、收盘价格Close(下午收盘时最后一笔成交的价格)、中间的最高价High和最低价Low。如果Close<Open,表示为“BW-Solid”(即“实心蓝白蜡烛”);如果Close>Open,表示为“R-Hollow”(即“空心红
2021-03-01 19:03:05 217
原创 PTA 7-4 含8的数字的个数
7-4 含8的数字的个数现代人对数字越来越讲究,都喜欢含有8的数字。现要你编程计算a至b之间的含有数字8的数的个数(比如181,88,8,28这些数都含有数字8,而21,45,49等没有含有数字8)。输入格式:在一行中输入两个正整数a和b,用一个空格隔开。0<a<=b<100000。输出格式:输出a和b之间含有8的数的个数。包括a和b。输入样例:1 30输出样例:3#include<stdio.h>int main(){ int a,b,i,n,
2021-03-01 19:02:43 602
原创 pta 8-06 求整数序列中出现次数最多的数 (20分)
8-06 求整数序列中出现次数最多的数 (20分)本题要求统计一个整型序列中出现次数最多的整数及其出现次数。输入格式:输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。输出格式:在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。输入样例:10 3 2 -1 5 3 4 3 0 3 2输出样例:3 4#include<stdio.h>int main(){ int a[1000],b[100
2021-03-01 19:02:14 430
原创 PTA 8-08 删除重复字符 (20分)
8-08 删除重复字符 (20分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz#include<stdio.h>int main(){ char s[80]; char cao;int i=0,j;while((cao=getch
2021-03-01 19:01:52 322 1
原创 PTA 8-10 统计字符出现次数 (20分)
8-10 统计字符出现次数 (20分)本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。输入格式:输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。输出格式:在一行中输出给定字符在给定字符串中出现的次数。输入样例:programming is More fun!m输出样例:2#include<stdio.h>int main(){ char ch; char o[81]; int i,c=0; gets(o); s
2021-03-01 19:01:18 403
原创 PTA 8-12 冒泡法排序 (20分)
8-12 冒泡法排序 (20分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。输入格式:输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。输出格式:
2021-03-01 18:59:57 576
原创 PTA 8-15 输出数组元素 (20分)
8-15 输出数组元素 (20分)本题要求编写程序,对顺序读入的n个整数,顺次计算后项减前项之差,并按每行三个元素的格式输出结果。输入格式:输入的第一行给出正整数n(1<n≤10)。随后一行给出n个整数,其间以空格分隔。输出格式:顺次计算后项减前项之差,并按每行三个元素的格式输出结果。数字间空一格,行末不得有多余空格。输入样例:105 1 7 14 6 36 4 28 50 100输出样例:-4 6 7-8 30 -3224 22 50#include<stdio.h&
2021-03-01 18:59:13 384
原创 PTA 6-13 爬动的蠕虫 (20分)
6-13 爬动的蠕虫 (20分)一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。输出格式:在一行中输出蠕虫爬出井的
2021-01-11 18:19:04 204
原创 pta 6-7 统计素数并求和 (20分)
6-7 统计素数并求和 (20分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143#include<stdio.h>int main(){ int m,n,i,j,g=0,o=0,sum=0; scanf("%d%d",&m,&n); for(i=m;i<
2021-01-11 18:18:54 1722
原创 PTA6-5 统计学生成绩 (20分)
6-5 统计学生成绩 (20分)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例:77
2021-01-11 18:18:42 748
原创 pta 2-03 计算个人所得税 (20分)
2-03 计算个人所得税 (20分)假设个人所得税为:税率×(工资−1600)。请编写程序计算应缴的所得税,其中税率定义为:当工资不超过1600时,税率为0;当工资在区间(1600, 2500]时,税率为5%;当工资在区间(2500, 3500]时,税率为10%;当工资在区间(3500, 4500]时,税率为15%;当工资超过4500时,税率为20%。输入格式:输入在一行中给出非负工资。输出格式:在一行输出个人所得税,精确到小数点后2位。输入样例1:1600输出样例1:0.00
2021-01-11 18:18:26 1275 1
原创 pta 6-15 小于m的最大的10个素数 (20分)
6-15 小于m的最大的10个素数 (20分)给定一个整数m(50<m<20000),找出小于m的最大的10个素数。输入格式:输入在一行中给出一个正整数m(50<m<20000)。输出格式:在一行中按递减顺序输出10个满足条件的素数,每个素数输出占6列。没有其它任何附加格式和字符。输入样例:229输出样例:227 223 211 199 197 193 191 181 179 173#include<stdio.h>
2021-01-11 18:17:58 1954 1
原创 PTA 7-7 使用函数输出指定范围内的Fibonacci数 (20分)
7-7 使用函数输出指定范围内的Fibonacci数 (20分)本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。函数接口定义:int fib( int n );void PrintFN( int m, int n );其中函数fib须返回第n项Fibonacci数;函数PrintFN要在一行中输出给定范
2021-01-11 18:17:46 558
原创 PTA 9-9 按等级统计学生成绩 (20分)
9-9 按等级统计学生成绩 (20分)本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{int num;char name[20];int score;char grade;};n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根据学
2021-01-11 17:57:52 284
原创 PTA 9-10 指定位置输出字符串 (20分)
9-10 指定位置输出字符串 (20分)本题要求实现一个函数,对给定的一个字符串和两个字符,打印出给定字符串中从与第一个字符匹配的位置开始到与第二个字符匹配的位置之间的所有字符。函数接口定义:char *match( char *s, char ch1, char ch2 );函数match应打印s中从ch1到ch2之间的所有字符,并且返回ch1的地址。裁判测试程序样例:#include <stdio.h>#define MAXS 10char *match( char *s,
2021-01-11 17:57:35 258
原创 PTA 7-9 使用函数输出水仙花数 (20分)
7-9 使用函数输出水仙花数 (20分)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13 +53 +33 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则
2021-01-11 17:57:21 676 2
原创 pta 8-01 查找指定字符 (20分)
8-01 查找指定字符 (20分)本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming输出样例1:index = 7输入样例2:a1234输出样例2:Not Found#include<stdio
2021-01-11 17:49:54 792
原创 pta 4-6 求平方与倒数序列的部分和 (10分)
4-6 求平方与倒数序列的部分和 (10分)本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2 +1/m+(m+1)2 +1/(m+1)+⋯+n2 +1/n。输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10输出样例:sum = 355.845635#include<stdio.h>
2021-01-08 10:15:44 116
原创 PTA 4-5 求阶乘序列前N项和 (10分)
4-5 求阶乘序列前N项和 (10分)本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5输出样例:153#include<stdio.h>int main(){ int n,i,result=1,sum; scanf("%d",&n); for(i=1;i<=n;i++) { result*=i; sum+=result; } p
2021-01-08 10:14:46 240
原创 PTA 4-4 输出闰年 (10分)
4-4 输出闰年 (10分)输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。输入样例1:2048输出样例1:2004200820122016202020242028203220362040
2021-01-08 10:12:59 444
原创 PTA 5-7 近似求PI (15分)
5-7 近似求PI (15分)本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯输入格式:输入在一行中给出精度eps,可以使用以下语句来读输入:scanf("%le", &eps);输出格式:在一行内,按照以下格式输出π的近似值(保留小数点后5位):PI = 近似值输入样例:1E-5输出样例:PI = 3.14158#i
2021-01-08 09:55:50 461
原创 PTA 5-6 统计各位数字之和是5的数 (20分)
5-6 统计各位数字之和是5的数 (20分)本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。函数接口定义:int is( int number );void count_sum( int a, int b );函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的
2021-01-08 09:51:10 4929
原创 PTA 5-5 使用函数输出一个整数的逆序数 (15分)
5-5 使用函数输出一个整数的逆序数 (15分)本题要求实现一个求整数的逆序数的简单函数。函数接口定义: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-01-08 09:47:57 435
原创 PTA 5-4 数字金字塔 (10分)
5-4 数字金字塔 (10分)本题要求实现函数输出n行数字金字塔。函数接口定义:void pyramid( int n );其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例:#include <stdio.h>void pyramid( int n );int main(){int n;scanf("%d", &n);pyramid(n);return 0;}
2021-01-08 09:39:26 493
原创 PTA 找出不是两个数组共有的元素 (20分)
找出不是两个数组共有的元素 (20分)给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9 0 100 8 1输出样例:3 5 -15
2021-01-08 00:18:15 743
原创 PTA 6-4 将数组中的数逆序存放 (25分)
6-4 将数组中的数逆序存放 (25分)本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。输入样例:410 8 1 2输出样例:2 1 8 10#include<stdio.h>int main(){ int n; scanf
2021-01-08 00:03:06 630
原创 PTA 6-3 求最大值及其下标 (25分)
6-3 求最大值及其下标 (25分)本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。输入样例:62 8 10 1 9 10输出样例:10 2#include <stdio.h>int main(){ int n,i,j; scanf("%d",&n); in
2021-01-08 00:02:10 550
原创 PTA 6-2 使用函数的选择法排序 (25分)
6-2 使用函数的选择法排序 (25分)本题要求实现一个用选择法对整数数组进行简单排序的函数。函数接口定义:void sort( int a[], int n );其中a是待排序的数组,n是数组a中元素的个数。该函数用选择法将数组a中的元素按升序排列,结果仍然在数组a中。裁判测试程序样例:#include <stdio.h>#define MAXN 10void sort( int a[], int n );int main(){int i, n;int a[MAXN];
2021-01-07 23:56:07 5871
原创 PTA 6-1 在数组中查找指定元素 (25分)
6-1 在数组中查找指定元素 (25分)本题要求实现一个在数组中查找指定元素的简单函数。函数接口定义:int search( int list[], int n, int x );其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。裁判测试程序样例:#include <stdio.h>#define MAXN 10int search( int list[],
2021-01-07 23:54:10 2855
原创 PTA 7-6 查找子串 (20分)
7-6 查找子串 (20分)本题要求实现一个字符串查找的简单函数。函数接口定义:char *search( char *s, char *t );函数search在字符串s中查找子串t,返回子串t在s中的首地址。若未找到,则返回NULL。裁判测试程序样例:#include <stdio.h>#define MAXS 30char *search(char *s, char t);void ReadString( char s[] ); / 裁判提供,细节不表 */int ma
2021-01-07 23:39:09 390
原创 PTA 7-5 移动字母 (20分)
7-5 移动字母 (20分)本题要求编写函数,将输入字符串的前3个字符移到最后。函数接口定义:void Shift( char s[] );其中char s[]是用户传入的字符串,题目保证其长度不小于3;函数Shift须将按照要求变换后的字符串仍然存在s[]里。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10void Shift( char s[] );void GetString( cha
2021-01-07 23:35:27 449
原创 PTA 7-4 删除字符串中数字字符 (15分)
7-4 删除字符串中数字字符 (15分)删除一个字符串中的所有数字字符。函数接口定义:void delnum(char *s);其中 s 是用户传入的参数。 函数的功能是删除指针 s 所指的字符串中的所有数字字符。裁判测试程序样例:#include “stdio.h”void delnum(char *s);int main (){ char item[80];gets(item);delnum(item);printf("%s\n",item);return 0;}/* 请在
2021-01-07 23:30:27 6058 1
原创 PTA 7-3 将字符串中数字字符替换成# (15分)
7-3 将字符串中数字字符替换成# (15分)函数fun的功能是将字符串中每一个数字字符都替换成一个#字符。函数接口定义:void fun(char *s);其中 s 是用户传入的参数。函数将指针 s所指的字符串中每一个数字字符都替换成一个#字符。裁判测试程序样例:#include <stdio.h>void fun(char *s);int main(){char a[80],*s;s=a;gets(s);fun(s);printf(“the result: %s
2021-01-07 23:29:23 1603
原创 PTA 7-2 复制部分字符串 (15分
PTA 7-2 复制部分字符串 (15分将一个字符串中从第m个字符开始的全部字符复制成为另一个字符串。函数接口定义:void strcopy(char *str1,char *str2,int m);其中 str1、str2、m 都是用户传入的参数。函数在指针str1所指的字符串中从第m个字符开始的全部字符复制到指针str2所指向数组中。裁判测试程序样例:#include<stdio.h>void strcopy(char *str1,char *str2,int m);int
2021-01-07 23:27:51 594
原创 pta 7-1 字符串正反序连接 (15分)
pta 7-1 字符串正反序连接 (15分)将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。函数接口定义:void fun (char *s, char *t);其中s 和t都是用户传入的参数。函数将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。裁判测试程序样例:#include <stdio.h>void fun (char *s, char *t);int main(){ char s[100], t[100];sc
2021-01-07 23:20:42 1635
原创 pta 8-4 通讯录排序 (25分)
pta 8-4 通讯录排序 (25分)输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。#includ
2021-01-07 17:23:47 284
原创 PTA 8-1 平面向量加法
PTA 8-1 平面向量加法(25分)本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照的"x1y1 x2y2"格式给出两个二维平面向量v1=(x1,x2)和v2=(x2,y2).输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。输入样例:3.5 -2.7 -13.9 8.7输出样例:(-10.4, 6.0)#include<stdio.h>#include<math.h>int main
2021-01-07 17:14:20 478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人