头歌实验教学平台C语言之函数
第6关:公约公倍数
题目描述:写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End
区域内进行代码补充,变量类型使用long long int
。
输入
两个正整数
输出
最大公约数 最小公倍数 如果输入的数中包含负数,则输出Input Error
#include<stdio.h>
//编写最大公约数GCD函数
/*********Begin*********/
int GCD(int a,int b){int i,max,min;max = a>b?a:b;min = a<b?a:b;for(i=max;i>0;i--){if(max%i==0&&min%i==0){//printf("%d",i);break;}}return i;
}
/*********End**********///编写最小公倍数LCM函数
/*********Begin*********/
long long int LCM(int a,int b){int i;long long int max = a>b?a:b;int min = a<b?a:b;for(i=1;i<=min;i++){if((max*i)%min==0){break;}}//printf("%d\n",i*max);return i*max;
}
/*********End**********/
int main(void)
{/*********Begin*********/int a,b,c;long long int d;scanf("%d %d",&a,&b);if(a<=0||b<=0){printf("Input Error");}else{c=GCD(a,b);d=LCM(a,b);printf("%d %lld",c,d);}/*********End**********/return 0;
}
第5关:亲密数
题目描述:两个不同的自然数A
和B
,如果整数A
的全部因子(包括1
,不包括A
本身)之和等于B
;且整数B的全部因子(包括1
,不包括B
本身)之和等于A
,则将整数A
和B
称为亲密数。求3000
以内的全部亲密数。
输入 无需输入
输出 3000
以内的全部亲密数(输出格式:(A
,B
),不加换行,不加分隔符号) 一对亲密数只输出一次,小的在前
样例输出: (220,284)(1184,1210)(2620,2924)
提示:
按照亲密数定义,要判断数a是否有亲密数,只要计算出a的全部因子的累加和为b
,再计算b
的全部因子的累加和为n
,若n
等于a
则可判定a
和b
是亲密数。计算数a
的各因子的算法:
用a依次对i(i=1~a/2)
进行模运算,若模运算结果等于0
,则i
为a
的一个因子;否则i就不是a
的因子。
#include<stdio.h>
void solve(){/*********Begin*********/int sum1=0,sum2=0;for(int i=4;i<3000;i++){for(int j=1;j<i;j++){if(i%j==0){sum1=sum1+j;}}//printf("sum1=%d\n",sum1);for(int m=1;m<sum1;m++){if(sum1%m==0){sum2=sum2+m;}}//printf("sum2=%d\n",sum2);//break;if(sum2==i&&i<sum1){printf("(%d,%d)",i,sum1);//continue;}else{sum1=0;sum2=0;}}/*********End**********/
}
int main(void)
{solve();return 0;
}
第4关:阶乘数列
题目描述:求Sn=1!+2!+3!+4!+5!+…+n!
之值,其中n
是一个数字。
输入
一个整数n(1<=n<=20)
输出
输出表达式的值,占一行。
样例输入:
5
样例输出:
153
提示:
用int
可能会溢出,需要用能表示更大范围的long long
int
(注:VC6.0
不支持此类型,VC
下使用可使用__int64
替代)
#include "stdio.h"
long long int hanshu(int x){long long int s=0,a=1;for(int i=1;i<=x;i++){a=a*i;s=s+a;}return s;
}
int main()
{int n;scanf("%d",&n);printf("%lld",hanshu(n));return 0;
}
第3关: 编写函数求表达式的值
题目描述:有如下表达式 s = 1 + 1 / 3 + (1 * 2) / (3 * 5) + (1 * 2 * 3) / (3 * 5 * 7) + .... + (1 * 2 * 3 * .... * n) / (3 * 5 * 7 * ... * (2 * n + 1))
。
编写函数求给出的n所对应的表达式s的值。
输入
一个整数n
输出
输出表达式的值,保留小数点后10位的值。
#include "stdio.h"
double hanshu(int x){double s=1,fenzi=1,fenmu=1;for(int i=1;i<=x;i++){fenzi=fenzi*i;fenmu=fenmu*(2.0*i+1);s=s+fenzi/fenmu;}return s;
}
int main()
{int n;scanf("%d",&n);printf("%.10lf",hanshu(n));return 0;
}
第2关:回文数计算
本关任务:编写函数求区间[200,3000]
中所有的回文数,回文数是正读和反读都是一样的数。如525
, 1551
输入 无需输入
输出 输出区间[200,3000]
中所有的回文数,一行一个回文数,不需要输出其它无关的字符。
202
212
222
232
242
.....
#include<stdio.h>
void solve(){/*********Begin*********/int i,j=0;int a[100]={0};int k=0,g,s,bai,q,b,c,d;for(i=200;i<=3000;i++){if(i>=200&&i<1000){//求出200到1000之间的所有回文数,都是三位g=i%10;s=i/10%10;bai=i/100;if(g==bai){a[k]=i;k++;}}else if(i>=1000&&i<=3000){q=i%10;b=i/10%10;c=i/100%10;d=i/1000;if(q==d&&b==c){a[k]=i;k++;}}}//输出a[100]while(a[j]!=1){printf("%d\n",a[j]);j++;}/*********End**********/
}
int main(void)
{ solve();return 0;
}
第1关:求和
任务描述
题目描述:给你一个n
,要求你编写一个函数求1+2+.......+n.
#include<stdio.h>
//编写函数
int sum_x(int i){int sum=0;for(int j=1;j<=i;j++){sum=sum+j;}return sum;
}
int main(void)
{ /*********Begin*********/int x;scanf("%d",&x);printf("%d",sum_x(x));/*********End**********/ return 0;
}
头歌实验教学平台C语言之函数相关推荐
- 头歌实践教学平台答案(Java实训作业答案)
搜集整理了一份最新最全的头歌(EduCoder)Java实训作业答案,分享给大家.(EduCoder)是信息技术类实践教学平台.(EduCoder)涵盖了计算机.大数据.云计算.人工智能.软件工程.物 ...
- 头歌实践教学平台 MIPS CPU设计(HUST)
实验简介 本实训项目将帮助学生掌握 CPU 控制器设计的基本原理,能利用硬布线控制器的设计原理在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU,该处理器能运行简单的内存冒泡排 ...
- 头歌实践教学平台-Linux网络实战(一)-DNS配置(Ubuntu系统)——保姆级教程
头歌实践教学平台-Linux网络实战(一)-DNS配置(Ubuntu系统) ***写在前面*** 知识补充 相关知识 实验环境准备 安装DNS服务器并开启服务 一.标题配置域名和IP的正解与反解zon ...
- 头歌实践教学平台上如何建项目且通过git上传
头歌实践教学平台上如何建项目且通过git上传 目标:在头歌上建立项目test,并通过git工具将文件上传至头歌中. (1) 首先在https://code.educoder.net/explore页面 ...
- 头歌实践教学平台——计算机数据表示实验(HUST)
当你看到到这篇文章的时候,想必你已经被计算机组成原理实验折磨的不成样子了,没错我也是,经过我这几天的努力终于将这些实验一一完成. 我将源码放在压缩包里了,大家只需要复制代码,放进头歌里,满分过! 点击 ...
- 头歌实践教学平台数据结构与算法:02线性表
针对数据结构02线性表在头歌平台练习过程中的完成代码,关卡数目较多,每题思路单独在每一关中解释.如有其他需求请留言. 第一关 可以把问题转换为:遍历B中的元素,如果该元素不在A中,则把该元素插入到A中 ...
- 头歌实践教学平台数据结构与算法:02线性表——反转链表(拓展)
针对数据结构02线性表--反转链表(拓展)在头歌平台练习过程中的完成代码,每题思路单独在每一关中解释.如有其他需求请留言. 第一关 已知一个带头结点的单链表L,将L反转并返回反转后的单链表.要求将L的 ...
- 头歌实践教学平台数据结构与算法链式线性表——课上练
针对数据结构链式表在头歌平台练习过程中的完成代码,仅仅为作者一次通过(可能并未按照题目要求时间复杂度或空间复杂度),仍有较大优化空间,如有其他需求可留言. #include <stdio.h&g ...
- Python语法基础在线实验闯关_头歌实践教学平台
Python语法基础在线实验闯关 第1关 基本数据类型 第2关 基本数据结构 第3关 基本数据结构访问 第4关 列表append和extend方法 第5关 字符串连接 第6关 字符串拆分和子串查找 第 ...
最新文章
- 在Ubuntu 14.04 64bit上使用JBL Charge2+无线蓝牙音箱听歌指南
- OSSIM系统的安装教程(超详细)
- c++ 互斥量和条件变量
- 【bzoj4080】[Wf2014]Sensor Network 随机化
- hadoop eclipse windows
- 为什么Docker,Vagrant和Ansible等工具比以往更热门
- SQL Server数据库表锁定原理以及如何解除表的锁定
- Operations Manager 2007 R2系列之单台服务器拓扑图监控
- 《HBase权威指南》读书笔记:第一章 简介
- vm虚拟机win7安装镜像方法
- 除了攀附名人、杜撰荣恩录,家谱造假中,还有这件事令人羞耻
- 【C语言】简易版_飞机小游戏
- STM32CbueMX之USB挂载内存虚拟U盘
- 大长今人物系列:长今的心理课——医女张德(转载)
- lm283_BP283X 最小输入输出压差和OVP电压的关系
- 【信息安全-科软课程】Lab2环境变量和Set-UID程序实验
- 使用蓝桥杯单片机做一个智能密码锁可以修改密码
- 系统自带功能之视频压缩
- 无路可逃java攻略_孤岛惊魂5
- poi读取excel多层表头模板写入数据并导出
热门文章
- 中望CAD调用lisp在哪_中望CAD+API接口应用之Lisp篇
- Jmeter 安装后配置环境变量
- 无线蓝牙耳机哪个品牌好?口碑最好的蓝牙耳机
- Adams打开后加载界面后面变黑,无法进入软件
- app端前端框架对比 - Mui与ionic、Cordova 、Weex、React Native对比
- 计算机知识——存储单位换算、扇区、簇、块和页的概念
- iconfont 图标转为字体_如何把你的图标转换成web字体
- RT-Thread之消息队列
- 火影忍者手游打秘境服务器响应超时,《火影忍者手游》关于秘境匹配和战力显示的问题...
- asp.net新生报到管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目