西南大学网络与继续教育学院课程考试试题卷 类别:网教 专业:计算机科学与技术 2018年6月 课程名称【编号】:C语言【0039】 A卷 大作业 满分:100分 一、大作业题目 1.简述题(共30分) (1)"构建程序设计的思想和方法、提升阅读程序能力和编写程序能力"是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分) (2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分) (3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分) 2..编程题(共40分) (1) 编写一程序求sum= 的值。要求保留小数点后3位。 (2) 编写程序求100~200之间的所有奇数之和,并统计其个数 (3)从键盘上任意输入两个正整数m和n,求其最大公约数。 (4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。 (5) 编写程序打印下列图案 1 123 1234 12345 (6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。 3. 依据下列提供的程序回答问题(共30分) #include #include int fun(int x) {int s=0; while(x!=0) {s=s+x%10 ; x=x/10; } return s; } void main() {int a[11],b[11]; int i,j,p,temp; for(i=0;i<10;i++)//从键盘输入10个正的整数 {printf("a[%d]=",i); scanf("%d",&a[i]); } for(i=0;i<10;i++) b[i]=fun(a[i]); for(i=0;i<9;i++) //对40个升序排列 {p=i; for(j=i+1;j<10;j++) if(b[p]>b[j]) p=j; if(p!=i) {temp=b[p]; b[p]=b[i]; b[i]=temp;} } printf("排好序的数为:\n"); for(i=0;i <10;i++) printf("%5d",b[i]); } (1)上述提供程序中,函数fun的功能是什么? (2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。 (3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么? 二、大作业要求 大作业共需要完成3个大题: 第1题,满分30分; 第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分; 第3题(1)-(3)必做,满分30分。 ?? ?? ?? ?? - 1 - (责任编辑:admin)要这答案加QQ:800020900 或加微信:q800020900 获取 |