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

c语言的一些基本题型,编写fun函数实现基本功能 c语言的一些基本题型,编写fun函数实现基本功能 1.计算并输出给定整数的所有因子(不包括1与自身)之和。 #include<stdio.h> int fun(int n) { int t=0,i;/*定义结果,循环变量。*/ for(i=2;i<n;i++)/*使用循环。*/ { if(n%i==0)/*如果余数为0,该数为因子。*/ t+=i;/*将因子相... 阅读详情

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

6-1 符号函数

本题要求实现符号函数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));

    

    return 0;

}


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

输入样例:

10

输出样例:

sign(10) = 1

int sign( int x )
{
    if(x>0)
        return 1;
    else if(x==0)
        return 0;
    else
        return -1;
}

6-2 求排列数

本题要求实现一个计算阶乘的简单函数,使得可以利用该函数,根据公式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", &m, &n);

    if(m > 0 && n > 0 && m <= n){

        result = fact(n)/fact(n-m);

        printf("result = %.0f\n", result);    

    }


    return 0;

}


/* 请在这里填写答案 */

输入样例:

2 14

输出样例:

在这里给出相应的输出。例如:

result = 182

double fact( int n )
{
    double pow=1;
    for(int i=1;i<=n;i++)
    {
        pow*=i;
    }
    return pow;
}

6-3 求一个大于10的n位整数w的后n-1位的数,并作为函数值返回。

编写函数fun,其功能是:求一个大于10的n位整数w的后n-1位的数,并作为函数值返回。例如:当w=1234时,返回234。
函数接口定义:

在这里描述函数接口。例如:

int fun(int w);

在这里解释接口参数。例如:其中 w 是用户传入的参数。函数须返回 w 除最高位外的值。
裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如:

#include <stdio.h>


int fun(int w);


int main()   

{  int m;

   scanf("%d", &m);

   printf("%d\n", fun(m));

   return 0;

}


/* 您的程序将被嵌入在这里 */

输入样例:

1234

输出样例:

234

int fun(int w)
{
	int s=w;
	int a[100],i=0;
	while(w>0)
	{
		a[i]=w%10;
		w/=10;
		i++;
	}//循环得到第一个数字
	
	
	int pow=1;
	for(int j=1;j<i;j++)
	{
		pow*=10;
	}
	int t=s-a[i-1]*pow;//总数减去第一个数字对应的值
	return t;
}

6-4 其右上三角(含主对角线)元素之和。

输入二维数组的所有元素,求二维数组右上三角(包括主对角线)元素之和。
函数接口定义:

在这里描述函数接口。例如:

int fun(int a[3][3]);

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如:

#include <stdio.h>


int fun(int a[3][3]);


int main()

{   int i,j,s,x[3][3];;

   for(i=0;i<3;i++)

      for(j=0;j<3;j++)

        scanf("%d",&x[i][j]);

   s=fun(x);

   printf("sum=%d\n",s);

   return 0;

}

/* 您的答案将被嵌入在这里 */

输入样例:

1 2 3 4 5 6 7 8 9

输出样例:

在这里填写相应的输出
sum=26

int fun(int a[3][3])
{
	int sum=0;
	for(int j=0;j<3;j++)
	sum+=a[0][j];
	for(int j=0;j<3;j++)
	sum+=a[j][2];
	sum-=a[0][2];
	sum+=a[1][1];
	
	return sum;
} 

6-5 字符串比较

函数fun的功能是比较两个字符串,如果s1=s2,则返回值0;如果s1>s2,则返回值1;如果s1<s2,则返回-1。
函数接口定义:

int fun(char a[],char b[]);

其中a、b是用户传入的参数。 函数比较两个字符串,如果a=b,则返回值0;如果a>b,则返回值1;如果a<b,则返回-1。
裁判测试程序样例:

#include "stdio.h"

#include "string.h"

int fun(char a[],char b[]);

int  main()

 {int t;

  char s1[40],s2[40];

  gets(s1);  gets(s2);

  t=fun(s1,s2);

  printf("%d\n",t);

  return 0;

 }



/* 请在这里填写答案 */

输入样例:

asd
fg

输出样例:

-1

