【C/PTA —— 10.函数1(课外实践)】

2023-11-25 10:28
文章标签 函数 实践 pta 课外

本文主要是介绍【C/PTA —— 10.函数1(课外实践)】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C/PTA —— 10.函数1(课外实践)

  • 一.函数题
    • 6-1 符号函数
    • 6-2 求排列数
    • 6-3 求一个大于10的n位整数w的后n-1位的数,并作为函数值返回。
    • 6-4 其右上三角(含主对角线)元素之和。
    • 6-5 字符串比较
    • 6-6 使用函数求素数和
    • 6-7 使用函数输出水仙花数
  • 二.编程题
    • 7-1 寻找自守数

一.函数题

6-1 符号函数

在这里插入图片描述

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

6-2 求排列数

在这里插入图片描述

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

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

在这里插入图片描述

#include<math.h>
int fun(int w)
{int sum = 0;int count = 0;int num = w;while (num){num /= 10;count++;}sum = w % (int) (pow(10, count - 1));return sum;
}

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

在这里插入图片描述

int fun(int a[3][3])
{int sum1 = 0, sum2 = 0;for (int i = 0; i < 3; i++){for (int j = i; j < 3; j++){sum1 += a[i][j];}}return sum1;
} 

6-5 字符串比较

在这里插入图片描述

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

6-6 使用函数求素数和

在这里插入图片描述

int prime(int p)
{int count = 0;if(p==1)return 0;for (int i = 2; i <= p; i++){if (p % i == 0)count++;}if (count == 1)return 1;elsereturn 0;
}
int PrimeSum(int m, int n)
{int sum = 0;for (int i = (m<=n?m:n); i <= (n>=m?n:m); i++){if (prime(i) == 1)sum += i;}return sum;
}

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

在这里插入图片描述

#include<math.h>
int narcissistic(int number)
{int count = 0;int sum1 = 0;int num = number;while (number){number /= 10;count++;}int sum = 0;number = num;while (number){sum1 = number % 10;sum += (int)(pow(sum1, count));number /= 10;sum1 = 0;}if (num == sum)return 1;elsereturn 0;
}
void PrintN(int m, int n)
{for (int i = (m <= n ? m : n)+1; i < (n >= m ? n : m); i++){if (narcissistic(i) == 1){printf("%d\n", i);}}
} 

二.编程题

7-1 寻找自守数

在这里插入图片描述

#include<stdio.h>
int ZISHOUnum(int p)
{int num = 0, count = 0;num = p * p;while (p != 0){if (p % 10 != num % 10)return 0;p /= 10;num /= 10;}return 1;
}int main()
{int n = 0, m = 0;int count = 0;scanf("%d %d", &n, &m);for (int i = n; i <= m; i++){if (ZISHOUnum(i)){count++;printf("%d\n", i);}}if (count == 0){printf("None\n");}return 0;
}

这篇关于【C/PTA —— 10.函数1(课外实践)】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/423607

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87