久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

機械社區

標題: C語言算法6-15 [打印本頁]

作者: tainqing    時間: 2017-10-5 16:43
標題: C語言算法6-15
【程序6
! Q, y" X8 E3 g% f3 H/ J; V題目:用*號輸出字母C的圖案。
7 O. ^: H1 d! v, l0 ^( L! ~1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
5 H6 `, c% x; `" i) O0 t8 I2.程序源代碼:
$ X! U/ l" ?$ P4 J  M" U: @# k#include "stdio.h" ( I7 \& t" B8 J; [2 b" v' c
main() {
$ f: s$ e; ^$ J' mprintf("Hello C-world!\n");
" v9 n* B& r3 ]& V5 jprintf(" ****\n"); 3 |* {, @2 O  V& ]% V  J
printf(" *\n"); 0 w" `3 F- g8 T) }% w; D& l1 e
printf(" * \n");
" i1 \8 B5 }. [" Qprintf(" ****\n"); }
5 \" i# w- j' K' p. V9 B$ q==============================================================
+ O1 n6 |" L- d; k) x1 A8 l【程序7
2 b6 a% o, l0 Z題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful! 0 X4 u$ G1 X3 K5 p7 N; m- V
1.程序分析:字符共有256個。不同字符,圖形不一樣。 ) ^  Z6 d3 }4 ^/ j2 T
2.程序源代碼:
* ?0 N; x  x% f! E6 H#include "stdio.h" 4 c& K) N( h" M: {
main()
6 j# g" v( T8 q{
$ X2 G9 Z  e/ q: [+ u) Dchar a=176,b=219; ' m" p% `# P7 L5 ~5 n2 B$ x6 j" s
printf("%c%c%c%c%c\n",b,a,a,a,b);
6 K6 c% A1 l9 _" mprintf("%c%c%c%c%c\n",a,b,a,b,a); : d( m6 _- Y* Z5 o; T- j6 Z+ s
printf("%c%c%c%c%c\n",a,a,b,a,a); . @# c' A9 B9 p, g( K
printf("%c%c%c%c%c\n",a,b,a,b,a);
3 q; [7 p$ `" ^( L- {" V7 Tprintf("%c%c%c%c%c\n",b,a,a,a,b);} ! E- O4 j3 F, h' W$ {2 j
==============================================================
2 D; k4 y  A# D- Q; C+ j4 J【程序8& C& L" F# I1 l% i( t4 R7 ]
題目:輸出9*9口訣。
  X. I6 }5 H3 X1.程序分析:分行與列考慮,共99列,i控制行,j控制列。
9 f6 z  W# c) R( Y9 `- L1 P" A8 s5 V2.程序源代碼:   @+ e% S  h7 C
#include "stdio.h"
0 X# E! L0 G+ H  R/ Jmain()
; w$ V1 j4 G8 e5 Q{
" ^* ^& x5 \/ g( }int i,j,result; 8 ?+ q: f2 V: i- Y) u9 p* q3 O- t8 i
printf("\n");
0 F* ?* W1 ^: l% G9 M* yfor (i=1;i<10;i++) , }1 {: \! ]& |# D! z+ R5 J( E# K
{ for(j=1;j<10;j++) 4 L. b0 z( U  }
{ ! ^7 T- _6 h% K1 s% I8 N5 K0 i
result=i*j; # \: Z- C7 b% j/ h
printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3*/ # o5 A+ v7 p) W
}
! O  Q# ]4 s. l0 _  `( Z: k+ t. Q. rprintf("\n");/*每一行后換行*/
  Z; V; ~( ^! v3 i; Y$ d8 q( x" S} ( \6 W. L. g! }& L0 ^, b
} $ m- i# i* d7 X9 f+ s5 ~( E( M2 X
============================================================== 9 U0 M7 D, j# K, e
【程序9
! t# e! m+ t* {0 p題目:要求輸出國際象棋棋盤。 (嵌入式學習企鵝要妖氣嗚嗚吧久零就要)( b6 k, H% l. @: [" g# k
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
0 V& E7 u8 [( x* y& q2.程序源代碼:
) J! `: N/ E0 Q/ L1 t1 B. F#include "stdio.h"
( `$ x# ~$ ?! s, nmain() / H# b6 {# ]: i. r1 N8 }2 q: }; r% s
{ % c# z# C4 a% }& o2 I
int i,j; 5 ~( a7 C( |" [) b7 n; _* w9 w
for(i=0;i<8;i++)
. R  z' N( U! \) C{ 8 @) N+ ]7 x' Y0 l
for(j=0;j<8;j++)
$ l" A2 \/ D9 f  hif((i+j)%2==0) 2 {! ^0 U+ T! [" ~2 T) {
printf("%c%c",219,219); - o1 s" H, ?" P4 R" L0 r
else
, }. E0 x& `6 s7 V0 _printf(" "); + K8 B. K. H. b! E' {; z* l: t
printf("\n");
9 T5 Y3 Q: A0 t9 W8 ?} # V, R( r7 w& z) j4 E: S
}   Q# v+ V  `% l
==============================================================
, [# T- S! ?& X【程序10* i( S( I7 G$ e2 t
題目:打印樓梯,同時在樓梯上方打印兩個笑臉。 ( h% y" q$ t7 |
1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。
7 O9 S* Y6 o7 z4 t& W; C! G% ~2.程序源代碼:
( o/ T+ l1 o( t- O3 I#include "stdio.h"
, U+ g. e4 l  pmain() $ H3 \8 `% f8 N% s1 U
{
+ S) g" n" V1 J9 ~& K7 Q9 kint i,j; # l: ~  ]1 p& _! W0 n- r& l* `- b
printf("\1\1\n");/*輸出兩個笑臉*/
# ~+ J/ a& m. O& g! vfor(i=1;i<11;i++)
9 a3 r9 k% \8 Q7 N% ?{   _5 O( [+ t* |$ `8 N  x
for(j=1;j<=i;j++)
5 W0 ~# B; I( \- V* vprintf("%c%c",219,219); : R8 k8 d, g# F) O& U% I' A! Q
printf("\n");
/ F9 ^+ W+ U7 C  c, D4 M) `, U: Y} + {" ?: j+ H1 J. U/ c- r
}
0 f: `$ w" c) p# p
6 U5 O5 e8 K9 F. Z9 e+ M3 @+ s% B" ?9 @7 N
4 m& p7 t" E2 V( g
作者: zhlei81 2005-1-22 11:29 回復此發言 # ?" B3 _$ M0 s" _2 C
% H  _) n1 p, [% G, A. p9 v% [: }
--------------------------------------------------------------------------------
4 u7 a/ g* h9 T2 T% \6 `& i1 S0 f' j9 B
3 回復:經典C源程序100
4 D9 D% P% B4 p$ l( w$ j7 l【程序11& [& ?1 |7 t) w8 j" i! z, J) B! B" U
題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月
# @* L- M* `9 \0 C+ o% p9 I0 ^后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
) I4 V. i. J1 n' V- A5 ^5 C1.程序分析: 兔子的規律為數列1,1,2,3,5,8,13,21.... . B3 u4 q, r# X' O% }& F
2.程序源代碼:
9 C/ s. k7 H' o6 L% emain() $ w, k5 Q( K) x9 v+ \: \, F1 C
{ 1 E! o" |' E( N. M7 P
long f1,f2;
$ }& g# x# W* \$ Aint i;
2 K! j* T" G7 b% s7 G( C0 Uf1=f2=1; 4 j  A2 B' m- s+ [' O$ v
for(i=1;i<=20;i++)
) [$ i7 B0 v* i' r2 c: o1 }{ printf("%12ld %12ld",f1,f2); 2 d) ]5 N' C$ s
if(i%2==0) printf("\n");/*控制輸出,每行四個*/
! M& t0 ]: Z9 h1 t6 o; pf1=f1+f2; /*前兩個月加起來賦值給第三個月*/ 6 `: v; ^* {: ~, ^( V+ ]9 t
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/ 9 c/ f: B8 ~6 q) O- R& E
} # r# C! m% N  G! P0 \+ f& _
}
$ ^$ ]% W( v8 q==============================================================
6 m3 A/ m: a& \5 e7 c【程序12' U; T; c, A% N* M3 i6 A
題目:判斷101-200之間有多少個素數,并輸出所有素數。
' e8 N: [2 `2 ?7 v, j' [2 _$ w1.程序分析:判斷素數的方法:用一個數分別去除2sqrt(這個數),如果能被整除,
$ C* H* d; f& ?$ W' L. c7 n則表明此數不是素數,反之是素數。
+ j: @7 a9 Z* X& |2.程序源代碼: % ^% o( L" V* Q6 I8 `" v
#include "math.h"
2 d" g4 S/ d0 ~0 @- s7 C# ~) O# [main() ! X( }" z& O1 i* C* [% l* C
{
- `& b+ t/ a) Y- f# E! a) xint m,i,k,h=0,leap=1;
+ H+ v9 ?' b! A, }- Cprintf("\n");
% J% S" \' N: J; W7 A" ^& w4 Xfor(m=101;m<=200;m++) , `  r+ E' ^' K+ V& O# o+ P  z1 F
{ k=sqrt(m+1);
5 o6 s. I2 y: P# B8 G/ _4 zfor(i=2;i<=k;i++)
6 I0 ?. x4 q5 lif(m%i==0) . r- U0 G$ ^( \/ J1 p+ ?
{leap=0;break;} 4 e1 T, F' |) T( D+ M! F
if(leap) {printf("%-4d",m);h++;
0 v, [' S4 u! |& f# |if(h%10==0) 5 D  i5 A; W7 S, w* t: O$ F
printf("\n");
0 i4 t! O( K1 y6 Y}
8 Z6 `4 H- h5 E3 M" cleap=1; . ^, H) q! l% h7 ~; w; w; ?7 P
}
9 D9 `* K. j) N( ^printf("\nThe total is %d",h); 5 G+ r/ i' d, O) M1 w6 {3 s& a
}
0 h; D# j; K. _% s& I============================================================== 7 G% s" z% w2 @4 j) A8 k  W
【程序13
2 Q! q( h6 h- Z$ Y6 o9 l8 s. A$ L9 y題目:打印出所有的水仙花數,所謂水仙花數是指一個三位數,其各位數字立方和等于該數 6 O' X- t! f2 L' n/ U
本身。例如:153是一個水仙花數,因為153=1的三次方+5的三次方+3的三次方。
% F0 U" [! M1 y1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
. Y0 L* f6 T) c3 C4 y2.程序源代碼:
$ i1 F& B( x7 p2 ^4 imain()
" B% @. h/ t; n" S/ k{
0 j, C3 e5 e# F+ X0 s4 Mint i,j,k,n; 9 k1 [, K  h6 k$ }8 K
printf("'water flower'number is:");
* t) o6 {# d: xfor(n=100;n<1000;n++)
; v# b" [" `- u. A: [{
; d: f' z2 j$ Ai=n/100;/*分解出百位*/
5 d: c  I& W, [5 z0 wj=n/10%10;/*分解出十位*/ 6 \" L* ]; O- w- U8 u
k=n%10;/*分解出個位*/ ; \5 x5 ^) a2 x2 v  x
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) " G# q2 V+ Q1 M. S
{ " g" {4 H3 o. w
printf("%-5d",n); $ Q7 U' Z( q: g
} ( T! O$ V6 o' |4 u; S* r& r3 C
}
' b9 i& V1 v' V) Xprintf("\n"); - I2 g/ C8 s/ `- \6 F' z; V
}
8 t2 B% Y( n+ z. d! `0 y============================================================== ( Q, m; A, A# B' b
【程序14' o! p# o6 w& E4 l' D# s* U
題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5
" H+ I& p/ e' m& Y
5 r+ I! q  m' P- B+ Y程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成: ; n2 T) P' g) Y/ @
(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。   s1 F' ^* [0 }3 {
(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n, 3 z! p9 [$ z3 o7 G2 d% V6 X
重復執行第一步。 9 u9 _/ U; Z* S- ]
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。 " m: F% B* U/ \- J

. q' O' |5 q) Z( G( A- }, A2 C2.程序源代碼:
! q) |6 U  w2 \# S3 {) K$ B/* zheng int is divided yinshu*/ 0 p! H) _) k5 {
main() * a9 ^( u1 g( z6 Q" m/ @1 j6 r
{
) Q5 j) E* ]) Wint n,i; " I3 _& t$ s9 U5 u+ d
printf("\nplease input a number:\n");
8 p* Y' }0 }* z' Dscanf("%d",&n);
9 p- E7 b- i8 T0 Fprintf("%d=",n); 4 q2 W% g8 i& K  @! T1 c, F6 R
for(i=2;i<=n;i++) , ^- s% f! x4 ]: ?7 W7 E: H5 D
{ ) q( b1 z+ I3 V8 |, P& L! {5 A' F5 D
while(n!=i)
& O& S' o# ?0 M' T( Y! R3 I# c{ ) _; O/ E, `& @+ O7 W! @
if(n%i==0)
2 t: n4 H: W1 z& r) r{ printf("%d*",i); 6 p* B. J9 C9 i- B* j' @
n=n/i; + a/ v) K5 i$ h$ M6 b7 R2 G  }
}
) F; J$ \; q" \" H- kelse 7 N) B$ S) W) \
break;
$ ?* x) v1 {2 }. `} " T" ~3 p4 i& j- O
}
1 w. b/ z6 H$ Y3 M) h* i5 ?& vprintf("%d",n);}
5 q1 ~' i; P" ?' {+ a) @* K. \- t==============================================================
4 r% E) ^; ~* `【程序15, j/ W$ v+ k5 w, Y4 i0 ^* X2 C" {
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示, - h) \% s% Y, l6 @/ W
60分以下的用C表示。
, k. l* t. \5 m6 q: `) O2 K, C1.程序分析:(a>b)?a:b這是條件運算符的基本例子。 6 e+ M# B8 `5 @* }1 Y* Z* y  \
2.程序源代碼: * F. ?7 Z4 c3 `1 L/ {
main() / ^) u8 f5 b' u0 a' E1 R/ o
{ 7 R) s6 A# {' L& b0 ^
int score; ' i2 K! |; K, X/ S7 _  \
char grade; 8 D  a5 F8 s& d- x9 y
printf("please input a score\n"); : e: A  Q7 ~  _# Z* t, A2 M  |1 Z- c: A" J
scanf("%d",&score);
: V" U4 O( q/ [4 Y0 ugrade=score>=90?'A'score>=60?'B':'C'); # Z! V7 [1 e- Y1 G
printf("%d belongs to %c",score,grade);
( }( r* n& L  u* w' M} " C4 ^3 d$ G; ^! M7 k
============================================================== $ M! v' V) y+ N0 f

6 ~: r  w8 p  ]. q




歡迎光臨 機械社區 (http://www.ytsybjq.com/) Powered by Discuz! X3.5