C语言试题系列-第七章(函数)

2023-05-16

目录

前言

一、用函数的方式完成判别合数并求一个区间内的合数之和

二、实验8 函数(一)(实验报告见资源下载)

三、使用全局变量及函数求最大公约数和最小公倍数

四 、实验9 - 变量的作用域与生存期(实验报告见资源下载)

五、输出每个月的天数

六、猜猜有几块钱

七、使用函数求素数和

八、用函数求 Fibonacci 数

九、实验10 - 函数(二)(实验报告见资源下载) 

总结


前言

1.本专栏基于谭浩强先生写的《C程序设计(第五版)》与《C程序设计(第五版)学习辅导》配套的相关试题和实验,给出常见C语言基础试题相应代码,方便大家参考学习

2.本专栏所有代码均在本地及Online Judge(OJ)平台测试通过,注意各大OJ平台的测试标准不同,可能存在出入,若很遗憾无法提交,则仅作为程序实现思想交流

3.本专栏仅收录个人C实验,仅仅实现程序功能,不涉及高性能算法,当然也欢迎算法师傅交流优化

4.部分代码参考网上代码后经个人修改优化,望周知

5.部分代码存在与题目描述不符的情况,望周知

6.创作不易,整理不易,若对您有帮助请评论/点赞/收藏/转发,尊重每个技术人!
 


一、用函数的方式完成判别合数并求一个区间内的合数之和

【问题描述】使用函数求合数和:输入两个正整数 m 和 n(1<=m<=n<=500),求 m 和 n 之间的合数和。合数指自然数中除能被1和本身整除外,还能被其他的数整除的数。1 既不是合数也不是素数,最小的合数是4 。要求定义并调用函数 composite(p)判 断 p 是否为合数,当 p 为合数时返回 1,否则返回 0。定义并调用函数 composite_sum(m, n),该函 数返回区间[m, n]内所有合数的和。 

【输入形式】
【输出形式】
【样例输入】1 10

【样例输出】The sum of [1,10] = 37

#include<stdio.h>
#include<stdlib.h>	

int composite(int p){
	int i ;
	for(i = 2 ; i < p ; i++){
		if(p % i == 0 ){
			return 1 ;
		} 
	}
	return 0 ;
	
}
int composite_sum(int m, int n){
	int p,res=0 ;
	for(p=m ; p <= n ; p++){
		if (composite(p) == 1){
			res += p ;
		}
	}
	return res;
} 
int main(){
	int m,n,res;
	scanf("%d %d",&m,&n);
	res = composite_sum(m,n);
	printf("The sum of [%d,%d] = %d",m,n,res);
	system("pause");
	return 0 ;
}

二、实验8 函数(一)(实验报告见资源下载)

实验8-函数(一)实验报告-C文档类资源-CSDN文库https://download.csdn.net/download/m0_66842854/87527995

三、使用全局变量及函数求最大公约数和最小公倍数

【问题描述】使用全局变量及函数求最大公约数和最小公倍数:输入两个正整数 m 和 n(1<=m<=n<=500),求 m 和 n 的最大公约数和最小公倍数。要求定义两个全局变量Hcf和Lcd分别代表最大公约数和最小公倍数。定义函数void hcf(m,n)求最大公约数,该函数无返回值,求出的最大公约数赋给全局变量Hcf。定义函数void lcd(m, n)求最小公倍数,该函数无返回值,求出的最小公倍数赋给全局变量Lcd。

【输入形式】
【输出形式】
【样例输入】24  16
【样例输出】H.C.F = 8

                    L.C.D = 48

#include<stdio.h>
#include<stdlib.h>
int Hcf=0;
int Lcd=0;
void hcf(int m , int n){
	int j ,limit;
	if(m>n){
		limit=n;
	}else{
		limit=m;
	}
	for(j=1;j<=limit;j++){
		if(m%j==0&&n%j==0){
			Hcf = j ;
		}
	}
	printf("H.C.F = %d\n",Hcf);
}
void lcd(int m , int n){
	int i ;
	if(m>n){
		i=m;
	}else{
		i=n;
	}
	while(1==1){
		if(i%m==0&&i%n==0){
			Lcd = i ;
			break;
		}
		i++;
	}
	printf("L.C.D = %d",Lcd);
}
int main(){
	int m,n;
	scanf("%d%d",&m,&n);
	hcf(m,n);
	lcd(m,n);
	system("pause");
	return 0 ;
}

 四 、实验9 - 变量的作用域与生存期(实验报告见资源下载)

