|
一、大作业题目
$ f% m) {2 q0 o: x$ K* y5 N& P1.简述题(共30分)
% P4 p; i1 g. I" F1 r3 ^( a(1)“构建程序设计的思想和方法、提升阅读程序能力和编写程序能力”是C语言程序设计的课程学习目标。请简要说明你在C语言程序设计学习过程中学习了哪些内容?通过C语言的学习,你有何感受和体会?在回答问题要求真实真情表达(10分)0 C) R: Q/ W; g2 G, {
(2)什么是算法?算法的主要特征是什么?描述算法的主要方法有哪些?(10分)$ }) H5 G) l& v6 m2 }
(3)依据你在学习过程中编写的体会,请你简要说明编写程序的基本步骤。在C语言中程序有哪三种基本结构?在C语言程序设计中实现这三种基本结构的主要语句有哪些?(10分)
1 Y9 p" ~! A5 {- K H* N& B5 q( b9 r/ R$ R/ N* f5 t1 _8 y" K6 ]
2..编程题(共40分)) f3 O( y7 ]( R1 [
(1) 编写一程序求sum= 的值。要求保留小数点后3位。
/ I: n+ @. S4 Z(2) 编写程序求100~200之间的所有奇数之和,并统计其个数
, f$ o- C X) r- V(3)从键盘上任意输入两个正整数m和n,求其最大公约数。
! d3 \6 f2 `2 R(4)从键盘上输入一串字符串,分别统计出其中大写字母、小写字母的个数。
* l z {+ M3 j0 ~" \% F! q# y8 F(5) 编写程序打印下列图案
. l) T3 i) ?) s$ U1
9 k2 S, [) v* I) ?! b" s' i7 S123 1234 12345$ I S! M3 T1 ^8 s G) Q
(6) 编写一个函数long f(int n)求Fibonacci数列第n项的值。Fibonacci数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。并编写一个主函数产生20之内的所有Fibonacci数输出。* k/ p6 ^8 ?% r: U
% u% Q2 B, d# b5 r% T& P2 Z
3. 依据下列提供的程序回答问题(共30分)
2 F: b- X- [& k* V) [' D8 N#include <stdio.h>
. K( I' ^$ d; E$ R) j9 J& u" i1 b" `% c#include <math.h>
( ]. A5 J! u" h: _: @int fun(int x)- k( s* i4 ~+ n4 e- W s$ b8 F
{int s=0;
& m9 z8 y' x( V, U5 @ while(x!=0)
6 U, X* h! A u& ~" m1 X' {, P{s=s+x%10 ;
1 E. f, d% y7 J6 o0 N3 t x=x/10;" L, I/ W3 X6 L
}
7 x8 c- K! F2 H/ Treturn s;. A5 z" M" l/ t. U" @1 S
}* C+ m0 v; }% t% H U& ]
void main(): C$ c8 t9 D7 y( n
{int a[11],b[11];- H$ H+ `- M3 b4 D6 y
int i,j,p,temp;% l2 g0 z1 a5 r5 @5 P4 m
6 L3 z+ C$ P2 P0 `% X8 qfor(i=0;i<10;i++)//从键盘输入10个正的整数
% l, K: }4 Y7 F, V{printf("a[%d]=",i);/ n" ~1 H! i( P! R( G; x
scanf("%d",&a[i]);
2 Y& k) f }$ G: m- I% R0 V}
S9 C3 w2 u* J; mfor(i=0;i<10;i++), O" d: m* d. p) Y2 q! ^0 P+ K
b[i]=fun(a[i]);
' k; p, p/ e/ _# Y. l* I7 Ffor(i=0;i<9;i++) //对40个升序排列
* b7 x7 Q. H/ |2 T5 v$ N {p=i;
8 d4 W0 }% \! O8 ]3 m) I for(j=i+1;j<10;j++)* h0 ^! U/ j1 J3 R
if(b[p]>b[j]) p=j;4 f" Q' x z) I- Z3 L" W3 Y) R- [
if(p!=i)
2 v2 U v' Q% N; M3 x% B, ^% \ {temp=b[p]; b[p]=b[i]; b[i]=temp;}6 g3 w) [) M, |* ?3 e/ W- N$ Y. T
}" `, j) J- S+ K2 z1 |6 o0 V& f6 }
printf("排好序的数为:\n");
& ^- J9 U5 C- D- rfor(i=0;i <10;i++) printf("%5d",b[i]);: [/ q+ u+ K7 C# P
}4 L, U8 D, m) Q# ~! f q
(1)上述提供程序中,函数fun的功能是什么?
. C* V L! c% f(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。
& G, m2 T( `' `+ \5 A: [(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?
! A# v- t$ f9 p二、大作业要求1 r( L& n9 Y1 \/ a4 a& b
大作业共需要完成3个大题:+ c2 |4 K# e7 a. k2 ?
第1题,满分30分;
8 s! n# O1 V' h* v第2题(1)-(5)任选两题完成,各15分,(6)题必做,10分,满分40分;
4 v# Z6 q) Y j/ A第3题(1)-(3)必做,满分30分。4 \6 h7 Y+ S# X9 Z6 u% e
( S' h+ y% N2 s; d1 V v
西南大学2018年6月大作业
3 A/ y2 z) L1 z3 n- C* n |
|