|
一、大作业题目8 D$ t- ]2 k8 S
1.简述题(共30分)
% F. C3 e( I# C! X& W6 q) k% O(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)
# K5 g' f, q: N# [6 A `(2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分)
1 Q: q" P. d# `& ~- }9 x(3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分)
8 E# n$ s2 h2 V2 o% N Z& m9 v, E0 P7 N) P! }0 l- U" w
2..编程题(共40分)
9 F# v/ p- a% \ j+ M(1) 编写一程序求sum= 的值。要求保留小数点后3位。: i+ X( ?$ Z+ K/ d p/ f- w
(2) 编写程序求100~200之间的所有奇数之和,并统计其个数% q1 {2 A) M! I
(3)从键盘上任意输入两个正整数m和n,求其最大公约数。
5 _" U( i3 X0 {# u(4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。6 U0 k9 _, x7 W( s% e7 Q
(5) 编写程序打印下列图案: L2 B# i2 u& G1 H6 h7 d
1) B+ ?$ Z$ i" d: R1 S3 b
123 1234 12345" h. `$ b: H6 Q% Q/ q) K
(6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。; [( \, k; i% H* _# ]
, o' X/ a" H* _
3. 依据下列提供的程序回答问题(共30分)9 i3 m6 N2 ?3 Q7 l( z
#include <stdio.h>0 L2 }8 E9 m/ T5 E E2 b
#include <math.h>
+ I' v4 \) L" F; [8 ^1 o% Mint fun(int x)
) D2 i3 [+ M% O# f{int s=0;
( S1 l2 @& j" r! _ while(x!=0)0 B" ^ p$ J% l' U& P4 L8 H. G
{s=s+x%10 ;
& C( y- F z5 `3 _ x=x/10;! @/ m3 R+ y7 _2 N
}7 Y: K6 _, a5 v% D( y
return s;
; _* v0 j1 u: B4 M( `}+ i0 r3 F; f6 X) f1 m
void main(). x' f2 i9 c; }6 K9 J z
{int a[11],b[11];
+ s5 F- o: A# E, T8 kint i,j,p,temp;7 f+ O; p0 B& a T; b* u
6 ~/ m7 o+ U0 ^/ X$ W( m9 b& s' F
for(i=0;i<10;i++)//从键盘输入10个正的整数) J4 J% c! T+ }( c. y* f9 f& i
{printf("a[%d]=",i);
/ \; P; W% s$ E7 jscanf("%d",&a[i]);7 w* d: R3 Z* O* G
}
& O8 m5 }$ h( n D! `/ g1 cfor(i=0;i<10;i++)
! D; Z& a0 f5 D6 _1 H% I: X* g4 lb[i]=fun(a[i]);& p0 Z6 @/ I+ u# C
for(i=0;i<9;i++) //对40个升序排列+ L; e L( W ^
{p=i;& W5 A6 V( _' b% q
for(j=i+1;j<10;j++)
4 |- R/ T, ?7 D6 d" A H' c if(b[p]>b[j]) p=j;
' F6 J% B5 B5 C& J if(p!=i)( ?) n% G: J' M0 g8 I0 L* s
{temp=b[p]; b[p]=b[i]; b[i]=temp;}
3 _+ E1 d6 T: V/ r9 a8 @. z6 Q2 ]9 u}
2 n& f* v3 X' n k; o6 b2 [printf("排好序的数为:\n");
( X, c! b0 }7 Q; v% t; J; @& Z4 nfor(i=0;i <10;i++) printf("%5d",b[i]);3 s9 D4 |$ }& |
}. f" r/ A$ w4 ~2 q; c& m
(1)上述提供程序中,函数fun的功能是什么?5 D0 j- z+ W1 d. l2 H* q* r
(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。
' \5 n5 |& x" {8 {% P(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?
( Y+ e( p2 w/ O- V, Q/ C二、大作业要求
8 X0 x. u9 l7 D. q# `2 k/ j8 @大作业共需要完成3个大题:* [! E/ ^+ \) p! e
第1题,满分30分;
5 }- R- Q! y V$ [0 V" |第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;
% x2 D% B+ u' O" I$ s+ r H2 y第3题(1)-(3)必做,满分30分。, b$ Z( M0 W' {, }
( h! u2 n& t+ e& Q3 @3 K
西南大学2018年6月大作业% x) [5 H5 c; w& H6 |
|
|