C语言程序设计下mooc答案.pdf_第1页
C语言程序设计下mooc答案.pdf_第2页
C语言程序设计下mooc答案.pdf_第3页
C语言程序设计下mooc答案.pdf_第4页
C语言程序设计下mooc答案.pdf_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2016.03.2806.30 2016.03.2806.30 北京理工大学 北京理工大学 MOOCMOOC C C语言程序设计(下)网上作业答案语言程序设计(下)网上作业答案 第一周编程作业第一周编程作业 1 1、求最大公约数和最小公倍数(15 分) 题目内容: 编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别 求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。 输入格式: 两个正整数 输出格式: 最大公约数和最小公倍数 输入样例: 12,40回车 输出样例: 最大公约数:4回车 最小公倍数:120回车 时间限制:500ms 内存限制:32000kb Code: #include int fun1(int m,int n) int r; r=m%n; return r=0?n:fun1(n,r); int fun2(int m,int n) int t; t=m*n/fun1(m,n); return t; int main() int t,m,n; scanf(“%d,%d“, if(mch = zimu; ch_-next = NULL; if (node = NULL) node = ch_; else node-next = ch_; node = node-next; if (hear = NULL) hear = node; for (zimu -= 2; zimu != (a - 1); zimu-) ch_ = (CHAR_ *)malloc(sizeof(CHAR_); if (ch_ = NULL) exit(0); ch_-ch = zimu; ch_-next = NULL; node-next = ch_; node = node-next; for (node = hear, zimu = 0; node != NULL; node = node-next, zimu+) node-intch = zimu; scanf(“%c“, node = hear; if (panduanzimu = 0 break; node = node-next; else if (panduanzimu = a node = node-next; printf(“%c“, record); elseprintf(“N“); node = hear; while (node != NULL) hear = node-next; free(node); node = hear; return 0; 2、链表合并(15 分) 题目内容: 实现两个由单项链表存储的有序字母数据的合并,如有重复的则只保留一个。 例如:给定a, c ,f, b, e, g合并后结果为a, b, c , e , f , g。 输入格式: 两个有序字母数据 输出格式: 合并后的字母数据 输入样例1: a b c回车 d e f回车 输出样例1: a b c d e f回车 输入样例2: e f g回车 e g m回车 输出样例2: e f g m回车 时间限制:500ms 内存限制:32000kb Code: #include #include typedef struct Node char data; struct Node *next; List,*LinkList; List* CreateLinkList() LinkList L = (LinkList)malloc(sizeof(List),P; P = L; char c; while(1) P-next = (LinkList)malloc(sizeof(List); P = P-next; scanf(“%c%c“, if(c = n) break; P-next = NULL; return L; LinkList MergeLinkList(LinkList L1,LinkList L2) LinkList P1 = L1-next, P2 = L2-next; LinkList L = (LinkList)malloc(sizeof(List),P; P = L; while(P1 P = P-next; if(P1-data P2-data) P-data = P2-data; P2 = P2-next; else if(P1-data data) P-data = P1-data; P1 = P1-next; else P-data = P1-data; P1 = P1-next; P2 = P2-next; while(P1) P-next = (LinkList)malloc(sizeof(List); P = P-next; P-data = P1-data; P1 = P1-next; while(P2) P-next = (LinkList)malloc(sizeof(List); P = P-next; P-data = P2-data; P2 = P2-next; P-next = 0; return L; void ShowList(LinkList L) LinkList P = L-next; while(P-next) printf(“%c “,P-data); P = P-next; printf(“%cn“,P-data); int main() LinkList L1,L2,L3; L1 = CreateLinkList(); L2 = CreateLinkList(); L3 = MergeLinkList(L1,L2); ShowList(L3); return 0; 第九周编程作业第九周编程作业 1、解析字符串(15 分) 题目内容: 输入一个字符串,要求将其中的字母n理解为回车符号n,模拟文件缓冲区 读取的数据,并按替换后的数据流解析出其中包括的字符串。(即通过n分割两个字符 串) 输入格式: 一个字符串 输出格式: 其中包括的字符串 输入样例: abcnde回车 输出样例: abc回车 de回车 时间限制:500ms 内存限制:32000kb Code: #include #include #include int main() int i,j,k; char a100; gets(a); k=strlen(a); printf(“%c“,a0); for(i=1;i=strlen(str) reverse(str,start,end-1); else if(startend) t=strstart; strstart=strend; strend=t; reverse(str,start+1,end-1); int main( ) char str100; int start, end; gets(str); start=0;end=strlen(str); reverse(str,start,end); printf(“%sn“, str); return 0; 第十周编程作业第十周编程作业 1、基本四则运算表达式(15 分) 题目内容: 请结合 C 语言语法知识以及对编译过程的理解,完成一个仅含一个运算符的基本四则运算 表达式字符串的计算。 输入格式: 基本四则运算表达式字符串 输出格式: 运算结果 输入样例: 1+2 输出样例: 3 时间限制:500ms 内存限制:32000kb Code: #include #include int main() char op; int i,a,b; scanf(“%d%c%d“, switch(op) case +:printf(“%d“,a+b);break; case -:printf(“%d“,a-b);break; case *:printf(“%d“,a*b);break; case /:printf(“%d“,a/b);break; case %:printf(“%d“,a%b);break; default:break; return 0; 2、递归的方法计算含多个运算符的四则运算表达式字符串的值(15 分) 题目内容: 请在上一题的基础上,采用递归的方法,计算含多个运算符的四则运算表达式字符串的值 (无括号,但要考虑优先级) 输入格式: 多个运算符的四则运算表达式字符串 输出格式: 运算结果 输入样例: 3*2+3 输出样例: 9 时间限制:500ms 内存限制:32000kb Code: #include #include int main() static char op100; static int i,j,k,s,p100; scanf(“%d“, p0=s; for(i=0;1;i+) scanf(“%c“, if(opi=n) break; scanf(“%d“, for(j=0;ji;j+) if(opj=*|opj=/) if(opj=*) pj*=pj+1; for(k=j;ki-1;k+) opk=opk+1; pk+1=pk+2; else pj/=pj+1; for(k=j;ki-1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论