int fun(char a[],char b[])
{
	int x=strcmp(a,b);
	if(x>0)
	return 1;
	else if(x==0)
	return 0;
	else
	return -1;
}

6-6 使用函数求素数和

本题要求实现一个判断素数的简单函数、以及利用该函数计算给定区间内素数和的函数。

素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。
函数接口定义:

int prime( int p );

int PrimeSum( int m, int n );

其中函数prime当用户传入参数p为素数时返回1,否则返回0;函数PrimeSum返回区间[m, n]内所有素数的和。题目保证用户传入的参数m≤n。
裁判测试程序样例:

#include <stdio.h>

#include <math.h>


int prime( int p );

int PrimeSum( int m, int n );

    

int main()

{

    int m, n, p;


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

    printf("Sum of ( ");

    for( p=m; p<=n; p++ ) {

        if( prime(p) != 0 )

            printf("%d ", p);

    }

    printf(") = %d\n", PrimeSum(m, n));


    return 0;

}


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

输入样例:

-1 10

输出样例:

Sum of ( 2 3 5 7 ) = 17

int prime(int p)
{
	if(p<=1)
	return 0;// <0 0 1的数不是素数
	for(int i=2;i<p;i++)
	{
		if(p%i==0)
		return 0;
	}
	return 1;
}

int PrimeSum(int m,int n)
{
	int sum=0;
	for(int p=m;p<=n;p++)
	{
		if(prime(p))
		sum+=p;
	}
	return sum;
}

6-7 使用函数输出水仙花数

水仙花数是指一个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则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤m≤n≤10000。
裁判测试程序样例:

#include <stdio.h>


int narcissistic( int number );

void PrintN( int m, int n );

    

int main()

{

    int m, n;

  

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

    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);

    PrintN(m, n);

    if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);


    return 0;

}


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

输入样例:

153 400

输出样例:

153 is a narcissistic number
370
371

int narcissistic(int number)
{
	int n=0,sum=0,s;
	int number1=number,number2=number;
	
	
	while(number1>0)
	{
		number1/=10;
		n++;
	}//计算位数
	
	
	while(number2!=0)
	{//计算幂之和
		s=number2%10;
		int temp=1;
		for(int i=0;i<n;i++)
		{
			temp*=s;
		}
		sum+=temp;
		number2/=10;
	}
	
	if(sum==number)
	return 1;
	else
	return 0;
}

void PrintN(int m,int n)
{
	for(int i=m+1;i<n;i++)
	{
		if(narcissistic(i))
		printf("%d\n",i);
	}
}
6-7 使用函数输出水仙花数_习题5-6 使用函数输出水仙花数 (20分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1​3​​+5​3​​+3​3​​。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int 函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m, n)内所有... 阅读详情

相关推荐

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的博客 8976

符号函数,本题要求实现符号函数sign(x)

符号函数,本题要求实现符号函数sign(x)。 其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。 输入样例: 10 输出样例: sign(10) = 1 #include <stdio.h> int sign( int x ); int main() { int x; ...

PlumpBoy的博客 8696

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

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

wuyaxin 4万+

本题要求实现符号函数sign(x)。函数接口定义:int sign( int x );其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) =

#include <stdio.h> int sign(int x)//用户自定义函数,一般放在主函数前,可省去在主函数中的说明 { int temp; if(x>0) temp=1; else if(x==0)//切记,不能只有一个等号,两个等号是恒等的意思 temp=0; else temp=-1; return temp;/*这个函数要有返回值,返回值为temp,如果没有返...

weixin_43912065的博客 2万+

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拼题A读者验证码刷题页面、PTA免费刷题页面(不需要读者验证码)

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

李桥桉的博客 1万+

【C PTA】指针专项练习(二)_其中s和 t 都是用户传入的参数。函数先将在字符串s中的字符按逆序存放到t串中,然

* 你的提交代码将被嵌在这里 *//* 你的代码将被嵌在这里 *//* 你的代码将被嵌在这里 *//* 请在这里填写答案 *//* 请在这里填写答案 */

2401_86951341的博客 571

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

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

linked的博客 5806

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

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

等风来 6995

C语言程序设计-求一个大于10的n位整数的后n-1位的数,并作为函数值返回;

C语言程序设计-求一个大于10的n位整数的后n-1位的数,并作为函数值返回;

