(PTA)6-11 使用函数输出水仙花数 (20分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13 +53 +33 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n ...
(PTA)6-10 使用函数求余弦函数的近似值 (15分) 本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:cos(x)=x0 /0!−x2 /2!+x4 /4!−x6 /6!+⋯函数接口定义:double funcos( double e, double x );其中用户传入的参数为误差上限e和自变量x;函数funcos应返回用给定公式计算出来、并且满足误差要求的cos...
(PTA)6-9 使用函数统计指定数字的个数 (15分) 本题要求实现一个统计整数中指定数字的个数的简单函数。函数接口定义:int CountDigit( int number, int digit );其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。裁.判测.试程序样例:#include <stdio.h>int CountDigit(...
(PTA)6-8 使用函数求最大公约数 (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, &...
(PTA)6-7 使用函数计算两个复数之积 (10分) 若两个复数分别为:c1 =x1 +y1 i和c2 =x2 +y2 i,则它们的乘积为 c1 ×c2 =(x1 x2 −y1 y2 )+(x1 y2 +x2 y1 )i。本题要求实现一个函数计算两个复数之积。函数接口定义:double ...
(PTA)6-6 数字金字塔 (15分) 本题要求实现函数输出n行数字金字塔。函数接口定义:void pyramid( int n );其中n是用户传.入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁.判测试程序样例:#include <stdio.h>void pyramid( int n );int main(){int n;scanf...
(PTA)6-5 使用函数求素数和 (20分) 本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口定义:int prime( int p );int PrimeSum( int m, int n );其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeS.um返回区间[m, n]内所有素数的和。题目保证用户传入的...
(PTA)6-4 使用函数判断完全平方数 (10分) 本题要求实现一个判断整数是否为完全平方数的简单函数。函数接口定义:int IsSquare( int n );其中n是用户传入的参.数,在长整型范围内。如果n是完全平方数,则函数IsSquare必须返回1,否则返回0。裁.判测.试程序样例:#include <stdio.h>#include <math.h>int IsSquare( int n );int...
(PTA)6-3 使用函数求1到10的阶乘和 (10分) 本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1!+2!+⋯+10!的值。函数接口定义:double fact( int n );其中n是用户传入的参.数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。裁.判测试程序样例:#include <stdio.h>double fact( int n );int main(void){in...
(PTA)6-2 符号函数 (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;sc...
(PTA)6-1 使用函数计算两点间的距离 (10分) 本题要求实现一个函数,对给定平面任意两点坐标(x1 ,y1 )和(x2 ,y2 ),求这两点之间的距离。函数接口定义:double dist( double x1, double y1, double x2, double y2 );其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。裁判测试程序...
(PTA)7-10 统计学生成绩 (15分) 本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出.N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C.、D、E对应...
(PTA)7-9 高速公路超速处罚 (15分) 按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车的处理。输入格式:输入在一行中给出2个正整数,分别对应车.速和限速,其间以空格分隔。输出格式:在一行中输出处理意见:若属于正常.行驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,...
(PTA)7-8 输出闰年 (15分) 输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除.但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出.“None”。输入样例1:2048输出.样例1:20042...
(PTA)7-7 计算油费 (15分) 现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程.序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种...
7-6 输出三角形面积和周长 (15分) 本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c) ,其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成.一个三角形,则在一行内,按照area = 面积; perimet...
(PTA)7-5 查询水果价格 (15分) 给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出.查...
(PTA)7-4 统计字符 (15分) 本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车.个数, digit = 数字字符个数, other = 其他字符个数的格式输出.。输入样例:aZ &09 Az输出.样例:lette...
(PTA)7-3 两个数的简单计算器 (10分) 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操.作数的数据类型为整型,且保证除.法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出.相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的...
(PTA)7-2 比较大小 (10分) 本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出.3个整数,其间以空格分隔。输出.格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出.样例:2->4->8#include<stdio.h>int main(){int x,y,z;int a,b,c;scanf("%d%d%d",&...