本人能力有限,发出只为帮助有需要的人。

建议同学们自己写完后再进行讨论。

1. (单选题)有函数定义:int f(int x,int y);则下列函数调用正确的为(    )

  • A.int n; n=f();
  • B. int n,a=0,b=1;n=int f(x,y);
  • C. int n,a=0,b=1;n=f(a,b);
  • D.int n,a=0,b=1; n=f(int a,int b);

答案选C

二. 程序题(共5题,83.4分)

2. (程序题)

题目编号:Exp03-Basic01,GJBook3-05-02

题目名称:组合问题

题目描述:编写程序,输入m,n的值,计算并输出函数f的值。

输入:一个整数m和一个整数n(m,n≤20)。

输出:函数f的值。

样例1:

输入:-1  2

输出:-1

样例2:

输入:2  2

输出:1

#include<stdio.h>
long long fac(long long x);
int main(void)
{int m,n,a;scanf("%d %d",&m,&n);if(m<n&&m>0&&n>0)printf("0");else if(m==n&&m>0&&n>0)printf("1");else if(m>n&&m>0&&n>0)//运用阶乘的函数{a=fac(m)/(fac(m-n)*fac(n));printf("%d",a);}elseprintf("-1");return 0;
}
long long fac(long long x)//fac函数为阶乘函数
//n,m小于20需要用longlong类型
{int k;for(k=(x-1);k>0;k--){x*=k;}return x;
}

3. (程序题)

题目编号:Exp03-Basic02,GJBook3-05-06

题目名称:逆序数

题目描述:编写函数,求任意位自然数的逆序数,例如5432就是2345的逆序数。

输入:任意一个整数(<10^18) 。

输出:如果输入的不是自然数,则输出NULL;否则输出对应的逆序数。
样例1:

输入:120

输出:21

样例2:

输入:999999999999999999

输出:999999999999999999

样例3:

输入:-1357

输出:NULL

