|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
【程序6 】
( d* Q; u4 M# S题目:用* 号输出字母C的图案。
0 T& X# T" q- o& c/ A" |5 y1. 程序分析:可先用'*'号在纸上写出字母C,再分行输出。
1 G7 n: j+ X1 m* P2. 程序源代码: 5 Q6 ?9 o, U$ O' ?, f
#include "stdio.h" 1 \- l$ Y2 [0 }+ U! s
main() { ( d8 v, N7 {$ @4 l( W% O
printf("Hello C-world!\n"); # ~1 ]6 m& a7 z' c z. r2 W
printf(" ****\n");
4 Z6 X, T# X. ?6 h$ ^9 gprintf(" *\n"); 2 R. |3 _- z6 A% a |
printf(" * \n");
5 m: `) ^) n$ |4 ~( |5 Z/ P( P% @printf(" ****\n"); } & G7 y) h- o" J5 m: i3 t3 D
============================================================== 9 u& r5 c3 }0 ]3 q
【程序7 】
* X' m |! Y' E$ b0 N题目:输出特殊图案,请在c 环境中运行,看一看,Very Beautiful! # _1 H2 }# s3 t/ f
1. 程序分析:字符共有256个。不同字符,图形不一样。 7 B: |! S3 ]6 k* ]4 C1 w
2. 程序源代码: 7 l0 ^) d: m7 R: L* d" e7 g
#include "stdio.h"
9 d4 R4 y) z S. W' @6 @% I' B4 Wmain()
) @$ F' `4 R5 Q1 r7 o, ~{
0 N! \0 r8 Q5 u$ M7 Mchar a=176,b=219; ( C+ i, [! f* [1 ~: Q# \
printf("%c%c%c%c%c\n",b,a,a,a,b); " \3 ~ E9 a! P
printf("%c%c%c%c%c\n",a,b,a,b,a);
: h6 S% _" _2 Z/ Q5 U9 N: ~printf("%c%c%c%c%c\n",a,a,b,a,a);
- d4 l+ N0 F7 d ?$ X4 Yprintf("%c%c%c%c%c\n",a,b,a,b,a);
& Z: F$ o" s& d9 X7 D( X V2 gprintf("%c%c%c%c%c\n",b,a,a,a,b);} ( D5 j+ k5 [ j$ q
============================================================== . q, O$ i3 V/ k% L
【程序8 】
$ R5 {9 t/ U* P- _: {- k题目:输出9*9 口诀。 * V4 p! h1 m1 L8 J( A& b' U
1. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。 ) T% f, A n8 D+ \4 _* `
2. 程序源代码: & Y, w7 d4 w0 U$ e, Z: z
#include "stdio.h"
% `, m* w" t7 b; a. lmain()
: W$ b( @) B7 {# ^4 I# u" U" b& g{ 8 v+ ]3 W" L7 x+ W! d8 b$ h
int i,j,result;
/ ]3 G, t# x; ~" ^. j" hprintf("\n");
^ N3 V& R* j; Jfor (i=1;i<10;i++)
9 C( f% C1 _: s: J{ for(j=1;j<10;j++)
* I# }- L( U7 M) t8 e{ 3 S7 ~0 l4 M9 Y5 h. d
result=i*j;
5 [" R0 d5 p' K7 C; Jprintf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占3位*/
0 x1 x+ c2 {0 e' {5 U3 }}
) U3 Y' C. u; V7 {* q7 X! dprintf("\n");/* 每一行后换行*/
; N; r H: C) ] a6 R}
: n0 w" C4 @' ?* Z+ ]+ q$ v! L} 3 d. e Z' m+ U) H, ~
==============================================================
# t$ `! p h ?! C( ?- O【程序9 】 $ b9 i* K: e" k y0 H$ c
题目:要求输出国际象棋棋盘。 (嵌入式学习企鹅要妖气呜呜吧久零就要) 6 Z. _5 D \( L$ R( u; c9 G' `- D, Z4 [
1. 程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
! l/ s" ?4 e" ]2. 程序源代码: ' X/ ~* A9 N3 M/ B7 E) j
#include "stdio.h" " ]( u' Q3 N7 P. q( t0 Y$ l8 w
main() 4 K: `4 y) Y0 g& b0 I
{ % f5 `& P4 t: X; f3 m
int i,j; 4 J: K& `6 N% T* a- y4 r) {
for(i=0;i<8;i++)
& k. q. t* S7 h9 W5 C{ 3 J5 p+ @3 h4 j) ?
for(j=0;j<8;j++)
4 F/ }( r3 R. wif((i+j)%2==0)
- }/ x8 Z9 p: z- U' Nprintf("%c%c",219,219);
# L6 S, B; _6 melse
( O* I0 j4 L1 C4 n. H$ Wprintf(" "); , S& t7 e2 ^# }& G
printf("\n");
/ E- l, ]. b1 L, [} * G) W. ]- u4 V! U9 A% h
} " h; b$ V% j( O% \' h. n. E5 }4 Y
==============================================================
; F& c# N% I' v+ }# m% u【程序10 】
, y6 R- h! V/ B6 r) {题目:打印楼梯,同时在楼梯上方打印两个笑脸。
- Y8 m& }: ~6 h& x0 [! E1. 程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。
* p; u# Y3 Q% o; u& Y9 T2. 程序源代码: 0 i# j/ `( k* @' K
#include "stdio.h"
- m9 Z0 J9 B6 E; }main() , a, Y* ^% I) j4 C" l" `! o2 q
{
9 ?. O3 w& h# k% _9 C( w/ |$ Sint i,j; H& K% v6 [. I
printf("\1\1\n");/* 输出两个笑脸*/
1 n" ?# q. l$ r+ J% i5 b4 z6 s' gfor(i=1;i<11;i++)
0 Y# O7 O% e$ m5 B{ * r. |" |7 p2 \
for(j=1;j<=i;j++)
# J. p8 m. B+ Lprintf("%c%c",219,219);
* Z+ _7 h) m0 K s( s0 ?printf("\n");
! ]. l2 u6 N/ V} . k0 i) q! r" J$ o/ p9 e
} ) H" Y% m, I. E; C7 Y2 b& V/ x8 K4 ] L
* s& M7 n/ X3 Y' K/ k" d5 J4 A* ~+ i
5 C/ P! z$ q Q4 K/ o9 T# n作者: zhlei81 2005-1-22 11:29 回复此发言
& Y6 f/ I) v; N( f7 w9 X7 X$ g5 Q4 |0 _7 Z* Q) x0 _
-------------------------------------------------------------------------------- 6 K. X( }" e; C% {! H9 V
8 N r& e P, K& g0 e' g% L- x% ^
3 回复:经典C源程序100例
J- E; D% O1 \- f【程序11 】
. |7 ]/ K) { v# q$ ?题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月
. p- o& X) r0 a: Q4 `后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? ! E4 g$ R" `/ e9 D3 c
1. 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
E+ x! s& x5 v, s% p. e2. 程序源代码:
+ R. w7 \' `7 \2 _ a( c1 vmain()
" K, q% x+ l1 z7 Q{ ) m G8 h$ |2 e
long f1,f2;
2 _! y- p. {; d' o9 Dint i;
6 e$ u" n3 K) s9 A+ }% Kf1=f2=1; . k4 q5 r" i: _9 E9 c
for(i=1;i<=20;i++)
2 I$ k0 p' c( E1 ^" {{ printf("%12ld %12ld",f1,f2);
5 A6 R/ v" ]/ g9 `$ ]+ Gif(i%2==0) printf("\n");/* 控制输出,每行四个*/ " X$ l) B# i% T1 l! u
f1=f1+f2; /* 前两个月加起来赋值给第三个月*/ 7 B$ U+ T& P% b4 A: Q: a6 K+ C. @
f2=f1+f2; /* 前两个月加起来赋值给第三个月*/
% m0 c0 y! J0 l' _7 E} , c& p/ [! f" }, G4 h' N. F/ _
}
) z8 a9 ]' [$ d( k% [! j( T, K============================================================== 2 k: X$ z4 B4 b' @/ u
【程序12 】 1 J' l2 I, W/ Q, U( d* x+ n
题目:判断101-200 之间有多少个素数,并输出所有素数。 6 G& ~* x- u2 I& D0 h
1. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
( J9 U: v* l5 H0 `! f则表明此数不是素数,反之是素数。 ) Y! \4 c6 ?8 M1 |9 w
2. 程序源代码: ! [3 K0 T8 U7 k( O3 ^& n
#include "math.h"
7 E* m" r$ \: amain()
, p) f5 x+ z3 x, M7 x{
: |! O' R. P( c$ V5 }. T7 N. vint m,i,k,h=0,leap=1;
) x$ g) O5 D6 Z# Rprintf("\n"); ! \, _& X/ u; F9 h- k. l$ v
for(m=101;m<=200;m++) - v6 @; R( f. M! M2 t+ P
{ k=sqrt(m+1);
3 ] }- b- I$ J( M! ~7 ffor(i=2;i<=k;i++) 3 E- T5 d7 S7 L7 X: K& F5 @" w: y
if(m%i==0)
" i( l' R1 F$ I2 F4 V8 [' f7 ~{leap=0;break;} [7 R- i7 H) O/ A, f
if(leap) {printf("%-4d",m);h++;
# P/ u4 c0 R# _# j* U1 yif(h%10==0) & q& z9 g, f0 Z7 a2 {- V4 [
printf("\n"); 0 N$ S7 L4 S, @$ W
}
4 z- W3 p) g3 xleap=1;
7 v F1 H& q- }/ [; D; J} / O$ h. A9 F/ ?6 M0 L* O
printf("\nThe total is %d",h);
4 S! u* k) P: n0 h6 k) A. R8 ~ {} 8 S( P9 J f+ m0 N8 Z
==============================================================
2 c; `1 T. l( \' V- D; M0 H【程序13 】 + c& _" l' G. }6 ^
题目:打印出所有的“ 水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 4 u% H, z% d+ a" I J
本身。例如:153 是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 1 M0 [' |/ z" _& \
1. 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 6 Q$ p6 i! a: {) n9 h
2. 程序源代码: ( ]; q h: c, {" ~% M: p" L4 j c
main()
- c' o+ f/ C8 g, x' H{
% C7 ~/ u) Y, h/ X2 O4 |- T& ^int i,j,k,n; . T, b. d" z; N, U7 m
printf("'water flower'number is:");
! V! T# O. `* b2 C- afor(n=100;n<1000;n++)
4 L! E7 K# M" ]- }$ F7 M6 z& t{
. W1 G! j5 t2 y+ Gi=n/100;/* 分解出百位*/ . E; L9 a) O( ?/ O6 ?
j=n/10%10;/* 分解出十位*/ 8 X+ P1 ?% k1 T
k=n%10;/* 分解出个位*/ : V! y6 j" S5 t; ]! y
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) ' _4 l+ N7 M" ~
{
1 N9 Z/ E1 j" Q2 x* d$ Rprintf("%-5d",n);
- }! }; [( I' E8 {; G}
8 d( G9 n. v, M9 ? s& w}
: }* m( C5 k B" s7 R0 iprintf("\n"); 7 ~6 F/ \+ I& m
}
$ ]5 J) {9 O `- N7 @==============================================================
6 }- Q S. |; q3 [/ f5 v' Q, z【程序14 】
9 c* n+ S# e5 V& q0 n0 |7 K题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5。
+ C: n' I( j& D4 w- o2 F
; o" A. G L5 U程序分析:对n 进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: ! e ~) S- H, e3 {+ B9 u; ]
(1) 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
* ~- f- z6 ^1 c2 e$ K(2) 如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 0 G2 z; m$ f/ @$ c3 ^) I: ]- A
重复执行第一步。 6 E9 {4 }: i, E" q$ v) t
(3) 如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
0 {; Z7 e0 j4 M8 @" q7 L( t
( a0 }' w2 _+ s7 l m9 v8 J3 \2. 程序源代码:
$ \# @$ s: D/ D# z: v/* zheng int is divided yinshu*/ 5 V8 j; X2 J/ S; `/ R
main()
8 m3 m' g$ u! k& {& J{
6 z0 n/ E0 \5 n/ ~int n,i;
2 ~5 J% G) L) ^4 ?, Iprintf("\nplease input a number:\n"); - O; w) E$ U0 E" D! o
scanf("%d",&n);
5 u/ E6 B. y3 Kprintf("%d=",n);
8 i$ {% D4 W2 k( D" T% Q! Q+ y' Tfor(i=2;i<=n;i++)
3 j( A F. {6 `( j- T5 Y E{
0 \* c7 I( i& ^8 _9 a5 u9 Gwhile(n!=i)
3 \0 \" l- h: H' C5 x{ ' Q5 A! x9 ]- Q$ j
if(n%i==0) 7 H0 q# M+ O; y' [0 g9 K' z
{ printf("%d*",i); * Y* B- P# U1 f
n=n/i;
8 z# d3 ]& y1 K% b, b& @}
* g1 M* L6 g( R1 Q* Zelse 2 Z0 \( U. U* w/ T* Y+ I) h& S; u
break;
" m7 B* O' v2 D$ Z} 8 j* l, t. W& _8 N% ~3 \7 ? ^
} + W+ D8 t5 u9 p, E* K! @
printf("%d",n);}
- ]" ?, K o+ v. U==============================================================
7 p }! @2 ~& I; J) {# w% [【程序15 】
6 s* X: q+ X1 a1 U题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用A表示,60-89分之间的用B表示, / [( L8 p* \6 w! o( C! m
60 分以下的用C表示。
, `) s" B: D8 C. K9 g7 x1. 程序分析:(a>b)?a:b这是条件运算符的基本例子。 1 D5 ^$ H, K+ E$ r5 D
2. 程序源代码: 1 J3 a7 w0 x' K% _9 m
main()
& k4 C+ A( ?3 ]3 X1 d{
- }& |* G, F: N# ]int score; ! G0 ? o9 _! J* i1 v; z
char grade; / _* D+ k# E( Y6 ~) l4 Y2 Y! q
printf("please input a score\n"); 8 b0 a! f- E& y
scanf("%d",&score);
( z5 @) I/ Q* F# M* Ograde=score>=90?'A' score>=60?'B':'C'); 3 C; M+ O' b: }+ M' k
printf("%d belongs to %c",score,grade);
) y" }* l. L) U2 u# G7 C# Y: X( `9 O}
% K$ R' I- j* t& C8 G==============================================================
f( }. U. n ^; }1 y9 Q( n. ~
* Z4 f% I0 O# O O |
|