【C | PTA】函数专项练习(三)

【C语言】【递归函数】递归实现指数函数 【C语言】【递归函数】递归实现指数函数题目描述输入输出样例输入样例输出带填充标签的C/C++原程序代码实现偷懒做法(你们都懂)正确做法 题目描述 本题要求实现一个计算xn(n>=0),计算结果用双精度double 输入 输入两个整数x,n 输出 计算结果 样例输入 2 3 样例输出 8 带填充标签的C/C++原程序 #include <stdio.h> do... 阅读详情

本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

6-1 使用函数输出指定范围内的完数

本题要求实现一个计算整数因子和的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。
函数接口定义:

int factorsum( int number );

void PrintPN( int m, int n );

其中函数factorsum须返回int number的因子和;函数PrintPN要逐行输出给定范围[m, n]内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + … + 因子k”,其中完数和因子均按递增顺序给出。如果给定区间内没有完数,则输出一行“No perfect number”。
裁判测试程序样例:

#include <stdio.h>


int factorsum( int number );

void PrintPN( int m, int n );

    

int main()

{

    int m, n;


    scanf("%d %d", &m, &n);

    if ( factorsum(m) == m ) printf("%d is a perfect number\n", m);

    if ( factorsum(n) == n ) printf("%d is a perfect number\n", n);

    PrintPN(m, n);


    return 0;

}


/* 你的代码将被嵌在这里 */

输入样例1:

6 30

输出样例1:

6 is a perfect number
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14

输入样例2:

7 25

输出样例2:

No perfect number

int factorsum( int number )
{
	int sum=0;
	for(int i=1;i<number;i++)
	{
		if(number%i==0)
		sum+=i;
	}
	
	if(sum==number)
	return sum;
	else
	return 0;
}

void PrintPN( int m, int n )
{
	int flag=1;
	//遍历每一个数
	for(int i=m;i<=n;i++)
	{
		//如果符合完数的条件
		if(factorsum(i))
		{
			flag=0;
			//先打印一
			printf("%d = 1",i);
			for(int j=2;j<i;j++)
			{
				if(i%j==0)
				printf(" + %d",j);
			}
			printf("\n");
		}
		
	}
	if(flag==1)
	printf("No perfect number");
}

6-2 递归实现指数函数

本题要求实现一个计算xn(n≥1)的函数。
函数接口定义:

double calc_pow( double x, int n );

函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。
裁判测试程序样例:

#include <stdio.h>


double calc_pow( double x, int n );


int main()

{

    double x;

    int n;


    scanf("%lf %d", &x, &n);

    printf("%.0f\n", calc_pow(x, n));


    return 0;

}


/* 你的代码将被嵌在这里 */

输入样例:

2 3

输出样例:

8

double calc_pow( double x, int n )
{
	if(n==1)
	return x;
	else
	return x*calc_pow(x,n-1);
}

6-3 十进制转换二进制

分数 10
作者 C课程组
单位 浙江大学

本题要求实现一个函数,将非负整数n转换为二进制后输出。
函数接口定义:

void dectobin( int n );

函数dectobin应在一行中打印出二进制的n。建议用递归实现。
裁判测试程序样例:

#include <stdio.h>


void dectobin( int n );


int main()

{

    int n;

    

    scanf("%d", &n);

    dectobin(n);

    

    return 0;

}


/* 你的代码将被嵌在这里 */

输入样例:

10

输出样例:

1010

void dectobin( int n )
{
	int a;
	if(n==0)printf("0");
	else if(n==1)printf("1");
	else
	{
		dectobin(n/2);
		a=n%2;
		printf("%d",a);
	}
	
}

6-4 空心的数字金字塔

本题要求实现一个函数,输出n行空心的数字金字塔。
函数接口定义:

void hollowPyramid( int n );

其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行空心的数字金字塔,请注意,最后一行的第一个数字前没有空格。
裁判测试程序样例:

#include <stdio.h>


void hollowPyramid ( int n );