实验9-变量的作用域与生存期-C文档类资源-CSDN文库https://download.csdn.net/download/m0_66842854/87527997

五、输出每个月的天数

【问题描述】输出每个月的天数:输入年 year,输出该年 1~12 月每个月的天数。其中 1、3、5、7、8、 10、12 月有 31 天,4、6、9、11 月有 30 天,2 月平年有 28 天,闰年有 29 天。判断闰年的条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。要求定义并调用函数 month_days(year, month),该函数返回 year 年 month 月的天数。

【输入形式】
【输出形式】
【样例输入】2000
【样例输出】31 29 31 30 31 30 31 31 30 31 30 31

int m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12;
int year_(int y)
{
	if((y%4==0&&y%100!=0)||(y%400==0)){
		return 1;
	}else{
		return 0;
	}
}
void month_days(int year)
{
	if(year_(year)==1)
	{
		m1=31;m2=29;m3=31;m4=30;m5=31;m6=30;m7=31;m8=31;m9=30;m10=31;m11=30;m12=31;
	}else{
		m1=31;m2=28;m3=31;m4=30;m5=31;m6=30;m7=31;m8=31;m9=30;m10=31;m11=30;m12=31;
	}
}
#include<stdio.h>
int main()
{
	int year;
	scanf("%d",&year);
	month_days(year);
	printf("%d %d %d %d %d %d %d %d %d %d %d %d",m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12);
	return 0;
}

 六、猜猜有几块钱

【问题描述】

    有5个小朋友坐在一起,问第5个小朋友有几块钱?他说比第4个多2块。问第4个,他说比第3个多2块。问第3个,又说比第2个多2块。问第2个,说比第1个多2块。最后问第1个人,他说有10块钱,猜猜第5个小朋友有几块钱?

【输入形式】

    输入一行3个整数,依次为m,n,k,m表示一共有几个人,n表示多的钱数,k表示第1个小朋友的钱数。

【输出形式】

    输出第m个小朋友的钱数。

【样例输入】

    6 2 2
【样例输出】

    12
【说明】

    要求使用函数递归的方式实现。

#include<stdio.h>
#include<stdlib.h>
int func(int m,int n,int  k){
	if(m==1){
		return k ;
	} else {
		return func(m-1,n,k)+n;
	}
}
int main(){
	int m,n,k,res;
	scanf("%d%d%d",&m,&n,&k);
	res = func(m,n,k);
	printf("%d",res);
	system("pause");
	return 0 ;
}

 七、使用函数求素数和

【问题描述】使用函数求素数和:输入两个正整数 m 和 n(1<=m<=n<=500),求 m 和 n 之间的素数和。素 数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。要求定义并调用函数 prime(p)判 断 p 是否为素数,当 p 为素数时返回 1,否则返回 0。定义并调用函数 prime_sum(m, n),该函 数返回区间[m, n]内所有素数的和。 

【输入形式】
【输出形式】
【样例输入】1 10
【样例输出】Sum of (1,10)=17

#include<stdio.h>
#include<stdlib.h>
int prime(int x)
{
	int i ;
	for(i=2;i<x;i++){
		if(x%i==0){
			return 0;
		} 
	}
	if(x==1){
		return 0;
	}
	return 1;
}
int  prime_sum(int m, int n){
	int j ,sum=0;
	for(j=m;j<=n;j++){
		if(prime(j)==1){
			sum+=j;
		}
	}
	return sum ;
}

int main(){
	int m,n,sum;
	scanf("%d%d",&m,&n);
	sum = prime_sum(m,n);
	printf("sum of(%d,%d) = %d\n",m,n,sum);
	system("pause");
	return 0 ;
}

 八、用函数求 Fibonacci 数

【问题描述】使用函数求 Fibonacci 数:输入正整数 n(1 <=n<=46 ),输出斐波那契(Fibonacci)数 列的第 n 项。所谓 Fibonacci 数列就是满足任一项数字是前两项的和(最开始两项均定义为 1) 的数列,从第 1 项起为 1、1、2、3、5、8、13、21……。要求定义并调用函数 fib(n),它的功能是返回第 n 项Fibonacci 数。例如,fib(7)的返回值是13。 

