欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    电大《C++语言程序设计》第1、2、3、4次作业及答案.doc

    • 资源ID:24038519       资源大小:315.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电大《C++语言程序设计》第1、2、3、4次作业及答案.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流电大C+语言程序设计第1、2、3、4次作业及答案.精品文档.第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main()int x=5;switch(2*x-3)case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","defaultn");printf("%sn","switch end.");2. #include<stdio.h>void main()int i,s=0;for(i=1;i<=6;i+)s+=i*i;printf("s=%dn",s);3. #include<stdio.h>void main()int i,s1=0,s2=0;for(i=0;i<10;i+)if(i%2)s1+=i;else s2+=i;printf("%d %dn",s1,s2);4. #include<stdio.h>void main()int n=10,y=1;while(n-)y+;y+;printf("y=%dn",y);5. #include<stdio.h>void main()int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i+)f=f1+f2;printf("%d ",f);if(i%5=0)printf("n");f1=f2;f2=f;printf("n");6. #include<stdio.h>#include<math.h>void main()int i,n;for(n=2;n<=20;n+)int temp=(int)sqrt(n);/sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i+)if(n%i=0)break;if(i>temp)printf("%d ",n);printf("n");7. #include<stdio.h>#include<math.h>const int M=20;void main()int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i+)if(i%2=0)c2+;if(i%3=0)c3+;if(i%5=0)c5+;printf("%d %d %dn",c2,c3,c5);8. #include<stdio.h>#include<math.h>const int M=20;void main()int i,s;for(i=1,s=0;i<15;i+)if(i%2=0 | i%3=0)continue;printf("%d ",i);s+=i;printf("%dn",s);参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1编写一个函数,函数头格式为“void fun4(char *a , int b)”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。2编写一个函数,函数头格式为“double Mean(double aMN , int m , int n)”,要求返回二维数组amn中所有元素的平均值,假定在计算过程是采用变量v存放平均值。3编写一个递归函数“int FF(int a , int n)”,求出数组a中所有元素n个元素之积并返回。4编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+1/n>5的最小n值。5编写一个主函数,求满足不等式22+42+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使用do循环编程。6编写一个主函数,计算并输出n!的值,其中n值由键盘输入。参考答案:1、答案:#include<stdio.h>void fun4(char* a,int b)doif(*a>='0' && *a<='9')b*a-48+;while(*a+);/*void main()char * a="122333444499888"int b10=0;fun4(a,b);for(int i=0;i<10;i+)printf("%d ",bi);2、答案:#include<stdio.h>const int M=2,N=3;double Mean(double aMN, int m,int n )double v=0;for(int i=0;i<m;i+)for(int j=0;j<n;j+)v+=aij;return v/(m*n);/*void main()double a23=1,2,3,4,5,6;printf("%lfn",Mean(a,2,3);3、答案:#include<stdio.h>int FF(int a , int n)int mul=1;if(n=1)mul*=a0;else mul=an-1*FF(a,n-1);return mul;/*void main()int a6=1,2,3,4,5,6;printf("%dn",FF(a,6);4、答案:#include<stdio.h>void main()double sum=0;int n=1;while(true)if(sum + 1/(double)n > 5)break;elsesum += 1/(double)n;n+;printf("%d, %lfn",n,sum);5、答案:#include<stdio.h>void main()int s=0,i=2;dos+=i*i;if(s+(i+2)*(i+2)>=1000)break;else i+=2;while(true);printf("i=%d,s=%d",i,s);6、答案:#include<stdio.h>void main()int s=0,n;printf("请输入n的值:");scanf("%d",&n);for(int i=1;i<=n;i+)s=s*i;printf("n=%d,s=%d",n,s);第三次作业一、写出下列每个程序运行后的输出结果1 程序代码:#include <stdio.h>void SB(char ch) switch(ch) case 'A': case 'a':printf("WW "); break;case 'B': case 'b':printf("GG "); break;case 'C': case 'c':printf("PP "); break;default:printf("BB "); break;void main() char a1 = 'b', a2 = 'C', a3 = 'f'SB(a1); SB(a2); SB(a3); SB('A');printf("n");2 程序代码:#include <stdio.h>#include <stdlib.h>double SD(int a, int b, char op) double x;switch(op) case '+': x = a + b; break;case '-': x = a - b; break;case '*': x = a * b; break;case '/': if(b) x = (double)a/b; else exit(1); break;default: printf("运算符错!n"); exit(1); return x;void main() int x = 20, y = 8;printf("%3.2lf ", SD(x, y, '-');printf("%3.2lf ", SD(x, y, '*');printf("%3.2lfn", SD(x + y, y, '/');3 程序代码:#include <stdio.h>void WF(int x, int y) x = x + y;y = x + y;printf("subs: x, y = %d, %dn", x, y);void main() int x = 18, y = 23;printf("main: x, y = %d, %dn", x, y);WF(x, y);x = 2 * x;printf("main: x, y = %d, %dn", x, y);4 程序代码:#include <stdio.h>#include <string.h>void fun(char ss);void main() char s15 = "567891234"fun(s);printf("%sn", s);void fun(char ss) int i, n = strlen(ss);for(i = 0; i < n / 2; i +) char c = ssi;ssi = ssn - 1 - i;ssn - 1 - i = c;5 程序代码:#include <stdio.h>void InsertSort(int a, int n)int i, j, x;for(i = 1; i < n; i +) / 进行n-1次循环x = ai;for(j = i - 1; j >= 0; j -) / 为x顺序向前寻找合适的插入位置if(x > aj) aj + 1 = aj;else break;aj + 1 = x;void main() int i;int a6 = 20, 15, 32, 47, 36, 28 ;InsertSort(a, 6);for(i = 0; i < 6; i +) printf("%d ", ai);printf("n");6 程序代码:#include <stdio.h>void main() int a8 = 3, 5, 7, 9, 11, 13, 15, 17 ;int i, * p = a;for(i = 0; i < 8; i +) printf("%5d", * p +);if(i + 1) % 4 = 0) printf("n");7 程序代码:#include <stdio.h>int LA(int * a, int n) int i, s = 0;for(i = 0; i < n; i +)s += ai;return s;void main() int a = 5, 10, 15, 20, 25, 30 ;int b = LA(a, 4);int c = LA(a + 2, 3);printf("%d %dn", b, c);8 程序代码:#include <stdio.h>int LB(int * a, int n) int i, s = 1;for(i = 0; i < n; i +) s *= * a +;return s;void main() int a = 1, 2, 3, 4, 2, 4, 5, 2 ;int b = LB(a, 4) + LB(&a3, 4);printf("b=%dn", b);二、写出下列每个函数的功能1 程序代码:int WB(int a, int n, int x) int i;for(i = 0; i < n; i +)if(ai = x) return 1;return 0;2 程序代码:int WC(int a, int n, int k) int c = 0, i;for(i = 0; i < n; i +)if(ai >= k) c +;return c;3 程序代码:#include <stdio.h>#include <stdlib.h>#include <time.h>const int N = 10;int ff(int x, int y) int z;printf("%d + %d = ", x, y);scanf("%d", &z);if(x + y = z) return 1; else return 0;void main() int i, a, b, c = 0;srand(time(0); / 初始化随机数序列for(i = 0; i < N; i +) a = rand() % 20 + 1; / rand()函数产生032767之间的一个随机数b = rand() % 20 + 1;c += ff(a, b);printf("得分:%dn", c * 10);4 * 程序代码:int fun6(int m, int n, int b)if(m < b && n < b) return m * n;else if(m % b = 0 && n % b = 0) return b * fun6(m / b, n / b, b);else return fun6(m, n, + b);5 程序代码:#include <stdio.h>#include <stdlib.h>void LI(int n) int * a = malloc(n * sizeof(int);int i;for(i = 0; i < n; i +) scanf("%d", a + i);for(i = n - 1; i >= 0; i -) printf("%d ", * (a + i);printf("n");free(a);6 程序代码:int LK(double a, int n) double s = 0;int i, m = 0;for(i = 0; i < n; i +) s += ai;s /= n;for(i = 0; i < n; i +)if(ai >= s) m +;return m;参考答案:一、1、答案:运行结果:GG PP BB WW 2、答案:运行结果:12.00 160.00 3.503、答案:运行结果:main: x, y = 18, 23subs: x, y = 41, 64main: x, y = 36, 234、答案:运行结果:4321987655、运行结果:47 36 32 28 20 156、答案:运行结果:3 5 7 911 13 15 177、答案:运行结果:50 608、答案:运行结果:b=184二、1、答案:在整型数组a的前n个元素中查找值为x的元素,找到返回1,找不到返回0。2、答案:统计整型数组a的前n个元素中不小于k的元素个数并返回3、答案:程序随机产生10道20以内整数加法题,请用户回答。并统计得分, 4、答案:调用fun6(m, n, 2)求m和n的最小公倍数5、答案:读入n个整数,然后逆序输出6、答案:返回双精度数数组a的前n个元素中不小于平均值的元素个数。第四次作业一、写出下列每个程序运行后的输出结果1 程序代码:#include <stdio.h>struct Worker char name15; / 姓名int age; / 年龄float pay; / 工资void main() struct Worker x = "wanghua", 52, 2350 ;struct Worker y, * p;y = x; p = &x;printf("%s %d %6.2fn", y.name, y.age, y.pay);printf("%s %d %6.2fn", p->name, p->age + 1, p->pay + 20);2 程序代码:#include <stdio.h>#include <string.h>struct Worker char name15; / 姓名int age; / 年龄float pay; / 工资void main() struct Worker x;char * t = "liouting"int d = 38; float f = 493;strcpy(x.name, t);x.age = d; x.pay = f;x.age +; x.pay *= 2;printf("%s %d %6.2fn", x.name, x.age, x.pay);3 程序代码:#include <stdio.h>struct Worker char name15; / 姓名int age; / 年龄float pay; / 工资int Less(struct Worker r1, struct Worker r2) if(r1.age < r2.age) return 1;else return 0;void main() struct Worker a4 = "abc", 25, 420 , "def", 58, 638 , "ghi", 49, 560 , "jkl", 36, 375 ;struct Worker x = a0;int i;for(i = 1; i < 4; i +)if(Less(x, ai) x = ai;printf("%s %d %6.2fn", x.name, x.age, x.pay);二、写出下列每个函数的功能1 程序代码:struct Worker char name15; / 姓名int age; / 年龄float pay; / 工资void QA(struct Worker a, int n) int i;for(i = 1; i < n; i +)scanf("%s %d %f", &ai.name, &ai.age, &ai.pay);2 程序代码:struct StrNode char name15; / 字符串域struct StrNode * next; / 指针域struct StrNode * QB(int n) struct StrNode * f, * p;if(n = 0) return NULL;f = malloc(sizeof(struct StrNode);scanf("%s", f->name);p = f;while(- n) p = p->next = malloc(sizeof(struct StrNode);scanf("%s", p->name);p->next = NULL;return f;3 程序代码:struct IntNode int data; / 结点值域struct IntNode * next; / 结点指针域struct IntNode * FindMax(struct IntNode * f)struct IntNode * p = f;if(! f) return NULL;f = f->next;while(f) if(f->data < p->data) p = f;f = f->next;return p;4 * 程序代码:struct IntNode int data; / 结点值域struct IntNode * next; / 结点指针域int Count(struct IntNode * f)int c = 0;while(f) c +;f = f->next;return c;5 程序代码:struct IntNode int data; / 结点值域struct IntNode * next; / 结点指针域struct IntNode * Input(int n)struct IntNode * f, * p;f = malloc(sizeof(struct IntNode);if(n = 0) return NULL;f->next = NULL;printf("从键盘输入%d个整数:", n);while(n -) scanf("%d", &(f->data);p = f;f = malloc(sizeof(struct IntNode);f->next = p;return f->next;6 程序代码:#include <stdio.h>#include <stdlib.h>#include <string.h>void JA(char * fname)FILE * fout = fopen(fname, "w");char a20;printf("输入若干个字符串,每个字符串长度小于20,字符串end作为结束标志n");while(1) scanf("%s", a);if(strcmp(a, "end") = 0) break;fputs(a, fout);fputc('n', fout);fclose(fout);void main()char * p = "d:xxkxuxk1.txt"JA(p);参考答案:一、1、答案:运行结果:wanghua 52 2350.00wanghua 53 2370.002、答案:运行结果:liouting 39 986.003、答案:运行结果:def 58 638.00二、1、答案:从标准输入设备读入n-1个人员的信息,依次存到结构数组的a1到an-1元素中2、答案:创建具有n个struct StrNode结点的单向链表并返回其表头结点地址,n为0时返回NULL。3、答案:函数功能:查找单向链表中结点值域最大的结点,并返回其地址。如链表为空则返回NULL4、答案:函数功能:统计并返回单向链表结点个数5、答案:函数功能:从表尾结点开始,逆序创建具有n个struct IntNode结点的单向链表并返回其表头结点地址,n为0时返回NULL6、答案:函数功能:将输入的若干个字符串保存到文本文件d:xxkxuxk1.txt中,每个字符串一行。输入的单个字符串长度必须小于20,输入字符串end结束

    注意事项

    本文(电大《C++语言程序设计》第1、2、3、4次作业及答案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开