int main()

{    

    int n;


    scanf("%d", &n);

    hollowPyramid ( n );


    return 0;

}


/* 你的代码将被嵌在这里 */

输入样例:

5

输出样例:

    1
   2 2
  3   3
 4     4
555555555
void hollowPyramid ( int n )
{//对前n-1行处理
	for(int i=1;i<=n-1;i++)
	{
		for(int j=n-i;j>=1;j--)
		{
			printf(" ");
		}
		
		printf("%d",i);
			
		
		//i为1不输出空格、i为2输出1个空格
		//i为3输出3个空格、i为4输出5个空格
		//所以是1为第二项,2为d的等差数列
		//故输出2*i-4+1个空格
		if(i>=2)
		{
			for(int k=2*i-4+1;k>=1;k--)
				printf(" ");
		}

		
		if(i-1!=0)
		printf("%d",i);
		printf("\n");
	}
	
	//对最后一行处理
	for(int i=1;i<2*n;i++)
	printf("%d",n);
}
6-4 因子之和通过指针变量间接传回主函数 (10分) 6-4 因子之和通过指针变量间接传回主函数 (10分) 编写一个函数fun,功能是计算给定整数n的所有因子(不包括1和自身)之和,和值通过指针变量间接传回主函数。 函数接口定义: void fun(int n,int *m); 其中 n 和 m 都是用户传入的参数。函数计算给定整数 n 的所有因子(不包括1和自身)之和,和值通过指针变量 m 间接传回主函数。 裁判测试程序样例: #include <stdio.h> void fun(int n,int m); int main() 阅读详情

相关推荐

PTA 浙大版《C语言程序设计(第3版)》题目集全套代码

PTA 浙大版《C语言程序设计(第3版)》题目集全套代码 Here is PTA网站地址 本文适合C语言初学者,风格轻松明快,语言简洁易懂。本文在实际 案例中插入知识点,因为C语言不是学会的,而是练会的。多做题, 多上手写代码才能早日晋级,离开新手村。 来吧!投入C语言的怀抱吧! 文章目录PTA 浙大版《C语言程序设计(第3版)》题目集全套代码前前言 怎样算是一个好的程序前言一、函数题1.练习5-1 求m到n之和2.找两个数中最大者二、编程题1.练习2-1 Programming in C is fun

Sophia_all的博客 8977

PTA 7-203 因子之和

PTA 7-203 因子之和

higgins_li的博客 2935

PTA练习系统显示error: redefinition of ‘main’编译错误解决方法+PTA网站验证码