【输入形式】
【输出形式】
【样例输入】8
【样例输出】fib(8)=21

#include <stdio.h>
#include <stdlib.h>
int  fibo(int n){
	if(n==1||n==2){
		return 1;
	}else{
		return fibo(n-1)+fibo(n-2);
	}
}

int main()
{
	int n,res ;
	scanf("%d",&n);
	res = fibo(n);
	printf("fib(%d)=%d",n,res);
	system("pause");
	return 0 ;
}

九、实验10 - 函数(二)(实验报告见资源下载) 实验10-函数(二)-实验报告-C文档类资源-CSDN文库https://download.csdn.net/download/m0_66842854/87528108


总结

本专栏旨在帮助C语言初学者学习编程,仅供学习交流!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言试题系列-第七章(函数) 的相关文章

  • <JDBC>事务处理的剖析,及四种隔离级别

    x1f6d2 本文收录与专栏 xff1a JDBC 专栏 x1f4e2 专栏目的是解释JDBC的关键点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 抬头向前看 目录 事务处理 x1f
  • 牛客网刷题记录 || 指针

    x1f6d2 本文收录于专栏 xff1a 牛客网刷题记录 x1f4e2 专栏目的是对于刷题过程的记录 xff0c 题型的列举和讲解 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 这是牛客网刷题记录专栏第一篇博文
  • 猿创征文|<JDBC>多种开源数据库连接池

    x1f6d2 本文收录与专栏 xff1a JDBC 专栏 x1f4e2 专栏目的是解释JDBC的关键点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 注定要去的地方 xff0c 多晚都
  • 牛客网刷题记录 || 链表

    这是牛客网刷题记录专栏第一篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || C++入门

    这是牛客网刷题记录专栏第五篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 结构体和类

    这是牛客网刷题记录专栏第五篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 运算符与分支

    这是牛客网刷题记录专栏第六篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 牛客网刷题记录 || 循环

    这是牛客网刷题记录专栏第七篇博文 xff0c 先给大家简单介绍一下牛客网 xff0c 牛客网是一个集笔面试系统 题库 课程教育 社群交流 招聘内推于一体的优质网站 xff0c 牛客网题库中包含几万道题目 xff0c 注重通过边学边练的模式揽
  • 2021年互联网大厂的中秋仪式感

    中秋节快到了 xff0c 就想起来去年互联网大厂的月饼礼盒大比拼 xff0c 来给大家盘点一下2021年互联网大厂的中秋礼盒 xff0c 等今年礼盒出了再一起看看 xff0c 咱吃不到 xff0c 就多看看 xff0c 提前祝大家中秋节快乐
  • Git从入门到项目实战,一篇文章吃透Git

    博主今天刚学完Git就来总结笔记了 xff0c Git好强大 xff0c 不愧是目前世界上最先进的分布式版本控制系统 即使再小的帆也能远航 目录 x1f50e Git版本控制 x1f525 常见版本控制工具 x1f525 版本控制分类 x1
  • Linux gzip gunzip(压缩与解压缩)命令

    gzip xff1a 压缩命令 格式 xff1a gzip 源文件 xff08 不保留源文件 xff09 例 xff1a 格式 xff1a gzip r 目录 xff08 只能压缩目录下的文件 xff0c 不能压缩目录 xff09 例 xf
  • 猿创征文|Spring5梦开始的地方:入门必看

    x1f6d2 本文收录与专栏 xff1a Spring5 专栏 x1f4e2 专栏目的是记录学习攻克难点 xff0c 与各位一路同行 xff0c 会持续输出 xff0c 欢迎免费订阅 xff01 xff01 阅己 xff0c 越己 xff0
  • 2022年互联网大厂的中秋仪式感

    续上篇2021年互联网大厂的中秋仪式感 xff0c 最新的2022年互联网大厂中秋仪式感来了 目录 中秋礼盒 x1f96e 创新乐知阿里巴巴腾讯字节跳动京东网易百度新浪美团哔哩哔哩小红书华为小米大疆知乎快手 中秋礼盒 x1f96e 创新乐知
  • 结构体的冒泡排序

    C 数组允许定义可存储相同类型数据项的变量 xff0c 结构是 C 编程中另一种用户自定义的可用的数据类型 xff0c 它允许您存储不同类型的数据项 首先要先定义结构体类型 xff0c 再定义相应的结构体变量 xff0c 定义结构体类型的一
  • ftp外网访问小知识

    ftp是一种处于应用层的用于文件传输的协议 是基于TCP协议的应用层协议 xff0c 用于在网络上传输文件 ftp协议较其他网络协议更为复杂 xff0c 与一般的C S应用不同点在于 xff1a 一般的C S应用程序只会建立一个Socket
  • Mybatis_plus使用自定义sql 查询并分页时,sql后自己添加LIMIT ? OFFSET?

    64 Select IPage lt Map gt select String batchId String type String tableName Page lt T gt page Page lt DLGMetaDataField
  • C语言程序设计课后习题:利润问题

    题目 xff1a 使用switch 或者 if 语句完成 注 xff1b 此代码没有问题但在qinglen下不会通过 企业发放的奖金根据利润提成 利润 I 低于或等于100000元时 奖金可提10 xff1b 利润高于100000元 低于2
  • Ubuntu显示lines 1-14/14(end)

    Ubuntu下载MySQL xff0c 运行MySQL时 xff0c 终端显示这个 xff0c 一直退出不了 xff0c 我查了之后以为是要你输入密码 xff0c 结果不行 xff0c 然后搜到按q键退出 xff0c md
  • 3Dslicer在windows下源码编译源码并打包程序亲测可用

    对于医疗图像数据可视化有一些比较成熟的开源软件库 xff0c 其中包括volview 2011年已经停止维护和更新 xff0c MITK xff08 德国非中科大版 xff09 xff0c 3Dslicer和ITK SNAP 3Dslice
  • mysql 8.0以上重置密码

    命令行都要以管理员运行 1 xff1a net stop mysql 停止mysql服务 2 xff1a mysqld console skip grant tables shared memory 启动MySQL服务的时候跳过权限表认证