MaxENT生态位模型实战:从数据准备到论文发表的完整指南

本文提供MaxENT生态位模型从数据准备到论文发表的完整实战指南,涵盖物种分布数据处理、环境变量筛选、参数优化及结果可视化等关键步骤。特别介绍如何通过R语言进行高级建模优化,提升模型AUC值,并分享海洋生物专题研究中的数据处理技巧。适合生态学研究者快速掌握这一强大的物种分布预测工具,产出高质量研究成果。

tensor9flow的博客 302

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

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

等风来 6108

FPGA篮球计分器:从需求分析到模块化实现的实战指南

本文详细介绍了FPGA篮球计分器的设计与实现,涵盖需求分析、模块化设计及实战调试。重点解析了24秒精确倒计时、12分钟比赛计时、比分统计和数码管显示等核心模块的Verilog实现,提供了按键消抖、状态机设计和BCD码处理等关键技术细节,帮助开发者掌握FPGA数字系统设计方法。

sql99的博客 218

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

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

等风来 7157

高分系列卫星轨道、传感器参数等信息

遥感卫星数据简介-高分系列

中遥科 3309

01-诊断开发流程概述

传送门 ==>> AutoSAR入门和实战系列总目录。

1786

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

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

等风来 6591

Flink实战案例(十三):Flink DataStream 八大分区策略与自定义分区器

声明:本系列博客是根据SGG的视频整理而成,非常适合大家入门学习。 《2021年最新版大数据面试题全面开启更新》 分区策略决定了一条数据如何发送给下游。Flink中默认提供了八大分区策略(也叫分区器)。 本文基于Flink 1.9.0总结Flink DataStream中的八大分区策略以及手动实现一个自定义分区器。 八大分区策略继承关系图 ChannelSelector: 接口,决定将记录写入哪个Channel。有3个方法: void setup(int numberOfChannels):

微信搜:import_bigdata,大数据领域硬核原创作者 1125

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

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

等风来 8494

DPABISurf使用教材

严老师的官方教程:http://rfmri.org/Course DPABISurf版本:dpabi50docker.tar.gz MATLAB版本:2018b 一、数据准备 (1)如果是数据的DICOM格式,整理成以下格式(注意文件夹的命名方式): 如果觉得不是很清楚,可以在官网下载Demo数据(http://rfmri.org/DemoData),参照里面的文件格式进行整理即可。 (2)如果数据是nii格式,整理成以下格式: 这里没有使用官网的demo数据进行学习,而是..

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 8520

AgentScope Java 2.0 项目实战:使用AgentScope Builder 构建企业级多租户 AI Agent 平台

本文基于 AgentScope Builder 源码深度分析,系统讲解多租户 AI Agent 构建平台的完整开发流程。涵盖 Spring Boot 3.x + WebFlux 后端架构、React 18 + TypeScript 前端实现、HarnessAgent 运行时、CompositeFilesystem 多租户隔离、SSE 流式对话、6 种 IM 渠道接入(钉钉/飞书/企微/GitHub/GitLab)、Git 与 Nacos 技能市场、JWT 认证、Docker Sandbox 隔离等核心技术。

program哲学 725

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

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

等风来 7436

传感器校准与标定:传感器的灵敏度校准_(11).常见传感器的灵敏度校准方法

线性校准:适用于传感器输出与输入之间存在线性关系的情况。通过收集数据并使用最小二乘法拟合线性方程,可以确定斜率和截距,从而实现校准。非线性校准:适用于传感器输出与输入之间存在非线性关系的情况。通过收集数据并使用非线性拟合方法(如最小二乘法),可以确定多项式或其他非线性方程的参数,从而实现校准。温度补偿校准:适用于传感器在不同温度下输出特性变化的情况。通过收集不同温度下的数据并使用温度补偿方程,可以提高传感器在不同温度下的测量精度。其他校准方法。

2401_87715305的博客 917

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

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

等风来 6220

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

OV9734 DATASHEET,完整规格书

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

上一篇: 【C | PTA】函数专项练习(一)
下一篇: 【Linux】公网环境内网穿透实现应用ipad pro进行代码开发
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄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、付费专栏及课程。

余额充值