当前位置: 首页 > news >正文

C语言-函数例题

函数经典例题

1、编写一个函数实现该功能:从键盘输入一个字串符, 再输入两个正整数 m 和 n, 输出字符串中从 m 开始, 连续 n 个字符。例如, 输入 abcdefg,2,3,输出 bcd.

#include <stdio.h>
/*作者: zcy日期:功能描述:编写一个函数实现该功能:从键盘输入一个字串符, 再输入两个正整数 m 和 n, 输出字 符串中从 m 开始, 连续 n 个字符。例如, 输入 abcdefg,2,3,输出 bcd.思路:1. 键盘输入一个字串符, 再输入两个正整数 m 和 n2. 截取从 m 开始, 连续 n 个字符  --char *Sub_String(char *ch,int m,int n);3. 输出
*/
char *Sub_String(char *ch,int m,int n);
int main()
{printf("请输入一个字符串:\n");char ch[1024] = {0};scanf("%s",ch);printf("请输入开始位置及截取个数:\n");int m=0,n=0;scanf("%d%d",&m,&n);char *p = Sub_String(ch,m,n);printf("%s\n",p);return 0;
}/*函数名称:Sub_String函数功能:截取字符串函数参数: ch   -- 截取的字符串m    -- 从m开始截取n    -- 截取的字符个数函数返回值:返回截取后的字符串首地址
*/
char *Sub_String(char *ch,int m,int n)
{static char str[1024] = {0};int j = 0;for(int i = m-1;i<(m+n-1);i++){str[j] = ch[i];j++;}return str;
}

2、一个皮球从 100 米高度自由落下,每次落地后反弹回原高度的一半再落下,再反弹。求当它第 n 次落地式时,共经过了多少米。

#include <stdio.h>
/*作者: zcy日期:功能描述:一个皮球从 100 米高度自由落下,每次落地后反弹回原高度的一半再落下,再反弹。求当 它第 n 次落地式时,共经过了多少米思路:1.输入落地的次数2.计算共经过多少米  -- sum3.打印
*/
float Height_Sum(int n);
int main()
{printf("请输入落地的次数:");int n = 0;scanf("%d",&n);float sum = Height_Sum(n);printf("sum = %.2f\n",sum);return 0;
}/*函数名称: Height_Sum函数功能: 落地时经过的高度函数参数: n -- 落地的次数函数返回值:返回高度和
*/float Height_Sum(int n)
{float h = 100;float sum = 0;for(int i = 1;i<=n;i++){sum+=2*h;h /=2;}sum -= 100;return sum;
}

3、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

#include <stdio.h>
/*作者: zcy日期:功能描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并 输出结果,两个整数由键盘输入。思路:1. 两个整数由键盘输入2. 求两个整数的最大公约数   -- max3. 求两个整数的最小公倍数   -- min4. 输出
*/
int max(int m,int n);
int min(int m,int n);
int main()
{printf("请输入两个正整数:\n");int m = 0,n=0;scanf("%d%d",&m,&n);int a = max(m,n);int b = min(m,n);printf("a = %d\n",a);printf("b = %d\n",b);return 0;
}/*函数名称:max函数功能:最大公约数函数参数:m,n  -- 两个正整数函数返回值:最大公约数
*/int max(int m,int n)
{int a = 0;for(int i = 1;i<=m;i++){if(m%i == 0 && n % i ==0){a = i;}}return a;
}/*函数名称:min函数功能:最小公倍数函数参数:m,n  -- 两个正整数函数返回值:最小公倍数
*/int min(int m,int n)
{return m*n/max(m,n);
}

6、有五个人坐在一起,问第 5 个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数。他说比第3 个人大 2 岁。问第 3 个人,又说比第 2 个人大 2 岁。问第 2 个人,说比第一个人大 2 岁。最后问第一个人,他说是 10 岁。请问第 5 个人多大?

int f(int n);int main()
{printf("第 5 个人%d岁\n",f(5));return 0;
}int f(int n)
{	if(n==1){return 10;}return f(n-1)+2;}

5、使用递归实现一个十进制数转二进制

#include <stdio.h>
/*作者: zcy日期:功能描述:使用递归实现一个十进制数转二进制
*/
void s_to_e(int n);
int main()
{s_to_e(10);return 0;
}void s_to_e(int n)
{if(n == 0){return;}int a = n%2;n/=2;s_to_e(n);printf("%d",a);}
http://www.lryc.cn/news/411873.html

相关文章:

  • 鸿蒙应用框架开发【多HAP】程序框架
  • PG如何实现跨大版本升级
  • JDK 8 升级 17 及 springboot 2.x 升级 3.x 指南
  • 基于java的人居环境整治管理系统(源码+lw+部署文档+讲解等)
  • 深入了解Pip:Python包管理器的详细指南
  • Corsearch 用 ClickHouse 替换 MySQL 进行内容和品牌保护
  • 常见的应急救援设备有哪些_鼎跃安全
  • Vue 项目部署后首页白屏问题排查与解决
  • STM32 定时器移相任意角度和占空比,频率可调
  • C++ 与其他编程语言区别_C++11/14/17新特性总结
  • 玩转云服务:Google Cloud谷歌云永久免费云服务器「白嫖」 指南
  • 用18讲必看:宇哥亲划重点内容+核心题总结
  • 什么是安全生产痕迹化管理?如何做到生产过程中全程痕迹化管理?
  • VIsual Studio:为同一解决方案下多个项目分别指定不同的编译器
  • Flat Ads资讯:Meta、Google、TikTok 7月产品政策速递
  • 嵌入式C++、ROS 、OpenCV、SLAM 算法和路径规划算法:自主导航的移动机器人流程设计(代码示例)
  • 数据安全堡垒:SQL Server数据库备份验证与测试恢复全攻略
  • 嵌入式人工智能(40-基于树莓派4B的水滴传感器和火焰传感器)
  • EF访问PostgreSql,如何判断jsonb类型的数组是否包含某个数值
  • Qt 实战(8)控件 | 8.1、QComboBox
  • 模拟算法概览
  • uniapp手写滚动选择器
  • 智慧医院临床检验管理系统源码(LIS),全套LIS系统源码交付,商业源码,自主版权,支持二次开发
  • 超市是怎样高效完成客流统计与客流分析
  • 进程地址空间,零基础最最最详解
  • 全面解锁:通过JSP和Ajax实现钉钉签到数据展示及部门筛选功能
  • LLM应用-prompt提示:让大模型总结生成PPT
  • 安全防护软件的必要性:从微软蓝屏事件谈起
  • 解开基于大模型的Text2SQL的神秘面纱
  • 对象转化成base64-再转回对象