|
一、大作业题目
6 r/ {5 x/ T9 n, X' D1.简述题(共30分)
2 U( D) t4 ~$ J$ m(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)' z* m8 Q. ]6 y; s' K2 m# V
(2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分)
) l8 L# l2 y$ v/ R! b/ ?- A+ X(3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分) A, ^' }8 x4 v C) F
: I8 V& n9 Z' o9 x; h" @2..编程题(共40分). Z# |# O- Q Y4 |& v5 n
(1) 编写一程序求sum= 的值。要求保留小数点后3位。
2 T1 C6 y' R+ y+ k+ u(2) 编写程序求100~200之间的所有奇数之和,并统计其个数! |1 E2 D/ a& ~# N* ~8 Z( Q. ?
(3)从键盘上任意输入两个正整数m和n,求其最大公约数。9 Y) u9 T" e, L7 b( A
(4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。, \3 S7 R" p8 A; J
(5) 编写程序打印下列图案5 E4 ^! |# p0 ~6 R ?
1
- I8 ]* g, b5 {+ D% \123 1234 123453 m1 H2 {4 G( ?& Y& w* n: A) f1 s, j
(6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。' r+ ?, l% D1 V$ [1 s
( b6 P, j) L2 D
3. 依据下列提供的程序回答问题(共30分)
4 Y1 |0 S0 P: s5 h7 q8 U% a#include <stdio.h>
: l. V6 Q! g% Y% N5 \. F#include <math.h># I* V. F- W3 x
int fun(int x)$ k9 f$ ]: z# B) Y3 P: @: s
{int s=0;
6 _9 U1 N% L( O8 ?* s& }+ @ while(x!=0)
3 c# _+ I9 s; F{s=s+x%10 ;
# H. ~9 K3 Q0 c8 {- |" d9 e x=x/10;) ?; ?0 d) v& e
}
! S. b( T, q- U- wreturn s;5 S5 |( @: u3 D3 K8 o. F$ Z
}
; T1 D& f: R& _( {1 P. ivoid main()7 d- o/ {! E; _" F9 V% [% u# M& L! }
{int a[11],b[11];
8 @& v. Q! E; V: B& z" _int i,j,p,temp;3 I7 L1 y2 `% o) a" J
0 I0 }2 ^" S8 L7 k- o9 z% ?for(i=0;i<10;i++)//从键盘输入10个正的整数' X4 o" l* r- C" h9 v2 [2 ]
{printf("a[%d]=",i);5 J/ T1 B9 y1 y9 [' {
scanf("%d",&a[i]);
" y' [. f4 Y/ H2 j+ I" D4 m}
, r) y) F( v3 f7 n" r. l9 M& F9 i8 Ofor(i=0;i<10;i++)
0 c% N0 k! {9 Q' z: g0 ~b[i]=fun(a[i]);
5 G7 c! {" F& N- nfor(i=0;i<9;i++) //对40个升序排列* \5 K) O- H7 Z4 `7 U" t4 O0 q r
{p=i;' \1 w1 N; I+ ~9 K* T
for(j=i+1;j<10;j++)
* n/ A2 C1 s3 g8 G. P if(b[p]>b[j]) p=j;
( E7 m' @$ X: y! k if(p!=i)) n" |4 e: \) [$ P. O( |3 I" t: N4 D; ?
{temp=b[p]; b[p]=b[i]; b[i]=temp;}
. k5 D* I/ @8 w$ W, }) i6 K}
- X! Q7 e: Z, z9 m1 E3 C0 K! F# yprintf("排好序的数为:\n");+ L9 T8 j6 w/ y) V
for(i=0;i <10;i++) printf("%5d",b[i]);0 L2 u8 J4 g5 y" ]* b7 `* F5 T
}
6 Y, z: u0 b8 I7 N' T9 m' r* l(1)上述提供程序中,函数fun的功能是什么?+ a6 \- q) k6 J3 r+ h' P0 w+ k
(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。" c% m* o3 C- x1 q D3 N
(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?! C4 P2 q/ f3 F9 P
二、大作业要求
. u& M; E7 P2 t1 K& @大作业共需要完成3个大题:
3 ^3 E/ Q) ]; Z第1题,满分30分;
]3 h4 @5 T; _第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;
" Q: Z$ W0 J4 G第3题(1)-(3)必做,满分30分。; e) k$ }' x" I% M" \! e
+ ^1 R" M$ P4 Z0 W4 |西南大学2018年6月大作业
- L) n' q% q @6 L9 g |
|