#include<stdio.h>
int LastNumber(long long x);
int main()
{long long a;scanf("%lld",&a);if(a<0)printf("NULL");elseLastNumber(a);
}
int LastNumber(long long x)//取最后一个字母
{long long n;int k=0,m;while(x>0){n=x/10;m=x-n*10;x=(x-m)/10;k++;//事实上这段代码还是有bug的
//此代码无法判断多个尾数为0
//1200逆序应为21,此代码跑出的是021if(m!=0||k!=1)printf("%d",m);}return 0;
}

4. (程序题)

题目编号 :Exp03-Basic03

题目名称:多边形周长

题目描述:编写程序,求由键盘按顺时针方向输入n(0<n<=10)个顶点坐标的多边形周长(测试数据已保证当n>2时,各点按输入方向依次连接可构成封闭的n边形)。

输入:第一行输入一个整数,作为n值;以后每行两个浮点数(double),为多边形各顶点的坐标。

输出:多边形的周长,精确到小数点后2位。

样例1:

输入;
4 0  0 0  1 1  1 1  0
输出:4.00

样例2:

输入: 1 2 3
输出: 0.00
样例3:
输入: 2 2 3 2 4
输出: 1.00

#include<stdio.h>
#include<math.h>
double f(double x,double y,double m,double n);
int main(void)
{double b,c,d,e,u,v;//题目要求点的输入格式为doubleint k,a;float sum=0;scanf("%d",&a);if(a==1)//a为一的情况{scanf("%lf %lf",&b,&c);printf("0.00");}else{scanf("%lf %lf",&b,&c);//利用循环读取u=b;v=c;for(k=(a-1);k>0;k--){scanf("%lf %lf",&d,&e);sum+=f(b,c,d,e);b=d;c=e;}//printf("%d\n",a);if(a>=3)//a>2时要考虑首尾点间的距离{sum+=f(u,v,d,e);}printf("%.2lf",sum);}
}
double f(double x,double y,double m,double n)//求两点间距离
{double f;f=sqrt((x-m)*(x-m)+(y-n)*(y-n));//printf("%f\n",f);return f;
}

5. (程序题)

题目编号:Exp03-Extend01,GJBook3-12-04

题目名称:自守数

题目描述:若一个正整数a满足条件 a^2 的尾数等于a,则称a为自守数,例如:

25^2=625 、76^2=5776 、9376^2=87909376 都是自守数。

编写程序,求小于等于n的所有自守数。

输入:从键盘随机输入一个正整数n(不超过10000000)。

输出:输出小于等于n的所有自守数,每个数之间以一个西文空格间隔。

样例1:

输入:10
输出:1 5 6

样例2:

输入:100
输出:1 5 6 25 76

#include<stdio.h>
long long g(long long x);
int main(void)
{long long m,j,a,b,k;//必须用long long才能通过long n;scanf("%ld",&n);printf("1");//先输出1以控制格式for(k=2;k<n;k++)//从2开始保证没有多的1{m=k*k;a=10000000;//不要用while算a,会超时,题目已给出a的大小for(j=a;j>0;j/=10){b=m%j;if(b==k){printf(" %ld",k);//注意空格break;//跳出循环保证不会出现多次一个数}}}return 0;
}

6. (程序题)

【计2014级期中试题】素数判断。

问题描述:一个大于1的自然数,只能被1和它本身整除,不能被其它除0以外的自然数整除,则该数称之为素数。编写函数,判断一个整数是否为素数。

注:判断素数部分必须编写成一个独立于main()函数的其它函数。

输入:一个大于1的自然数

输出:根据是否是素数输出Y/N

样例1:

输入:3

输出:Y

样例2:

输入:51

输出:N

#include<stdio.h>
int IsPrime(int x);
int main(void)
{int n;scanf("%d",&n);IsPrime(n);return 0;
}
int IsPrime(int x)
{int k,m=0;for(k=2;k<x;k++)//注意k从2开始{if((x%k)==0)m=0;elsem++;}if(m==(x-2))printf("Y");elseprintf("N");return 0;//返回值为0
}

吉林大学 超星慕课 高级语言程序设计 实验03 模块化程序设计(2022级)相关推荐

  1. 吉林大学超星慕课平台——高级语言程序设计 实验03 模块化程序设计(2022级)

    实验03 模块化程序设计(2022级) 一. 单选题(共1题,16.6分) 1. (单选题)有函数定义:int f(int x,int y):则下列函数调用正确的为(    ) A.int n; n= ...

  2. 吉林大学 超星慕课 高级语言程序设计 实验04 数组及其在程序设计中的应用(2022级)程序第01——03题

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. EX04开始难度提升,由于篇幅问题就分开发了. 1.(编程题) 题目编号:Exp04-Basic01,GJBook3例-06- ...

  3. 吉林大学超星慕课高级语言程序设计课后作业(2022版)实验00

    1.第一个C程序. 问题描述: 通常学习一门编程语言,开始的第一个程序就是将"Hello World"显示在屏幕上.请大家参照如下代码的样子,写出自己的第一个C语言程序.亲,一定要 ...

  4. 吉林大学 超星慕课 高级语言程序设计 实验06 结构体(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 1.题目名称:复数运算 题目描述:复数可以写成A+Bi的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i^2=-1. 编 ...

  5. 吉林大学 超星慕课 高级语言程序设计 实验04 数组及其在程序设计中的应用 (2022级) 程序第04一13题

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 第三题后难度明显下降,所以后面的就一起发了 4. (程序题) 题目编号:Exp04-Basic04,GJBook3-06-19 ...

  6. 吉林大学 超星慕课 高级语言程序设计 实验07 递归程序设计(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 1.题目名称:排列组合 问题描述:编写程序求函数C(m,n)的值. 输入:从键盘随机输入一个自然数和一个非负整数,分别作为m和 ...

  7. 吉林大学 超星慕课 高级语言程序设计 实验02 分支与循环程序设计(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. Exp02-Basic01 #include<stdio.h> int main(void) {float a,b ...

  8. 吉林大学 超星慕课 高级语言程序设计 实验09 动态数据组织(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 1. (程序题) 题目编号:Exp09-Basic01 题目名称:创建单链表 题目描述:请填写缺失代码完成程序,实现如下功能: ...

  9. 吉林大学 超星慕课 高级语言程序设计 实验05 指针及其在程序设计中的应用(2022级)

    本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. 1.题目名称:字符串长度 题目描述:编写程序实现:使用自编函数int strlen(char *str),求字符串str长度: ...

最新文章

  1. vectorPoint points未声明的标识符
  2. 【项目实战】多场景下的图表可视化表达
  3. 编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
  4. IEC 6-1131/3的5种标准编程语言
  5. 普通类和抽象类有哪些区别?
  6. 【opencv学习】基于透视变换和OCR识别的小票识别
  7. python 生成器对象_Python 生成器, 迭代器, 可迭代对象的区别
  8. Hybrid App是如何实现网页语言与程序语言的混合?谁占主体?
  9. 现在出纳记账手写还是用计算机,出纳现金日记账的手写样本
  10. BASIC语言、FreeBasic语言
  11. 商品信息mysql设计_电商-商品信息 - 数据库设计 - 数据库表结构 - 果创云
  12. ExtJs6 为Ext.Img对象添加单机事件
  13. 做课题与科研项目常用的研究方法
  14. ODL之VTN详解-Mac Map
  15. iPad/iPhone与电脑共享文件
  16. linux禁用ssh弱加密算法,ssh弱加密算法漏洞修复
  17. 法官的假发是用来吓人的?
  18. tp5+mysql写入特殊表情符号数据时失败
  19. Ubuntu9.04 mplayer中文字幕乱码解决
  20. Shell脚本使用jq解析json

热门文章

  1. 概率论—高中基础知识
  2. NeurIPS 2022 | 正则化分子构象场
  3. 八路抢答器c语言程序,八路抢答器-51单片机(附Proteus仿真、C代码、原理图及PCB、论文和元器件清单)...
  4. LWIP应用开发|LWIP协议栈
  5. 并发与并行(一):基本概念
  6. vue-countdown
  7. 断点是什么,断点有哪几种类型?
  8. Career Path(职业前景人生规划)的几点见解
  9. MySQL数据库提示:Communications link failure,The last packet succe
  10. Linux入门【第二回】 基本指令(相对路径,绝对路径)