|
西南大学网络与继续教育学院课程考试试题卷
类别:网教 专业:计算机科学与技术 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 <stdio.h>
#include <math.h>
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分。
西南大学课程考试机考大
|
|