);) \4 e) G9 Z V
printf("\n");
, e H. ~% ]) b7 i9 B return 0;- @/ Q6 U) B% O( R+ D- a5 u
}
4 h6 }: I2 S- a
9 y9 |+ `( k0 U% U+ @4 m# Y5. (写出下面程序执行的结果) + f& n1 O. M6 s" F
#include
7 f, `& a. W& n1 l2 {1 Uint main() " \0 }+ D1 f$ @! s- Y( F9 W
{ 9 K) {0 `! z# g4 @4 s& T
int i,j,m=3;
2 k# h3 R. @$ Bfor(i=0;i
for(j=m-1;j>=0;j--) 7 H0 _7 `1 \: i t' _
printf("%1d%c", i+j,j ? 'H' : '$' );
# y) z! \) i# x e) xprintf("\n"); ; p. n& d/ \9 `+ H
return 0;
+ @& X% A& C N0 u7 @% H} + j4 j* ?/ d8 x( x4 z y) w
9 Z% K% S% n( Z( V
三、程序设计题(本大题共40分,共 4 小题,每小题 10 分)
, N6 K2 j- N3 Z" F1. 从键盘输入一个指定金额(单位:元,例如345),然后存储显示支付该金额需要的各种面额钞票的数目。' W; z* K# X; h: Z! d9 K# a9 N7 u
2. 编程序求出100~1000之间的每一个整数各自的各位数字之和,要求求每个整数各位数字之和的函数单独编写。
, k; }8 H4 h" |. I. [8 X. u" S( i# z3. 函数r_getbits的原型为:int r_getbits(unsigned x,unsigned pos,unsigned n);,其功能是返回变量x从pos位置开始从右向左计数的n位值。请编制函数r_getbits并用相应的主函数进行测试。
' ^: B5 `" q( d) a9 s4. 编程序实现功能:利用一维数组,判定从键盘输入的任意正整数是否“回文数”,所谓“回文数”是指正读反读都相同的数,如:123454321。( t) r i' F) `
! k; c N! Y3 F" h2 }8 a0 D* L: |
- _% z7 u' [6 E2 M9 m
( y) g' x% j# U+ ]- h
答案:
4 e7 D; `- r% `- x. Q
6 l# Q" L t w& u, v- {# |& w& b4 w
一、填空题(20分,共 10 题,每小题 2 分)
" k) R$ R1 ~" J0 N* J1 Y% k
7 P: d+ X) m1 i) {- w1. " P* ^: X8 e7 S; R* {; i
参考答案:
- Q! Q. L8 q- ~. b/ x' e1 C5 `! ]D- l4 Q" c: F: L' B
解题方案:
% _- k' Q, i& C0 Q% c7 Y5 J, n- G0 R
评分标准:
& Y6 T, p+ ~ e6 w/ q
9 e2 T1 r; ^- p9 W6 d8 B, t2.
; y# a' V( q) G4 V# l7 L参考答案:1 u7 H3 N, S8 m( I
① D
, a2 i' w2 o1 i0 ~# w8 X/ F② B
: L* \" m _, ]' t* v* F
0 E$ [) N- C" d+ h1 f解题方案:
7 q& p" v/ F( @, `) b, r
% M' n' r; G3 R评分标准:! Y- l- {1 _$ @* K. g3 Z" t
: L% C1 K" m* R; f3.
+ h: G* B" S/ I, U- O6 M参考答案:' s+ a! E" t( `% R
① B
$ M2 {! ?1 Y' U1 ?② D
# N4 L3 N6 V8 u8 Z6 |# X
+ a! \$ W; \$ L1 C解题方案:
$ F* w: [* A; H! O% b# f/ H
- ?) o1 i+ n( q$ W评分标准:; ^5 R8 U2 N; i: U
7 c' N& t) g1 @5 G: h! ]4. ; N3 w6 _, k1 E4 }* R
参考答案:2 U z' _ n# k$ y- i: X
① D, z; o. e& o+ E v# k
② A
2 f; U+ d) b- m0 E' [6 ?3 _% Q' E7 h% B3 P7 {% ]9 W
解题方案:
# k; f/ [) g$ u$ i5 l7 W1 t3 \5 P9 b0 O( n6 |8 ?) f$ ~
评分标准:
1 F2 p3 m. X% x: j1 x! k/ l
7 K) _ F" M% [, Z- ?; D5 p5. ( a( }5 z5 y0 E9 |1 f( t+ m
参考答案:
0 F, B. R) S: {7 x3 {- yD" ?6 I! o0 _3 E4 R0 m' C
解题方案:* t9 Z- X, \4 R
* K B5 Z* m {) q' m评分标准:
. h* U$ ]" x& L" ?
* @% k6 J$ Y5 L* y; A8 a; P4 g6. 4 B7 ?# z4 [& s- ~1 l
参考答案:
9 [' l6 g. L( ]1 A$ I① D
1 z5 `# c; s. d② A' m1 `1 [/ |" L7 m: M
4 ~! u0 X0 u j7 W0 J
解题方案:
# m. K5 g" l: R' h1 L! i9 \4 B' w
评分标准:9 O+ s8 F8 F% F5 o( x$ y
; N% p( x% Z3 w/ T7. . x* y/ y/ ]4 X. o% A0 H1 d
参考答案:9 {2 g L* D3 N: g2 z- F3 C+ L+ u% Q
C1 C/ V0 }1 k* @8 N3 k
解题方案:
; \0 H& A: P5 j7 u$ P% q5 D. X, K ^& o8 k# k
评分标准:/ g& d4 L: U6 c9 Y
0 \7 D! R) S( Q/ ~2 c4 m
8.
) d x$ |& ]" b参考答案:
( F9 Y5 H* X+ q① B
1 N# ]8 a D8 T* j② C
+ [2 S( \& D4 m* l0 E `5 N# G! [. _/ _) U7 w% F
解题方案:
" Y- w2 ]. e8 D
# V: P! e+ \. ~评分标准:, W5 T4 H* |% z7 C+ O5 z
6 d7 p0 Y' y$ m9 l+ k) t4 p7 l9.
/ U, i" U- M. I* w* `) e3 D7 D参考答案:1 _6 R6 F+ x# Q4 t* R6 |" ^
① A
1 _( ^) [ F7 C$ X3 E5 _& b5 g② C% z0 p7 W p2 p7 ?3 j6 v
% S' T( Z0 a# c" x$ z/ q
解题方案:
6 l* U! q% w) {) s) I+ d$ f. J+ T/ I+ B: B6 D) a* g5 r v7 V
评分标准:
& o; {8 h; W) [ l5 |" a, g& g
# @2 E' L; Q2 `/ w10. $ y: O. _! o3 K; I: v
参考答案:% M$ L" d5 |4 c; ~8 N, V, M9 B& G2 A
① C
4 b. o' |' u. h. r5 G) X② D
$ b, k' w0 Y. S2 G
- w" D0 H* J% Y解题方案:# S/ `. m* Z% h( ]
8 \, u9 _6 B6 I3 W评分标准:0 w0 }$ y3 R) c4 `, S
* {/ ?2 P, Q/ \! \ U
% T8 y D3 V3 V" Z. i
二、程序阅读题(40分,共 5 题,每小题 8 分)/ q2 A4 v9 @0 I7 z
* r S i7 {) f2 @- v5 _4 r1.
+ i- A0 I2 l" q: I; u8 V' H9 @参考答案:
u( B' B0 m. |" f8 k- H' N字符串s占据的空间长度为:100
3 B) d% t/ W4 m, ^0 |/ k2 f5 ~( k4 H: \$ {
解题方案:7 w! S% N8 K. k9 T& R
, a( E7 \% @& M, U9 l' P X评分标准:$ _4 |0 x1 L( l4 g3 k; H! [) H' u* S
5 @0 u! ]1 @$ v0 j E, L m- f2. 5 k$ G4 [. U4 l E% r( P
参考答案:7 U2 Q. R6 i+ @+ q
5
" o+ J+ Z3 R! h5 c1 s解题方案:* ^8 K1 W2 G/ K+ u2 x* A
, H$ u5 ^4 w, e* t! N+ m评分标准:7 h7 M3 d6 R6 d* o
( ^1 L0 o( T9 t. t0 q( B) e
3. : }2 |3 x2 {# _6 d- k. {
参考答案:! h2 a2 s3 |! M9 Q
1
3 P6 k7 D; E- V+ b% _ 222; I" W* R6 S; i: |9 _# [
33333
% m! Q5 i* s0 B9 }: s) t# L 4444444
) q G$ M1 o. j- ~5 N& X1 L 55555
4 J% l& l( Z: ^: J1 r 444: e) Y! f/ Z( e* N' N
3 ! J- d, D8 B- n4 n2 X5 q: {* L6 }; n
" ^% P% T" W' Q9 M9 l% H4 S9 [6 T3 u, r解题方案:7 G: H8 O+ e6 X1 ]
* e Q6 X$ ]) @
评分标准:* A/ X, P, P4 f
9 o5 A! o1 g; i6 A5 [6 Y) S
4.
7 L! P9 Q! ]+ ^5 J参考答案:
: D7 ~% ^3 c- Y9 ^IHGF0 m' q- I0 R* z1 h$ H
0 ~* J1 X8 F- h: [* l( ^9 A$ k解题方案:
9 Y( H' o2 d8 S( a: T& F; d" W9 }7 @4 C
评分标准:
- P4 S: j2 W/ [, t2 }8 P0 I; @# W4 o" w5 y( r+ }6 {1 s8 H2 X
5. 5 X( \. Z6 o, e& |. e2 G+ ?$ P$ d
参考答案:
3 ^- C6 `8 Z/ S; i0 m, C2H1H0$4H3H2$& V! _9 n# `. A4 z7 [8 u4 z
解题方案:" H& u9 P: X: ]; F
* ? i0 |: V( Z/ v( O2 {4 y& {
评分标准:( m. _+ k2 f; ]( E. Q
& P" L! D* x$ Y1 V. Q
5 }" H+ z+ Y$ U* p" K, a三、程序设计题(40分,共 4 题,每小题 10 分)1 Q- e! z0 f) O2 |6 T" Y5 b
1 y' f4 X2 S0 `2 D' i2 u
1. 7 `; l+ q! N$ ^! {3 _
参考答案:- E" C5 @$ g0 d& o% X+ C6 C2 \
#include4 C. K6 x p# O0 T
typedef struct Currency
5 F( r% k' w$ P7 V: g{
9 e! R4 |1 F- F1 w char Denomination[10];
1 T& _+ V' a4 x, w7 h6 L1 l/ I int Value;
/ h) A9 H8 n4 ]1 y+ c( h# V int Num;/ }' I& I; _8 h- x
}CUR;
6 j1 o# u0 v, eint main()
, u3 Q; z5 p5 u{+ ]) U1 J+ H, d& B# e
CUR Currencys[]={"佰元",100,0,"伍拾元",50,0,"贰拾元",20,0,"拾元",10,0,+ m" E L8 z; j& H
"伍元",5,0,"贰元",2,0,"壹元",1,0};& C) n8 R g: C' q+ q2 f( H
int Money;
+ s, Y/ m0 s3 H) D r6 e' | scanf("%d",&Money);' M4 o0 C7 q# r. r6 Z
for(int i=0;i<7;i++)7 i4 ]5 l! C6 o( c
{ Currencys.Num=Money/Currencys.Value;9 i0 S+ \; M4 z9 Y1 o3 r
Money%=Currencys.Value;( N9 F, O! k! Q& E# a
}
6 n. ~% d& m+ N for( i=0;i<7;i++)4 d/ N: F5 i% N. S0 p0 s
printf("%s:%d张\n",Currencys.Denomination,Currencys.Num);: V) B+ z" n# q$ \$ c# ?
return 0;, R, }3 b- l6 M1 ]6 y
}
6 F. d, \! E2 @ G* b4 P( k+ M$ d s( x1 O1 y5 t/ {: e
解题方案:- B5 i& E. Y* B% N( L7 c
- ^. H0 m8 V4 I5 J. D1 j+ z8 w评分标准:
: [! m6 V- D% _; w2 S2 ]
1 y, V y* Q+ F2 s2. U( l! m b7 x% u; G( H; ~1 u
参考答案:
2 F8 Y6 n/ v/ G) g" t' A* m#include % ~- p$ n Q3 W+ F' b3 t1 M
#define N 1000
) N/ G" r9 x! ^) c- v2 C2 Y) ~; Pint main()! W! I7 t/ x+ w6 y/ w
{ : L- g, `' {1 X7 S% S6 o) A
int sum(int x);
3 I; ^( A5 X" y! ^* _8 t, _ int n;
* |6 b5 `( x- }: Z) ~( @5 A6 t for(n=100;n<=N;n++)
# @- R* O2 D# S( N printf("%4d",sum(n));& |0 Z7 Z9 q! S2 j7 t
printf("\n");
' q" Z8 u$ Z4 ]. S1 \6 ?; _1 s! w! n return 0;
% Q; `' \, i. Z( \ a}
' n5 Y8 A0 U' e' tint sum(int x)
" w0 q- ^* e1 }{
$ Y% q9 W1 y N- N int s=0;. s, L4 ^. V0 U1 \+ ^' ~
while(x)
7 T1 u% O/ |; K3 D# q5 g* [$ L { s+=x%10;$ `- F. N9 I# w" N
x/=10;
( `0 r# w, ]7 }" E }, e: e1 s" L a; ?$ d+ w. z9 Q
return s;
4 m, |4 s/ e. I4 m+ \}
8 f% r, s- p* [9 j9 q% ~' }, A/ v' Y* \8 M n3 o
解题方案:
# [% V: a1 a$ Z5 o* A% S) ?! h9 ]6 I* S
评分标准:
0 G x- u- \' M$ Q8 R8 N+ k5 G& [3 G+ L2 A! s" v4 a1 J
3. ( ^9 L! B$ I* ?7 u
参考答案:: E4 F3 Y8 {# a! K1 Q S
#include + M! N( u4 D$ u! h& [2 }! C c
int main()
- _6 Y' Y$ K, j! Y{
( m* l+ |# h# L W, U int r_getbits(unsigned x,unsigned pos,unsigned n);0 R3 y+ t) k8 E# f/ L
unsigned num,pos,n;
, }/ c* f ~/ ^. i( R printf("Input num,pos and n: ");0 [9 T; n5 q3 [/ Q$ z5 V# d
scanf("%u,%u,%u",&num,&pos,&n);
+ l l, Z7 ^/ O* S' Z printf("%d\n",r_getbits(num,pos,n));
- j |# l4 r h return 0;
' I. M$ N) Z7 ]3 t+ v: n}0 g9 ]" T$ `+ L: H; T, Y
int r_getbits(unsigned x,unsigned pos,unsigned n)
4 s$ m e4 |/ J$ L{5 _+ D8 l8 ]0 W6 C, E
int len;9 q7 `1 [ m* r. R
len=(x>>(pos+1-n))&~(~0<
6 [& K8 f Y1 \" |2 n c4 m return len;) q! B) O4 @5 R& D& w( T- V
}. T: k, R6 \) \: t, V
# Q9 t1 ]2 Q1 J9 O解题方案:
5 G1 j8 G( w R$ D3 |; B% T9 O6 B/ G2 ?5 _( A* e0 s. c7 j. h8 u" i
评分标准:
/ E* c6 b, p; w6 g: v' ]$ H8 t1 A+ q- O% t! l
4. " L" Q2 A- f0 N) |3 D5 _
参考答案:% |' v8 U& {8 e( ?# @
#include
7 K1 s& U- d7 P' d- u/ [int main() 0 J' G) e# v3 g! q: x8 }
{# E6 B: t" ?# w6 n- W
int n,nt,na[10],i,j;
6 P" T9 ^* E% @9 |7 {+ f printf("?n: ");
8 }9 m( U: [3 A* X scanf("%d",&n);
X2 O' s" f) i1 i7 I4 b nt=n;
' O" ^$ m; ?6 o' \8 _3 U& Y! X for(j=0;n!=0;j++)//将n分解成数字依次放入数组
1 g: e* G' ]' [) ?1 k* \ {+ p& G( q3 h9 k) I# `8 w7 t
na[j]=n%10;7 M- T' B. _& [5 h7 {/ E
n/=10;
0 h/ [9 B5 F! `+ P3 G' w& `! M }& ?+ D k+ Z: u/ V
for(i=0,j=j-1;i
if(na!=na[j])$ F# T# b* i+ |
break;& f/ x6 B! ~! ^' d0 {
if(i>=j)5 i5 z3 k. S3 [7 J7 Q
printf("%d是回文数!\n",nt);
" Z# P& s( G# _6 A: O# m4 e else
* v; X* b4 O6 G3 L" x# \ printf("%d不是回文数!\n",nt);
7 ?1 W% ^! U, ~/ W, a return 0;" t4 O7 Q+ t1 L8 X# S
}
/ E8 `! P9 B! d) C( U% b
; s; n: u7 f: J" U, q解题方案:( P# ^, s3 F4 R; j% A2 W
- k5 t% ]4 p- S7 B; P* m- f% S4 a' p评分标准:
6 y; j( r# Z: ~5 s5 H, o
" v" a3 }. w1 D' HO. V: f( ~4 B# f8 Q7 A: ?