|
西南大学网络与继续教育学院课程考试试题卷
2 k9 B& `2 t5 F+ H X. ^( h) X) {/ X8 Y; j+ @# F: q
类别:网教 专业:计算机科学与技术 2018年6月! ?% X9 d8 @6 Q5 h! d: W4 b4 K
课程名称【编号】:C语言【0039】 A卷" C6 W% ^2 L6 g* t
大作业 满分:100分, _8 a+ O" I/ S# V
! U# P9 @4 q% d; e一、大作业题目* t- g, A! }+ i$ B7 Z$ s
1.简述题(共30分)
# y3 s$ @/ X0 C- d, m (1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)
+ B" W3 q" l& q. \9 Z% E& _ (2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分)
( v# z; F6 ~$ B (3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分)
' } S- z3 l6 n) a9 L. n
% l7 x" E& i3 q9 K) s! \! L+ D2..编程题(共40分)
" j {# ]; V- Z% C# C0 t0 I(1) 编写一程序求sum= 的值。要求保留小数点后3位。- j$ S& f7 d/ L# E6 i$ G
(2) 编写程序求100~200之间的所有奇数之和,并统计其个数2 h/ X3 I$ U8 @% f
(3)从键盘上任意输入两个正整数m和n,求其最大公约数。( a& F& P# u. I* E1 m. a" O ~( M7 D
(4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。2 p! |: a) L8 _" `
(5) 编写程序打印下列图案
* y: o% H2 V. M6 k B3 t 1
2 F9 V2 V: }8 p) u0 J 123
" {( ?, a3 J z! b 1234, H \ {0 Q* u; O/ w, F3 Q
12345: i& {: z! n0 B2 S
(6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。& N: S( c1 _# A0 a+ t% K
1 {3 Y% R, G8 _* h; }3. 依据下列提供的程序回答问题(共30分)
9 x7 D5 x! j2 t6 F: i& r5 I#include <stdio.h>. A9 g5 l8 E+ }8 C
#include <math.h>
1 L: d Q; x) F. Bint fun(int x)
" _; l+ i/ w* Z{int s=0;1 Y/ b. n/ g O ]0 t3 L
while(x!=0)' ]3 Z+ g" _- _( }
{s=s+x%10 ;
" Z8 ^0 J; N/ S! d( u' F" _" P; K6 g! j x=x/10;
9 u/ L7 o" n H( S! [* n; p) a2 { }4 a2 h0 g. Z+ k' P
return s;
# f: l" ~/ c8 Z, Z( u}$ @/ V- J7 E/ |/ \ J* ~/ t+ u
void main()$ r6 C Z7 ^; s% q y& a
{int a[11],b[11];: |7 `% b" G' _7 E4 h- J# _
int i,j,p,temp;
9 G2 F3 S, T0 k8 P# i; Z4 ]( L: X( Q& b0 m- Z
for(i=0;i<10;i++)//从键盘输入10个正的整数
7 a3 [( P3 N( O( ^! r' I{printf("a[%d]=",i); T$ R0 ~+ V1 u7 v4 J
scanf("%d",&a[i]);; @, `) M/ n5 O5 k$ @
}1 G+ T' ]% Z' X5 I3 w% e N8 k5 Z
for(i=0;i<10;i++)1 X9 F3 J3 M3 V
b[i]=fun(a[i]);3 }1 E8 h2 ]( n7 y, {+ }/ O# w
for(i=0;i<9;i++) //对40个升序排列
: @; H: U f& M7 ^, ?2 r; ^0 A {p=i;
4 k; S; b8 A) L$ ?* a$ { for(j=i+1;j<10;j++)
8 r3 f" n3 A4 o, m if(b[p]>b[j]) p=j;0 k& R8 `) ?; {! H# I
if(p!=i)
+ ~& N8 k$ j( y. Y0 X {temp=b[p]; b[p]=b[i]; b[i]=temp;}
% r5 {7 u7 p4 M }" G! ?9 P# F$ B5 x
printf("排好序的数为:\n");
+ _2 x& i: F) d' V1 ]for(i=0;i <10;i++) printf("%5d",b[i]);- ~' [- w, {# ?! B" w/ G
}+ [: L. f; d7 R. @" v
(1)上述提供程序中,函数fun的功能是什么?
) r' f# F5 M- b* D" d! {(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。
+ J' X2 B! t4 p( n7 x(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?
3 n+ D! d' B8 L( ~$ w二、大作业要求 n/ `% J$ d/ }0 h4 i
大作业共需要完成3个大题:
. a3 Q; a0 s. s5 x: o! [- D 第1题,满分30分;
1 q9 o. R: O& x3 P 第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;
# D/ ^ u4 ~* h. r2 ? 第3题(1)-(3)必做,满分30分。
: D4 E; ~0 j/ E& m
4 W1 D- c- K1 M- 1 -
3 r; C- U, i4 P5 r7 R! |& M0 f1 j+ \ N
|
|