0039《C语言》-答卷共4页文档.doc
如有侵权,请联系网站删除,仅供学习与交流0039C语言-答卷【精品文档】第 4 页西南大学网络与继续教育学院课程考试试题卷类别:网教 专业:计算机应用技术,计算机教育 2016年12月课程名称【编号】: C语言程序设计 【0039】 A卷大作业 满分:100 分一、大作业题目:1.简述题(共30分)通过你对C语言程序设计课程的学习,你认为语言具有哪些特点?并简述算法、程序设计语言与程序的区别与联系。在C语言中程序有哪三种基本结构?实现这三种基本结构的主要语句有哪些?2.编程题(1) 编写一个函数计算函数f(x,y)=x2+y2+sin(x)的 值,要求有输入输出提示,结果保留小数点后3位。(2)输出100-900之间的所有奇数,并求出这些奇数的平均值输出。(3)编写一个函数fun求出分数序列的前n项之和,再写一主函数测试其功能。(4)编写程序打印下列图案(5)写一个函数将一个字符串中的大写字母转换为小写,再写一个测试函数测试其功能。不允许使用strlwr函数(6)从键盘上任意输入20个2位或3位整数存放在array数组中,找出array数组中的能够被7整除的数存放在数组b中,并对b数组的值按升序排列。要求:(a)编写一个sort(int word,inta)函数实现排序功能。(b)除sort函数外,其余在主函数内完成,但主函数必须调用sort函数实现排序功能。(c)程序必须有输入输出提示。3. 依据下列提供的程序回答问题#include <stdio.h>#include <math.h>int f(int x)int i; for(i=2;i<=sqrt(x);i+) if(x%i=0) return 0; return 1; void main()int a10,i,n=0; for(i=0;i<10;i+) scanf("%d",&ai); for(i=0;i<10;i+) if( f(ai)=1 ) printf("%5d",ai);n+; printf("n满足条件的数的个数为%d",n);(1) 上述提供程序中,函数f的功能是什么?(2)请依据提供的函数f的代码程序,画出其的传统流程图或N-S图或自然语言描述。(3)在VC6.0环境下,运行上述程序时,若输入的数据序列为97,35,17,110,3,11,45,43,7,89其输出结果是什么?二、大作业要求:大作业共需要完成3个大题:第1题,满分30分;第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。答:一,1. 简洁紧凑、灵活方便 2. 运算符丰富 3. 数据结构丰富 4. C是结构式语言 5. C语法限制不太严格、程序设计自由度大 6. C语言允许直接访问物理地址,可以直接对硬件进行操作 7. C语言程序生成代码质量高,程序执行效率高 8. C语言适用范围大,可移植性好顺序结构,选择结构,循环结构C语言的三种基本结构:顺序结构、选择结构(if语句)、循环结构(for、while、do-while)二,1,2,#include <stdio.h>int main()int i,sum=0;for(i=101;i<200;i=i+2)sum += i;printf("101,103.+199 = %d",sum);return 0;3,#include <stdio.h>void fun(int n)int a, b, c, k; double s;s = 0.0; a = 2; b = 1;for ( k = 1; k <= n; k+ ) s = s + (Double)a / b;c = a; a = a + b; b = c;return s;main( )int n = 5;printf( "nThe value of function is: %lfn", fun ( n ) );4#include<stdio.h>void main() int i,j; for(i=0;i<5;i+) for(j=0;j<=i+1;j+) printf("*"); printf("n");5,#include "iostream"#include "windows.h"char* LToB(char* pstr,int length,char* buffer);char* BToL(char* pstr,int length,char* buffer);int main()char* pstr = "I'm ZhiYanKe,I'm 22 Years Old!你好"int length = 33;char buffer100=0;LToB(pstr,length,buffer); BToL(pstr,length,buffer);return 0;char* LToB(char* pstr,int length,char* buffer) for (;length>=0;)int tmp=0;int tmpchar=0;label01: if(length>=0)if(pstr)<97)goto label02; if(pstr>=122)goto label02; buffer=pstr-32; length-; tmp+; goto label01;label02:buffer=pstr;length-;tmp+; goto label01;printf("%sn",buffer);return pstr;char* BToL(char* pstr,int length,char* buffer)for (;length>=0;)int tmp=0;int tmpchar=0;label01: if(length>=0)if(pstr)<65)goto label02; if(pstr>90)goto label02; buffer=pstr+32;length-;tmp+;goto label01;label02:buffer=pstr;length-;tmp+;goto label01;printf("%sn",buffer);return pstr;6,#include <stdio.h>#define NUM 20;void input(int p);/void sort(int p);int main() int i; int aNUM,bNUM; input(a); printf("b数组排序前:n"); for(i=0;i<NUM;i+) bi=ai%100; printf("b%d=%dn",i,bi); sort(b); printf("b数组排序后:n"); for(i=0;i<NUM;i+) printf("b%d=%dn",i,bi); getchar();void input(int p) int i; printf("请输入三位或四位整数:n"); for(i=0;i<NUM;i+) while(1) printf("a%d=",i); scanf("%d",&pi); if(pi>99&&pi<10000) break; else printf("你输入的数错误,请重新输入:n");static void sort(int p) int i,j,temp; for(i=0;i<NUM;i+) for(j=i;j<NUM;j+) if(pi<pj) temp=pi; pi=pj; pj=temp;3. 依据下列提供的程序回答问题 1>,f的作用是判断是否为质数2>3>满足条件的数的个数为6