|
一、问答题(共20分)
# A$ v7 {' Y% W- s: a1 j+ M简述算法的概念及其特点,同时请画出求s=1+2+3+…+10之值的算法流程图。
; G- T5 s! s& ^1 o8 W h5 }6 \二、分析程序,写出运行结果(共2小题,每小题10分,共20分)- a' @/ N% [4 v8 z: |
1.#include "stdio.h"- l2 F2 s8 X8 c
void sort(int x[ ],int n)% L5 x2 k1 j, b: g" Q" t5 }7 T: ~
{int i,j,k,t;
8 Q, S) K- b x" B! f, W for(i=0;i<n-1;i++)5 X/ H4 a/ ]9 P" B# n9 { W
{k=i;7 @# {! [. A1 i) ?0 m: G0 p" a+ W6 H
for(j=i+1;j<n;j++)7 }$ R; D# j q" u, ?# Z
if(x[k]>x[j])k=j;8 h; _% [6 r! v y& T
if(i!=k)' J0 r% W3 X$ g L! j
{t=x[k];x[k]=x;x=t;}4 @ a, E" C; C8 K% b/ p3 x
}
' d7 S: y* l1 A( O- |* L+ J7 R7 i: \ }) N/ a/ M0 r: O1 N2 P$ E
void main( )8 G: [' W, x- d3 ~3 i7 a
{int a[10]={44,50,89,67,103,8,75,30,125,150},i;" |6 S, K& b! z2 u5 _% R
sort(a,10);
3 J; w* U! ^" N. [1 {* o for(i=0;i<10;i++)
" S2 d _, v+ W. B" h: t% `printf("%10d",a);: O( L( H/ {: a8 s- _. \9 V8 E1 ^
}% p2 |* F; s3 D! Y' A" y
2.#include <stdio.h>8 y' ^& q* o- k: J
void main()7 d* a I0 Z, k. k! V5 F6 b6 Z
{? char n;# p- P, _% i8 q: w0 ?& r# T- k% E9 L
int a=100,b=20;
0 q I' T& {: s9 `4 M+ k& Dfor(n='a';n<='d';n+=2)
, ?6 v7 w( r0 H) a8 V4 v- @/ X6 ]switch(n)+ |4 u6 M/ U o4 ^
{case 'a':printf("a+b=%d\n",a+b);break;
, G5 |* ~3 p8 M. `! x% Ecase 'b':printf("a-b=%d\n",a-b);break;4 A `1 c0 r8 W6 C+ D6 e3 y
case 'c':printf("a*b=%d\n",a*b);break;
$ H. _ S2 }, V% }2 z. ccase 'd':printf("a/b=%d\n",a/b);break;
) m% ?5 t4 O/ W$ O( X- B}
: A6 Q# b2 e' v9 t}! \+ e; u/ {" j
) t" n9 {! [- r三、程序设计题(从5小题中任选4小题完成,每小题15分,共60分)
7 r7 @4 b+ D% J4 M2 f1. 从键盘输入一个正整数n,若能同时被4和5整除,则输出“Yes”,否则输出“No”。
y. j- N, H: U' L' N) l3 I2. 从键盘上输入x,依据公式计算y的 值。要求有输入输出提示,计算结果精度为3。/ X6 v+ v6 L2 Q$ e4 `/ ^
3. 编写程序找出200以内能够被7整除的所有整数,并输出结果。. r) K% C" T& z7 w/ {5 [6 V5 ^9 _) f
4. 利用循环结构输出下列图形。
# I8 {( p8 q+ k2 m+ P1
$ `8 K7 P6 V- }- e* g222- o8 B7 _) s& j" E
33333
7 ~2 Z b0 J6 B% g) ^( b! e4444444
3 H; C/ L; ~+ G, q* E5.编一程序找出所有三位整数的"水仙花数”并输出结果。其中"水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一"水仙花数”,因为153=13+53+33。
# M! T0 h7 B( k; z5 ] |
|