300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言程序设计mooc作业平台答案 C语言程序设计下mooc答案.docx

c语言程序设计mooc作业平台答案 C语言程序设计下mooc答案.docx

时间:2024-06-02 12:41:40

相关推荐

c语言程序设计mooc作业平台答案 C语言程序设计下mooc答案.docx

C语言程序设计下mooc答案.docx

.03.28 06.30 北京理工大学 MOOC C 语言程序设计(下)网上作业答案 第一周编程作业 1、 求最大公约数和最小公倍数( 15分) 题目内容 编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1 和 fun2,分别求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。 输入格式 两个正整数 输出格式 最大公约数和最小公倍数 输入样例 12,40回车 输出样例 最大公约数 4回车 最小公倍数 120回车 时间限制 500ms内存限制 32000kb Code include int fun1int m,int n int r; rmn; return r0nfun1n,r; int fun2int m,int n int t; tm*n/fun1m,n; return t; int main int t,m,n; scanf“d,d“, ifm int main int t,j,i,n10; fori0; i nj1 t nj; nj nj1; nj1 t; fori0;i int gcdint m,int n int r; rmn; return r0ngcdn,r; int main int t,m,n; scanf“d,d“, ifm0) , 求 1357 .2*n-1 的和 输入格式 输入整数 n 输出格式 输出和 输入样例 5回车 输出样例 25回车 时间限制 500ms内存限制 32000kb Code include int funint n int f; ifn1 f1; else ffunn-12; return f; int main int i,m,t0; scanf“d“, fori0;i int funint n ifn20 nn/2; else n3*n1; return n; int main int i,m; scanf“d“, fori1i printf“d,“,m; mfunm; ifm1 break; printf“1nstepdn“,i1; return 0; 2、卖鸭子( 10分) 题目内容 编程调用递归函数。一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了 7个村子后还剩 2只鸭子,问他出发时共赶多少只鸭子经过每个村子时依次卖出多少只鸭子 输入格式 无 输出格式 出发时总鸭子数 每个村子卖出鸭子数 输入样例 无 输出样例 不是结果,仅表示格式 sum25回车 sell8,sell4,回车 时间限制 500ms内存限制 32000kb Code include int funint i int sum; ifi7 sum2; else sumfuni11*2; return sum; int main int i; printf“sumdn“,fun0; fori1;i int main int num 0; int s 0; int i 0; scanf“d“, whilenum s num10; num num/10; i; printf“dn“, s ; return 0; 第四周编程作业 1、对称字符串( 15分) 题目内容 从键盘输入一个字符串,判断是否为对称字符串,若是输出“ YES”,若不是输出“ NO” 输入格式 一个字符串 输出格式 YES or NO 输入样例 1 abcdedcba回车 输出样例 1 YES回车 输入样例 2 1234432回车 输出样例 2 NO回车 时间限制 500ms内存限制 32000kb Code include “stdio.h“ include “string.h“ char s100; int huiwenint a,int b ifabb*paj t*pai; *pai*paj; *pajt; int main int a10,i; for i0; i0 printf“dn“,k; else printf“Non“; return 0; 2、成绩统计( 10 分) 题目内容 有如下学生成绩表,第一列前 4行为学生姓名,第一列最后一行为平均分,表中给定数据为学生成绩(每一列为同一门课) wanglei 78 90 87 92 lihong 88 91 89 78 zhangli 84 76 83 75 liuming 88 90 71 83 AVERAGE 编程输出学生姓名,每个学生的平均分,及各门课程平均分 输入格式 无 输出格式 学生姓名,每个学生的平均分(按行输出) 各门课程平均分(按列输出) (若平均分为整数,则输出整数,若平均分为小数,则保留两位) 输入样例 无 输出样例 wanglei,0.00回车 lihong,0.50回车 zhangli,0.50回车 liuming,80回车 AVERAGE4.50,6.75,2.50,2回车 (仅作输出格式实例展示,不代表最终结果) 时间限制 500ms内存限制 32000kb Code include “stdio.h“ include “string.h“ int main int i,j; float a4478,90,87,92,88,91,89,78,84,76,83,75,88,90,71,83; float A40,B40; char n48“wanglei“,“lihong“,“zhangli“,“liuming“; fori0;i include typedef struct Char_ char ch; char intch; struct Char_ *next; CHAR_; int mainvoid CHAR_ *node NULL; CHAR_ *ch_ NULL; CHAR_ *hear NULL; char zimu a; char panduanzimu; char record; for ; zimu e; zimu ch_ CHAR_ *mallocsizeofCHAR_; if ch_ NULL exit0; ch_-ch 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_ *mallocsizeofCHAR_; if ch_ NULL exit0; 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; else printf“N“; node hear; while node NULL hear node-next; freenode; 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 LinkListmallocsizeofList,P; P L; char c; while1 P-next LinkListmallocsizeofList; P P-next; scanf“cc“, ifc n break; P-next NULL; return L; LinkList MergeLinkListLinkList L1,LinkList L2 LinkList P1 L1-next, P2 L2-next; LinkList L LinkListmallocsizeofList,P; P L; whileP1 P P-next; ifP1-data P2-data P-data P2-data; P2 P2-next; else ifP1-data data P-data P1-data; P1 P1-next; else P-data P1-data; P1 P1-next; P2 P2-next; whileP1 P-next LinkListmallocsizeofList; P P-next; P-data P1-data; P1 P1-next; whileP2 P-next LinkListmallocsizeofList; P P-next; P-data P2-data; P2 P2-next; P-next 0; return L; void ShowListLinkList L LinkList P L-next; whileP-next printf“c “,P-data; P P-next; printf“cn“,P-data; int main LinkList L1,L2,L3; L1 CreateLinkList; L2 CreateLinkList; L3 MergeLinkListL1,L2; ShowListL3; return 0; 第九周编程作业 1、解析字符串( 15分 ) 题目内容 输入一个字符串,要求将其中的字母 n理解为回车符号 n,模拟文件缓冲区读取的数据,并按替换后的数据流解析出其中包括的字符串。(即通过 n分割两个字符串) 输入格式 一个字符串 输出格式 其中包括的字符串 输入样例 abcnde回车 输出样例 abc回车 de回车 时间限制 500ms内存限制 32000kb Code include include include int main int i,j,k; char a100; getsa; kstrlena; printf“c“,a0; fori1;i include void reversechar str,int start,int end char t; ifendstrlenstr reversestr,start,end-1; else ifstart include int main char op; int i,a,b; scanf“dcd“, switchop case printf“d“,ab;break; case -printf“d“,a-b;break; case *printf“d“,a*b;break; case /printf“d“,a/b;break; case printf“d“,ab;break; defaultbreak; return 0; 2、递归的方法计算含多个运算符的四则运算表达式字符串的值( 15 分) 题目内容 请在上一题的基础上,采用递归的方法,计算含多个运算符的四则运算表达式字符串的值 无括号,但要考虑优先级 输入格式 多个运算符的四则运算表达式字符串 输出格式 运算结果 输入样例 3*23 输出样例 9 时间限制 500ms内存限制 32000kb Code include include int main static char op100; static int i,j,k,s,p100; scanf“d“, p0s; fori0;1;i scanf“c“, ifopin break; scanf“d“, forj0;ji;j ifopj*opj/ ifopj* pj*pj1; forkj;ki-1;k opkopk1; pk1pk2; else pj/pj1; forkj;ki-1;k opkopk1; pk1pk2; i;j; forj0;ji;j ifopjopj- ifopj pjpj1; forkj;ki-1;k opkopk1; pk1pk2; else pj-pj1; forkj;ki-1;k opkopk1; pk1pk2; i;j; printf“d“,p0;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。