国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

機械社區

標題: C語言經典算法100例 [打印本頁]

作者: tainqing    時間: 2017-9-23 10:57
標題: C語言經典算法100例
【程序8" }  y  F6 z1 Y: ~9 t. r
題目:輸出9*9口訣。
( U$ R, s4 I( J, T6 y( E1.程序分析:分行與列考慮,共99列,i控制行,j控制列。
: d$ M& j8 k: U3 B. Z$ `& M/ A2.程序源代碼: 7 w2 x; ]* w1 g6 M* U" N. i) z
#include "stdio.h" ( _7 W" [) u- X0 Y- d! o/ P2 f
main()
$ o8 v  s2 b! D, t& [) l7 q{
5 T; g% U3 w% F" hint i,j,result; + _$ W# t6 k: l; w' d
printf("\n"); 8 i' ~) B# u1 ?3 q! u/ {" Q
for (i=1;i<10;i++) % _9 K) D, D: r8 o; {
{ for(j=1;j<10;j++)
7 {( h. B" C) {  i& r% V, v1 Y{
" Y* `- y8 H# cresult=i*j;
) T' P* N( V7 nprintf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3*/
  q) K7 c: n/ G% k}
& M( X. K; J$ [+ v+ n: m7 wprintf("\n");/*每一行后換行*/
0 u& ~( w$ u0 S4 X+ h3 x* x}
, ~" B2 p3 U2 a  }- F) W. I} ; A4 d+ ?& B# t2 F- {' d
==============================================================
! ^, M( l3 X) L3 {; w【程序9! L. y; y/ z' e; v# S9 \7 P
題目:要求輸出國際象棋棋盤。
  F/ B3 f! e" e1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
8 U2 d, [* u0 U; s5 O2.程序源代碼:
' [; ?6 o) I4 l+ K#include "stdio.h" ! @7 f! d! Z- P, f) D' z2 n" S
main() ! A* ?: `3 k# k9 ~* Z+ v6 p
{ # k$ T5 J1 ~1 M6 @8 a
int i,j; 0 ]0 ?2 i+ @2 S( y" I
for(i=0;i<8;i++) ( G) {' n& [9 `1 K' W
{
. N/ O: ]4 f( Z2 u+ Y& p$ v5 tfor(j=0;j<8;j++) " Z7 V9 a! l$ m- J' T
if((i+j)%2==0)
! u# F8 u: A! ]7 f% Xprintf("%c%c",219,219); $ E( ^0 L0 L1 [4 ~+ I& Z
else * I, t" \0 t3 ~2 _: z& O$ y; ~% o
printf(" ");
2 z# b; n. N/ y0 L2 {1 }! k. f4 lprintf("\n");
# R  o( E" j) r' B} 6 I% ?- C; _, P0 N
} ) \  y3 Y) j/ J3 W. J8 B" ^
==============================================================
/ f5 k% _6 k* K$ Q* {【程序10
( @. \% [; b5 J# m; F, D' `6 V7 h題目:打印樓梯,同時在樓梯上方打印兩個笑臉。
; d" T" {) A6 F6 ^1 ?$ |2 |1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。 5 Q% m/ \9 @3 Y* H
2.程序源代碼: + W" v" Y$ m2 Q
#include "stdio.h"
# P4 p5 |; G5 Y( Qmain()
7 h% |3 W2 a9 \1 ^) B+ n9 |{ $ `/ O- `. ]2 [0 Q( O# r+ d
int i,j;
- g0 T+ g3 q* O1 T" s# ?& c" `printf("\1\1\n");/*輸出兩個笑臉*/
1 I" Q. n; [; Efor(i=1;i<11;i++)   t& n5 u& H; x) }7 R
{ 5 Q- F+ O, b$ x3 Y( a9 L
for(j=1;j<=i;j++) ; r6 @1 [. d- t1 }" o7 ]* W7 q6 v
printf("%c%c",219,219); 4 c$ t4 d! b1 V0 H5 S7 e' {
printf("\n"); / }, {, {3 w1 }
}
; U9 U. T' Q/ v- n}
7 x4 O! C. V, g: F2 U7 n" f1 P% \0 L! m, F% q" A

; k) f- A3 W- n7 D) ~0 M) B( q; U8 ?
作者: zhlei81 2005-1-22 11:29 回復此發言 , O1 C$ K: J/ `1 b
% e2 E' E! L1 r3 E
-------------------------------------------------------------------------------- % D+ s' B! F. ~3 {0 L
) z# q" \) E; n# B0 ^: x  ^' Z3 \. S
3 回復:經典C源程序100
0 p( O& e0 V, S5 F# @, [【程序11
1 d/ D8 _( |7 m題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月 ' J/ T) v! M: q( p, b! M
后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
, u* ?5 N$ v/ U( b4 S1.程序分析: 兔子的規律為數列1,1,2,3,5,8,13,21....
) R  _" b# D1 s: C2 G# I2.程序源代碼:
' `! R  c1 x. q+ @3 e" }: |main()
1 [& v5 V$ ^! m2 \6 g{
5 g5 a% o5 N" E' c% J6 [4 Llong f1,f2; . F: m6 n; f! ]( e: a
int i; 4 Q& i- K  k6 ~7 V
f1=f2=1; 7 o# X8 u2 O3 O6 W9 c& O+ k, J
for(i=1;i<=20;i++)
- ^/ N7 [+ Q; ~1 z{ printf("%12ld %12ld",f1,f2); " j4 u/ I% Q$ R; x) z
if(i%2==0) printf("\n");/*控制輸出,每行四個*/ + ]3 l- p  X2 i
f1=f1+f2; /*前兩個月加起來賦值給第三個月*/   s9 T. j9 G9 n6 h
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/ 5 w$ E5 {9 W5 r1 b8 d  t  ~
}
: }( ]8 c& o: W3 ^# F3 k}
7 a( r2 g- C! X7 F/ }: y==============================================================
# k. ^+ j, ~3 e! ]3 G【程序12) C/ D. a, i: A. z1 d, Q
題目:判斷101-200之間有多少個素數,并輸出所有素數。
) Q8 F. u/ X& A, ]9 x1.程序分析:判斷素數的方法:用一個數分別去除2sqrt(這個數),如果能被整除, ( u% r7 l) ~0 X
則表明此數不是素數,反之是素數。
* a, H3 r, t8 K2 N- x. e. t2.程序源代碼:
% [+ ^( r" U. v# T, S) D#include "math.h"
/ R# f* T' A$ g, [8 K0 Qmain()
1 Y/ r! e1 n4 M' g{ . T4 O$ i! u% r( b4 t' o
int m,i,k,h=0,leap=1;
1 H" g. j: X8 Q8 I4 Hprintf("\n");
& w0 Y- G$ Y" v( f' Ufor(m=101;m<=200;m++) 5 H. }7 {$ @2 Q% ]) l3 J
{ k=sqrt(m+1); ! i) X* |$ ?8 P1 Q6 w4 L0 Y
for(i=2;i<=k;i++)
/ e) F& ~  u, y, Q- t+ H6 Rif(m%i==0)
* v3 ]8 q$ Q3 X! _{leap=0;break;}
- b. G7 G: Y7 l" ~if(leap) {printf("%-4d",m);h++;
! ?- [/ R8 H2 Lif(h%10==0)
% c0 V+ E* J* Cprintf("\n"); - K* M6 a' F8 H5 ^2 l
}
. b& O; A/ A8 T$ v! [4 Cleap=1; ( E! @# g) @0 ~
}
- }- b* F1 J# m( zprintf("\nThe total is %d",h);
. p; t! g4 X# U5 y} 9 y6 t7 a6 `4 p  d
==============================================================
+ F8 D' o( p8 O【程序13% l. V5 p9 P6 O* y7 r& e# q  J
題目:打印出所有的水仙花數,所謂水仙花數是指一個三位數,其各位數字立方和等于該數 % V, Q- N! d5 N- T& N+ j  F
本身。例如:153是一個水仙花數,因為153=1的三次方+5的三次方+3的三次方。 - ~" u% i& v. `7 m6 b- G
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。 4 F9 u5 g9 S5 k, E; ]) [2 Y" ?/ W! T
2.程序源代碼: 7 u0 ^) T* ?. [
main()
" M, f( B) V4 U2 i8 Q{
# T0 _  m' r6 j4 zint i,j,k,n; # P; S( m. I/ V
printf("'water flower'number is:"); 4 e+ f. ^4 n% r9 g* L0 m3 o% d
for(n=100;n<1000;n++)
" a3 X% Y6 C8 i) R. W! x2 w% ^{ : I! ?$ o5 g# w% k) _6 X
i=n/100;/*分解出百位*/ * F. |4 ]: D4 k  a+ J  o  X3 V
j=n/10%10;/*分解出十位*/ 2 [/ ]- v6 n6 x: q0 @$ K
k=n%10;/*分解出個位*/ 0 Y& t# _1 s) m8 f1 c
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) $ O$ d$ `8 \& E, [5 U* N, x
{
8 U) Q& G; g- C" z+ Q8 A2 Tprintf("%-5d",n);
( v9 x; G9 k& ]' U! ]}
& X8 t' y# O8 U} ' c4 S  Q) n8 g5 `0 Q+ m
printf("\n"); - n6 R, T. a1 S9 p) {" I
}
& d7 ], e% }! `==============================================================
' s2 g4 J4 h* Q! w  a' `【程序145 b! F* [' S' I: x( s5 p( u: O
題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5; M2 Q! Z3 Y7 [4 j* o

8 l8 n; V6 p6 C- l! d  X程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
2 G, L, L$ x9 }% ^# `(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。
) S9 e0 {* F& q  a% m(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n,
8 ^! q) U4 i: ?) m9 m重復執行第一步。 0 Y; r, G# ^' `
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
+ D' J1 n+ _- ^  i4 Y5 t3 H. J1 D4 ^5 j+ o( ~! B! d
2.程序源代碼: 7 m# m! n' E. D6 t$ V
/* zheng int is divided yinshu*/
8 v  _7 m2 o2 B) Zmain()
/ ^" b; I  j" d5 t5 X{ . S  g9 |1 [- H4 u
int n,i;
' B! k# {& }5 h- i' Z+ Sprintf("\nplease input a number:\n"); ! [$ F4 z2 U  U# v
scanf("%d",&n); ) k# h7 ^  f! x+ ?. _7 T! `7 E
printf("%d=",n);
- f/ O. `( r& f8 N3 efor(i=2;i<=n;i++) ; a( ?6 _. U# {
{ # g2 I: m6 V2 v! R4 X/ i0 V4 u
while(n!=i) / w4 Y+ I, H; f% {2 x/ a* X
{ 9 I+ n, Q" T2 C1 K$ @. R( \' i
if(n%i==0) - k7 A! ~, @% p1 k& d4 u
{ printf("%d*",i); + B* D* k( O9 {& a6 @1 S
n=n/i; 0 s, F, v6 f5 {: s( B) l; H6 b
} 7 A$ O$ g+ {$ f! r
else
) F1 J5 y* O6 C$ hbreak; & O: D6 k4 R* @1 ~; k+ i+ ^
}
8 q2 ?8 |8 y4 K# ?9 R) c}
* I- a% {1 F' u  W- aprintf("%d",n);} & V% o* i/ c& w  t5 ]2 \3 a
+ N9 F7 W* l3 P0 x

作者: 面壁深功    時間: 2017-9-23 11:47
看來也并不是那么難。不過飯還是大家分著吃。
作者: xiaobing86203    時間: 2017-9-23 12:52
趕腳很牛掰的樣子啊,機械人完全看不懂
作者: 未來第一站    時間: 2017-9-23 16:14
收藏了,樓主不會是在學程序開發吧。
作者: 華2017    時間: 2017-9-25 17:47
不是100例嗎?
作者: danxiaogui2017    時間: 2017-10-9 21:20
c語言的基本應用挺好的
作者: 675452577    時間: 2017-11-23 15:37
好東西
8 T8 \! G1 k- c' K7 F9 o. }
作者: 堅如磐石    時間: 2018-2-28 13:51
在學校學習過這種
作者: 坦克世界之王    時間: 2018-2-28 16:57
看見程序就頭大
作者: 411835728    時間: 2018-3-4 22:16
你騙人,我數了,不到100例,把剩下的吐出來,不過還是收藏了,雖然簡單,但是基礎和根本。
作者: UNCLESAM1998    時間: 2018-7-26 10:47
hen shi yong xiexie
作者: 912212596    時間: 2018-8-22 15:36
基礎編程,,樓主發這個帖子想干嘛
作者: Lynn_S0yDy    時間: 2018-8-23 15:51
不夠100個啊
作者: Lynn_S0yDy    時間: 2018-8-23 15:54
不錯,支持
作者: mengfeit    時間: 2019-12-22 11:54
感覺好難呀,做機械的想學編程
作者: 井店    時間: 2019-12-27 18:18
基礎哇!
作者: 田爽123    時間: 2020-1-2 16:22
就這么一丟丟么




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