随机推荐

  • 硬件iic与软件iic的正确使用

    MCU中常见的通讯方式 xff1a USART SPI CAN 485 Bluetooth WIFI 4G xff0c 而IIC是除这些外另一种通讯方式 对于STC的MCU只能用软件IIC xff0c 对于stm8和stm32的MCU可以用
  • Linux连接外网

    1 右键虚拟机 xff0c 选择设置 2 点击网络适配器 xff0c 选择NAT模式 xff0c 点击确认 xff0c 返回 3 点击右上角区域 xff0c 点击小圆圈有钳子样的图标 xff0c 进入设置界面 xff0c 点击网络并打开 4
  • C基础 输入一个日期判断是否为闰年 并计算是这一年的第几天

    1 首先要搞清闰年的判断方法 闰年 xff1a xff08 1 xff09 如果year能够被4整除 xff0c 但是不能被100整除 xff0c 则year是闰年 xff08 2 xff09 如果year能够被400整除 xff0c 则y
  • C语言经典题目50题

    程序1 题目 xff1a 有1 2 3 4个数字 xff0c 能组成多少个互不相同且无重复数字的三位数 xff1f 都是多少 xff1f 1 程序分析 xff1a 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满
  • 用c语言多种实现快速排序(有完整代码带注释)

    快速排序是一种把大问题分成小问题的算法 它的目的是把一个无序的数组变成有序的数组 它的思想如下 xff1a 首先选择数组的第一个数作为 中间值 然后把数组分成两半 xff0c 左边的数都比中间值小 xff0c 右边的数都比中间值大 对左边和
  • MySQL 8.0.29 设置和修改默认密码

    MySQL 8 0 29 设置和修改默认密码 修改密码 xff1a 登录时因为你没设置root的初始密码 xff0c 导致报错 密码以加密的形式存储在mysql数据库中的user表中的authentication string字段中 参考链
  • Manjaro Linux / Arch Linux 换源命令

    span class token function sudo span pacman mirrors i c China m rank 输入密码 xff0c 选择最快的源
  • C语言中形参和实参对类型的要求

    实参 xff1a 常量 变量 表达式 函数等任意类型 形参 xff1a 变量 xff0c 在被定义的函数中 xff0c 必须指定形参的类型 形式参数就是定义函数名和函数体时需要用的参数 xff0c 目的是用来接收调用该函数时传递的参数 实际
  • 位操作符【左移、右移、按位取反、按位与、按位或、按位异或】【详解】

    本期介绍 x1f356 主要介绍 xff1a 位操作符有哪些 xff0c 位操作符操作的对象 xff0c 整数在内存中是如何存放的 xff0c 有哪些位操作符 xff0c 各自又都具备何种功能 x1f440 文章目录 一 前言二 整数在内存
  • ceph (cephadm)集群部署

    ceph 集群部署 cephadm 方法1 xff1a ansible ceph ansible使用Ansible部署和管理Ceph集群 xff08 1 xff09 ceph ansible被广泛部署 xff08 2 xff09 ceph
  • Maven项目中pom.xml文件被Ignored(忽略)的解决办法问题

    出现的原因 xff1a 新创建的Maven项目与之前被删除的Maven项目重名了 xff1b 由于相同名称的Module在之前被创建过 xff0c 因此在IDEA中留有痕迹 重新创建一个新的同名Module会让IDEA误以为是之前被Disa
  • OpenFeign如何实现微服务之间的调用(简单易学)

    Feign已经断更 xff0c 所以Spring官方也推荐使用OpenFeign 这里就不浪费时间介绍什么是Feign了 xff0c 自行百度 xff01 使用方法 xff1a 一 pom引入依懒 lt dependency gt lt g
  • 熔断 所有的配置说明

    以下代码主要是对 64 HystrixCommand注解中的commandProperties属性说明 64 HystrixCommand fallbackMethod 61 34 fallbackMethod 34 groupKey 61
  • IDEA项目Application没有变绿叶小图标解决方法

    IDEA有时候会抽风 xff0c 就算是新建的项目也会出现这种情况 xff0c 下面就教大家如何解决这种情况 xff01 虽然没什么太大的影响 xff0c 但不好看 啊 xff01 而且没有代码提示也是让人用着不爽 一 找到File Pro
  • 配置中心报:reject HostKey: github.com

    spring cloud config配置中心获取github上文件时 xff0c 报错 xff1a reject HostKey github com 解决方法 xff1a 将SSH调用 xff1a git 64 github com X
  • Vscode安装C环境之中文编码问题

    目录 前言 一 解决代码区内中文乱码问题 二 解决代码编译时由于中文而导致的报错信息 三 解决命令终端的中文乱码问题 总结 前言 1 网络教程有新旧 xff0c 本文预测自发布日起前后6个月均有参考价值 因为涉及插件 IDE 编译器等的更新
  • 沙拉查词配置浏览器外翻译(为你的电脑配置一个随时翻译器吧!)

    目录 前言 一 插件安装 以安装用户可跳转至步骤二 二 配置桌面翻译 三 使用方法及分析 四 适用场景 插件级翻译的优势 总结 前言 1 撰写本篇文章旨在提供一种轻量级 插件级 的桌面翻译的解决方案 xff0c 当然选择直接安装PC端翻译软
  • C语言试题系列-第一章

    目录 前言 一 输出简单字符串 二 三个整数之和 三 求三个数中最大的数 四 实验1 C程序的运行环境和运行C程序的方法 实验报告见资源下载 五 求国民生产总值与现在相比增长百分比 六 实验2 数据类型 运算符和简单的输入输出 实验报告见资
  • C语言试题系列-第六章(数组)

    目录 前言 一 选择法从大到小排序 二 实验6 数组 实验报告见资源下载 三 编写程序 xff0c 输入4个字符串 xff0c 找出其中最大者 四 实验7 字符串及字符数组 实验报告见资源下载 五 将数组中的数逆序存放 六 输出冒泡法排序某
  • C语言试题系列-第七章(函数)

    目录 前言 一 用函数的方式完成判别合数并求一个区间内的合数之和 二 实验8 函数 xff08 一 xff09 实验报告见资源下载 三 使用全局变量及函数求最大公约数和最小公倍数 四 实验9 变量的作用域与生存期 实验报告见资源下载 五 输