笔者终于下定决心要提高代码能力,直击PAT时 没想到......一开始,就被一道求和题给噎住了....还是那么简单的题目 显示错误: 看了几遍程序,想不明白为什么出错 后细看提示,才明白这个题库的操作方法 就是:只需要补上 欠缺的代码 即可 所以 也许是这个原因,这道题的通过率才0.31 最后附上浙大PTA网站验证码(即书籍C语言程序设计第三版(高教出版社) 书...

wuyaxin 4万+

6-2 递归实现指数函数

本题要求实现一个计算xn(n≥1)的函数。 函数接口定义: double calc_pow( double x, int n ); 函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。 裁判测试程序样例: #include <stdio.h> double calc_pow( double x, int n ); int main() { double x; int n; scanf("%lf %d", &x,

wzy992981933的博客 1114

浙大PTA拼题A读者验证码刷题页面、PTA免费刷题页面(不需要读者验证码)

有一个B站号@李桥桉,很多年前讲过PTA里的一些题目的解法。近两年有好多同学反馈,需要读者码才能进行答题,不然只能免费注册、看题、编写代码,就是不能提交代码(大受震撼)。咱就是说,会不会是同学们找错页面了,有免费的不需要读者码的题目集啊。先来说打开PTA平台,哪些题目集是需要输入读者码的,哪些是免费练习不需要读者码的。

李桥桉的博客 1万+

PTA函数练习题 6-6 数字金字塔

PTA函数练习题 6-6 数字金字塔 估计大家都是从PTA过来的,因此题目不再赘述,直接上代码: #include <stdio.h> void pyramid(int n); int main(void) { int n; scanf("%d", &n); pyramid(n); return 0; } void pyramid(int n) { int i, j, k, flag; for (i = 1; i <= n

weixin_45566219的博客 1263

PTA:使用函数求素数和 (10分) (c语言)

本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。 素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。 函数接口定义: int prime( int p ); int PrimeSum( int m, int n ); 其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参...

空白的博客 1万+

【WUT】PTA 2022春-MOOC-练习题

数组 | 函数和指针 | 选择结构 | 顺序结构 | 循环结构

linked的博客 5806

【C | PTA】结构体专项练习

本文结合PTA专项练习带领读者掌握结构体,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 6995

微信4.1.5.16升级后,你的自动化脚本失灵了?手把手教你用C#让UI树“复活”

微信4.1.5.16版本更新导致自动化脚本失效?本文深入解析微信UI树隐藏的原因,并提供C#实战解决方案,通过UIAutomation技术恢复UI树结构,帮助开发者重新实现自动化操作。涵盖技术原理、代码实现及优化策略,适合RPA开发者和自动化脚本编写者参考。

weixin_30879169的博客 519

mysql数据库中使用存储过程带来的好处和示例(存储过程的概念、定义、作用等详解)

MySQL的存储过程(Stored Procedure)是一组SQL语句集合。用户通过指定的存储过程名和参数来调用并执行它。存储过程可以在数据库中预编译并存储,这样它们可以被多次调用而无需重新编写或解析SQL语句。 存储过程将复杂的SQL逻辑封装在一个可重用的单元中。多次调用存储过程,而不需要重复编写相同的SQL代码。- 通过封装,可以隐藏复杂的SQL逻辑,只向用户或应用程序提供简单的接口。MySQL的存储过程和编程语言中的函数的原理和目标是一致的:封装可重用的代码逻辑并提高代码的可维护性和可重用性。

weixin_70208651的博客 1717

【C/PTA】选择结构专项练习(额外)

本文结合PTA专项练习带领读者掌握选择结构,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 6108

PTA-浙大版 《Python程序设计》 第三章编程题目及答案

博主第一次写优快云的博客,所以排版上可能有些不尽人意,代码部分均为自己的思路,可能复杂或者考虑欠妥,欢迎大家一起讨论~ 第一题:大于身高的平均值 这里用了np数组求得平均数,当然for循环累加也是可以的 import numpy as np data = input().split() data = list(map(int,data)) avg = np.mean(data) for i in data: if i > avg: print(i,end = '

Legendwqs的博客 1万+

【C | PTA】函数专项练习(二)

本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 7924

矩阵理论与应用:数理经济学中的投入产出模型分析

1. 背景介绍 矩阵理论是现代数学中的一个重要分支,它在各个领域都有广泛的应用。其中,投入-产出模型是矩阵理论在经济学中的一种应用,它可以用来分析一个国家或地区的经济结构和发展趋势。本文将介绍投入-产出模型的基本概念和原理,并通过实例来说明其应用。 2. 核心概念与联系 投入-产出模型是一

AI天才研究院 1487

AD18软件——捕捉栅格、电气栅格、可见栅格的意义及设置

本文介绍了PCB设计中的三种栅格功能:可视栅格用于辅助定位(快捷键Shift+Ctrl+G),捕捉栅格控制光标移动间距(快捷键G),电气栅格实现元件自动吸附(快捷键Shift+E)。同时提供了在Altium Designer中快速查找相同网络标号的两种实用方法:Alt+鼠标单击或双击网络。这些功能可显著提高PCB设计效率和准确性。

qq_37999850的博客 646

【C | PTA】函数专项练习(四)

本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 8494

Android Framework SurfaceFlinger面试题及参考答案

请简述 SurfaceFlinger 在 Android 系统中的作用。 SurfaceFlinger 是 Android 系统中一个非常关键的服务。它主要负责将多个应用程序的 Surface 合成到一个屏幕显示内容中。 从应用程序的角度来看,每个应用都有自己的 UI 界面,这些 UI 界面实际上是由一系列的图层(Surface)构成。例如,一个应用可能有背景图层、按钮图层、文本图层等。应用通过向 SurfaceFlinger 提供这些 Surface 来请求显示。 SurfaceFl

大模型大数据攻城狮的专栏 1185

【C | PTA】指针专项练习(二)

本文结合PTA专项练习带领读者掌握指针,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 6591

学Simulink--基础微电网场景实例:基于Simulink的微电网经济调度优化策略仿真

指标传统调度PSO经济调度(本文)目标值总运行成本(元/h)45.232.5(工况1)降低≥20%调度响应时间(s)25<30储能SOC范围(%)50~50(不变)28~56(动态优化)20~80弃风弃光率(%)0(强制满发)0(优化消纳)0原理:微电网经济调度通过PSO算法优化各单元出力,以总成本最小化为目标,平衡功率平衡与设备约束;建模:Simulink中用实现PSO控制器,结合PV/WT/DG/ESS模型,完成闭环优化;验证。

amy_mhd的博客 67

6.Burp Suite 入门篇 —— Burp Scanner 漏洞扫描

Burp Scanner 既可以是独立的全自动扫描器,也可以在手动测试中当作强大的辅助手段,而且随着技术改进,Burp Scanner 能检测到的漏洞数量也在不断增加。Burp Scanner 功能只在 burpsuite 专业版和企业版中里有,本篇教程讲的是专业版的 Burp Scanner 用法。

YouTheFreedom的博客 1万+

【C | PTA】函数专项练习(一)

本文结合PTA专项练习带领读者掌握函数,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

等风来 7436

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【C | PTA】指针专项练习(一)

函数fun的功能是在指针a所指向的一维数组中找出其中最大的数及其下标,下标存到指针b所指的变量里,函数返回最大值。函数fun的功能是:求两数平方根之和,作为函数值返回。输入第一行给出两个正整数m和n(1≤m,n≤6),再输入m行数据,每行n个整数,每个整数之间用空格分隔。函数求 a 指针和 b 指针所指的两个数的平方根之和,并返回和。将输入的任意两个4位正整数的后两位互换,例如输入1234和5678,交换之后输出1278和5634。函数的功能是删除指针 s 所指的字符串中的所有数字字符。

等风来 6220

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

pta平台c语言作业答案,C语言PTA平台习题与答案.pdf

C语言PTA平台习题与答案.pdfC 语言程序与设计 PTA 平台习题与答案 1 1 第二章 作业 1 .本题要求编写程序,输出一个短句“Welcome to You” include int main printfWelcome to Youn; return 0; .本题要求编写程序,计算华氏温度 100F 对应的摄氏温度。计算公式C5F32/9, 式中C表示摄氏温度,F表示华氏温度,输出数据...

weixin_31940835的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PTA—C语言练习题

复习C练习题 1-1:Hello World! 要求:编写程序,输出一个短句“Hello World"。 #include<stdio.h> int main(void){ printf("Hello World!"); return 0; } 1-2:温度转换 要求:本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。 输出格式:fahr = 150, celsius = 计算所

lcyiloveyou的博客 8544

PTA练习

@[PTA]综合练习答案 输入一个正整数repeat (repeat<10),做repeat次下列运算: 输入一个正整数n(n<10),输出n行数字金字塔。 输出时使用以下语句: printf(" "); printf("%d ", i); printf("\n"); 输入格式: 输入在第1行中给出1个正整数repeat(repeat<10) 接下来repeat行,每行给出一...

qq_45015119的博客 3437
上一篇: 【MySQL | TCP】宝塔面板结合内网穿透实现公网远程访问
下一篇: 【C | PTA】函数专项练习(四)
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值