|
一、大作业题目3 l O# r! ^9 ]7 P
1.简述题(共30分); x$ M+ K3 A3 x2 ?/ S
(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)4 Z) s3 _4 r5 E( F
(2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分)
1 V# E8 m I' a1 r* m' O(3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分)
0 @- J, \- r) F' I8 g
3 J" X# `0 M7 z8 m2..编程题(共40分)
/ j4 c* q- t% q' r- i(1) 编写一程序求sum= 的值。要求保留小数点后3位。" ~% q/ A ^! D3 m
(2) 编写程序求100~200之间的所有奇数之和,并统计其个数
' T0 V5 g6 K# j6 j6 y(3)从键盘上任意输入两个正整数m和n,求其最大公约数。
* O# I2 t6 _/ F(4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。, `, t: k1 h/ |9 F% a
(5) 编写程序打印下列图案# F c) T _: N9 h; j$ a4 o: I. I
1/ i' `* {& W* d" W+ R9 g
123 1234 12345
- C. i$ C( T% d! C9 n4 O2 `2 i% i0 W(6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。
F1 S3 A. D1 p, b
7 Y) ?4 M7 f. E- \3. 依据下列提供的程序回答问题(共30分)9 U% Z: f5 [- F' m
#include <stdio.h>4 h( Y, g [- U. B/ M% \
#include <math.h>
$ p. h- g$ _0 P# h/ sint fun(int x)
! B K8 y7 L5 N9 ~{int s=0;
' M q( [" _4 ^3 D while(x!=0)6 L* M& f4 p" _8 A4 i7 K
{s=s+x%10 ;
2 c* z0 v+ S5 a0 f x=x/10;. f# a8 Q( e: U8 y! c
}
# {9 F4 U8 b4 u- r) qreturn s;
9 y9 B- y. ^: `0 n+ S }& d}- E. q! b1 Q+ B3 t1 \, I8 K/ L
void main(), J- G+ {& ^. |- _
{int a[11],b[11];% {$ Y3 t, P# u- n$ m: C
int i,j,p,temp;
^' D* T; {( J4 L" P; ]; C! o a+ t- E- h- B- q* H! u9 r( X, z
for(i=0;i<10;i++)//从键盘输入10个正的整数
3 v7 [% t6 n. U; Q$ ^{printf("a[%d]=",i);
/ W6 o$ M8 k* d; W! Iscanf("%d",&a[i]);2 H) R! h% k6 b4 w
}5 u/ i1 G% P* {, ~. k% z- A6 b
for(i=0;i<10;i++)
$ R6 ~/ l6 t4 q/ |b[i]=fun(a[i]);
& t6 ?, |% z+ y7 ^2 @; `6 @- {for(i=0;i<9;i++) //对40个升序排列
" J1 S/ r+ I% V {p=i;
e2 k: A! X/ K# |( h; H+ p' v9 X* k for(j=i+1;j<10;j++)
: p' F* S9 S! ~. Y% \ if(b[p]>b[j]) p=j;
1 q6 Y$ F; q. s/ q3 w$ c6 x. y$ d if(p!=i), Q- d! d; e# ?( m' d; Q, K. n# B
{temp=b[p]; b[p]=b[i]; b[i]=temp;}
. S( K/ \: |0 z' j1 p3 c/ h4 m( x}
" N: o. N9 H. G& yprintf("排好序的数为:\n");
+ T' _+ H$ f. c' rfor(i=0;i <10;i++) printf("%5d",b[i]); K9 X. }6 o9 v9 X. e2 A
}1 `. P5 p% E$ V9 p h
(1)上述提供程序中,函数fun的功能是什么?' n/ u8 ~$ h8 V2 Z0 N$ O4 l9 m9 ?
(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。
# ^& v$ \! O. t& ~. d(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?
4 ~9 v: A% M# h# h4 l二、大作业要求# N$ z" m$ n, k- b
大作业共需要完成3个大题:; \- ?) q# j9 C1 p( y4 l
第1题,满分30分;
) v# E& q/ l5 k! r& W+ N第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;% k& Y; b$ i& |# ?, j) n
第3题(1)-(3)必做,满分30分。; x: ?( s s. p9 x* Q
! ?' B, H- e- A0 P/ H+ ?1 N
西南大学2018年6月大作业
6 w; p& K% @/ @9 S2 C8 x' g( m' @: k |
|