|
一、问答题(共20分)0 I; L: R: p5 t! B. }7 i1 o
简述算法的概念及其特点,同时请画出求s=1+2+3+…+10之值的算法流程图。
' s3 ]5 D: k: C( g6 s3 q二、分析程序,写出运行结果(共2小题,每小题10分,共20分)
! D/ N+ b" w4 `- L& H! U1.#include "stdio.h"
0 e- ?& Q( p5 M! b3 e; M2 H& hvoid sort(int x[ ],int n)
5 l M/ |1 R1 L9 j {int i,j,k,t;
) e; d6 R2 Q) C# b9 ? for(i=0;i<n-1;i++)
$ H& O% A7 S; N{k=i;
5 S' {! g6 g1 R' yfor(j=i+1;j<n;j++)
5 K" U! H; F1 x6 ^0 j+ [& Z& q4 N if(x[k]>x[j])k=j;: z. h6 G' k. S6 O$ n/ s3 q( Y$ T" X' h
if(i!=k)
" o: e2 p8 P& e( O- L m' `$ l {t=x[k];x[k]=x;x=t;}2 z9 ^3 Q2 l# T% N, w8 V
}9 f9 a& V; Z+ _( q' k) x! V
}' G6 D/ \7 m, V8 a* L- A
void main( )+ J, F# F% k \) H0 i7 i2 ]
{int a[10]={44,50,89,67,103,8,75,30,125,150},i;2 F6 F3 {' t. |; u3 R( C9 s5 o: A
sort(a,10); j/ X1 q7 P5 X* L3 m& y, O
for(i=0;i<10;i++)* G& W; D" V% N' a. K
printf("%10d",a);
6 e# R8 H# U& o! t% k6 x }
3 \7 x& O" w4 H& _7 E# k2.#include <stdio.h>7 O* A" i+ h Y0 A2 F* @0 i
void main()9 ~6 c* P7 B2 N, V
{? char n;* q5 i1 \3 [7 u2 W! @. {3 a
int a=100,b=20;7 ^6 a1 {1 T4 s1 ^
for(n='a';n<='d';n+=2)# C- c. M- t: R" Y: y2 E+ E
switch(n). z! j* i' w0 J1 n* D+ D, i" G9 f
{case 'a':printf("a+b=%d\n",a+b);break;
- h, Z) U" s ]+ t0 q, V Mcase 'b':printf("a-b=%d\n",a-b);break;
2 d+ U: r( W9 p$ x0 d/ F9 Xcase 'c':printf("a*b=%d\n",a*b);break;9 J0 P8 T$ h6 K* J+ p
case 'd':printf("a/b=%d\n",a/b);break;
( T) G9 J- T, g1 g% u m, r' C9 E/ f}
0 K, X. e# ]7 u. q% t' L Q- I}
3 ?! @( M' ~' _% @8 P0 a: d- v( S* t8 z% f
三、程序设计题(从5小题中任选4小题完成,每小题15分,共60分) ?! H. u0 U; U; l
1. 从键盘输入一个正整数n,若能同时被4和5整除,则输出“Yes”,否则输出“No”。
$ _9 l8 ^0 d1 q7 Y& w9 A/ E. S) X2. 从键盘上输入x,依据公式计算y的 值。要求有输入输出提示,计算结果精度为3。9 i4 Y$ v4 ?/ g( l
3. 编写程序找出200以内能够被7整除的所有整数,并输出结果。
! D: P& n! u3 E4. 利用循环结构输出下列图形。- e; \" b" G) Y* }% B
1
" ~0 l5 [% |3 Y' e$ f% C222 ^ W& k! e0 j3 y5 ]5 Y
333334 Y4 P7 o F" j* J% C9 t- l# H$ y- ^
4444444
8 z7 n+ j9 u6 D4 |3 b5.编一程序找出所有三位整数的"水仙花数”并输出结果。其中"水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一"水仙花数”,因为153=13+53+33。' h' ~' h7 ]0 c) Q
|
|