亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 5987|回復(fù): 16
打印 上一主題 下一主題

C語言經(jīng)典算法100例

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2017-9-23 10:57:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
【程序81 z( y  l; l9 M: E, M
題目:輸出9*9口訣,。 6 G* Y/ ]* V  M$ f0 f; k
1.程序分析:分行與列考慮,,共99列,,i控制行,,j控制列,。
; b8 i) {! X, t+ p. f; }  m; p2.程序源代碼:
* z% T& Z' y0 H; s#include "stdio.h"
8 i" S6 a9 z3 V7 j- d  h4 _main()
+ a" S3 L- \3 @- ?+ J" t, y- q{
6 v9 R! [3 H) |/ cint i,j,result; 2 \" V) O5 M  ?) A
printf("\n");
5 M, |- O% o; yfor (i=1;i<10;i++)
; H! S$ o, K- ?7 M0 B& ~; _{ for(j=1;j<10;j++) ; R/ D, d1 k# p$ F
{
: ~% Q/ K1 T, B" t1 x3 oresult=i*j;   r$ D( {' p6 G3 \! l
printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,,占3*/ 1 ~2 i; ^' F: N
} + _+ d! D1 |3 M% l
printf("\n");/*每一行后換行*/
& k+ x" j7 ~% z$ t( D# ]2 P} + f7 G8 ^5 `6 V  ^0 V* T- F
}
4 T5 o% D: d4 @* m5 {" o/ X============================================================== " b+ i3 C* z- M9 V+ |6 o
【程序90 _' U! e2 F; U% p. w8 X* i
題目:要求輸出國際象棋棋盤,。 & f$ U% J9 ^9 t& R! {
1.程序分析:用i控制行,,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方格,,還是白方格,。
2 S& H% q- b1 D  g* b5 d2.程序源代碼:
; Y2 N6 u" [9 [& {2 B#include "stdio.h"
. A- |7 {* z% N4 ?0 L# W8 R0 ~main()
3 y% H: T# u9 ?- n8 L- D  J* }6 g{
( N& w" X% C* s8 B6 Zint i,j;
% {% _) ~1 a* ?; o; Tfor(i=0;i<8;i++) % I$ X0 S  Y! \0 d$ [5 {4 T
{ , b* x, p1 N- \
for(j=0;j<8;j++) - d6 w$ R  O/ V  t' b6 U8 v$ X
if((i+j)%2==0) 5 O& K3 l" q8 m% ~3 F2 c+ P4 l
printf("%c%c",219,219); . F- q+ G7 _, v# \' K! q
else # ]1 t2 _8 \# y. x+ D
printf(" "); # [$ T# M9 D& }& s# ~, R4 C0 V* H
printf("\n");
* x  s3 v9 c0 \1 p, W' `2 Y}
2 G! ~: K( F8 S+ Z) k$ j+ _+ n}
! V- L! p' U! e( F============================================================== , N) ?& Z) s+ \: e1 C' K
【程序108 e6 `& q/ _' Z. ?* Q: p$ P& L2 ]
題目:打印樓梯,同時在樓梯上方打印兩個笑臉,。
9 b  Y3 ]0 ]2 d! a6 R8 p# `9 \1.程序分析:用i控制行,,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個數(shù),。 5 z' _' f, K5 \& W. H* x' O1 |
2.程序源代碼: 7 j8 V+ }, `0 |7 P
#include "stdio.h" 8 Q* g; l( p% ], ]9 y
main()
" Z) {3 e. k9 x! c* U) r! Q. ]{
: x# F9 }3 ?# w: P1 m1 cint i,j; : l9 M; Z& Z5 m5 b
printf("\1\1\n");/*輸出兩個笑臉*/ 6 ?: \/ F5 Q3 ~0 }
for(i=1;i<11;i++) - ?5 n! i  _6 G5 k6 h
{
4 [+ F6 [) }% K0 Y- w4 cfor(j=1;j<=i;j++)
, c7 X3 W, G$ V  F) Qprintf("%c%c",219,219);
3 \! y' v% @; b$ [* `1 vprintf("\n");
1 F4 A- m* o# |1 V( F% M" x7 a} 8 y& U. r8 j$ v  l1 ~; ~- K1 T
}
4 u: t- y. M9 \  p9 m& r; _" s6 P' z. y) k1 @' F9 J- C

9 g- p3 `/ |6 u" Z8 W' X1 F$ _6 U; R% D/ Z6 L7 [- Z5 y' g. J
作者: zhlei81 2005-1-22 11:29 回復(fù)此發(fā)言
  K9 C0 Y- F6 u3 n7 X+ _: j! }) r# x; K  h4 T
-------------------------------------------------------------------------------- " \- f) N5 Y4 Q' s8 o! s9 B

5 ?4 h9 Y" m. ^3 回復(fù):經(jīng)典C源程序100
( i7 G& k* M" Y7 N5 W/ g7 b3 \【程序11$ O2 d# u% O$ w+ G6 z8 F$ r1 Q
題目:古典問題:有一對兔子,,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月
8 a* S+ f! u, e6 r$ y' y& G后每個月又生一對兔子,,假如兔子都不死,,問每個月的兔子總數(shù)為多少? . n: K& q# ]6 [/ k* d  q) Z
1.程序分析: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21.... % c0 D& L' o! o
2.程序源代碼:
$ Y  t. f5 y  v( m  D1 e9 p- v  Xmain() % K; R0 A! T, ?$ v
{ # l& B, y6 J6 o- O# d7 U  {
long f1,f2; ! s5 B# i  p# P. m* j, [) I
int i;
; l3 W; N( W; }+ @& {f1=f2=1;
, b& y, n) c+ }for(i=1;i<=20;i++)
9 a! Z# w; T% Z{ printf("%12ld %12ld",f1,f2); 7 W; }$ D. P2 i9 P
if(i%2==0) printf("\n");/*控制輸出,,每行四個*/ : X+ E  M+ B. a, P. u- l6 C
f1=f1+f2; /*前兩個月加起來賦值給第三個月*/ / e8 p; h4 G6 i9 a3 {. {: G
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/
* E3 J1 I2 V( v% H! a& g} : T7 k) [' Z2 Z! b  q  C
} : r9 V: A. {% V, f" r4 g
==============================================================
! I; C- D: n6 j) a6 y: U【程序12) D+ ]) K8 K3 b( r$ d, q. S
題目:判斷101-200之間有多少個素數(shù),,并輸出所有素數(shù)。
3 e+ s) x# F5 r2 f4 H1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2sqrt(這個數(shù)),,如果能被整除,,
- j! r; w% \) y# B, H2 h6 a6 n則表明此數(shù)不是素數(shù),反之是素數(shù),。
0 ^; w' @+ L& {2.程序源代碼: ) S0 S; g% C# M0 |6 y
#include "math.h"
7 r$ [/ `, j2 Omain()
5 v7 i( n/ [5 E% r+ z{ $ g( a0 J6 C1 `0 k  S
int m,i,k,h=0,leap=1; 3 }4 V. }# b2 s% o5 f! h% H
printf("\n"); 8 H# Z8 S7 l6 q% ~9 a2 z
for(m=101;m<=200;m++) , C8 j: n! D* t. m
{ k=sqrt(m+1); ' A4 W+ r2 p, v
for(i=2;i<=k;i++)
' t% U4 ^1 ^5 Zif(m%i==0) ; I+ E. c7 i6 s8 g1 G2 S. E" i! z
{leap=0;break;} 6 w% m' [$ q; J$ K: f
if(leap) {printf("%-4d",m);h++; ( a: h: s3 }; g
if(h%10==0) + x7 V/ A/ Z" W) _0 \+ E
printf("\n");
( S3 i4 |! d# y& i. x7 @} + y7 _& Z- m# T* n: B
leap=1;
, X# M: m* b- B}
5 ]* E& m1 |$ k8 A4 A( Tprintf("\nThe total is %d",h); ( d, L' [' {9 M) \
}
5 E: O1 o! j" X! Y, t, I==============================================================
$ r; s0 \, j+ q+ c+ [1 m; }6 |* t7 T【程序133 e- Y+ _4 N& s6 [) @7 f( P3 c, p
題目:打印出所有的水仙花數(shù),,所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù) 2 Y+ w  r. v6 M1 u- Y. H8 u. n
本身,。例如:153是一個水仙花數(shù),,因為153=1的三次方+5的三次方+3的三次方。
+ u! S9 q- E5 Z% E8 s5 b. d( }1.程序分析:利用for循環(huán)控制100-999個數(shù),,每個數(shù)分解出個位,,十位,百位,。   j. ]; N+ G$ W
2.程序源代碼:
" H. j1 j$ J5 C8 v5 f! lmain() & _+ x5 N6 T+ |( F, d$ \- g' ^
{
! j, u( k/ F3 }. E- M  `1 {int i,j,k,n; " N, V  ^0 f8 C- F# I- H8 m
printf("'water flower'number is:"); 8 y) q; w9 L4 p; [6 m
for(n=100;n<1000;n++)
& c! O* O7 j6 U) Z{
8 Y3 x- @" F' y! Gi=n/100;/*分解出百位*/ 7 |- ^' ~0 z8 M% q
j=n/10%10;/*分解出十位*/ - ^$ h) [. a9 `4 u% A7 o
k=n%10;/*分解出個位*/
! l' U0 j5 i& \: y/ H; G1 Fif(i*100+j*10+k==i*i*i+j*j*j+k*k*k) ; J. B1 p5 o! y8 j5 b+ q
{ - ~* X- Z2 D! q& O! V9 s. _6 ]+ N" m
printf("%-5d",n);
  A; X+ V" k6 o! ~}
) L) P! |3 |3 D% ~3 K( f9 {7 A} + t$ Q6 x8 f+ c& M! l
printf("\n");
4 p6 c+ [  r2 N9 e5 I4 S}
0 |( z5 f5 ?6 l7 E! u============================================================== 2 e& R# b: t/ ~( \
【程序14
$ B: d& j& z* |3 B題目:將一個正整數(shù)分解質(zhì)因數(shù),。例如:輸入90,打印出90=2*3*3*5( w- i4 c; p% j
2 P, f/ b2 I7 T9 n9 r* v5 W) T* w
程序分析:對n進行分解質(zhì)因數(shù),,應(yīng)先找到一個最小的質(zhì)數(shù)k,,然后按下述步驟完成: 1 t% ^* Y7 g) ^) x: X0 W
(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,,打印出即可,。
! R; C% R7 _/ L( A(2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,,并用n除以k的商,作為新的正整數(shù)你n, . N: U/ \" ?: s& n; C* q. R* g
重復(fù)執(zhí)行第一步,。
, n  A) H/ [! @8 v8 G& J6 r(3)如果n不能被k整除,,則用k+1作為k的值,重復(fù)執(zhí)行第一步,。
- c% o. L( b) \# a6 z1 J) `9 r( I5 N' N2 r+ G/ @% v
2.程序源代碼: 0 m: D7 V/ v1 q4 k# ~8 w
/* zheng int is divided yinshu*/
# h+ C! S! Q: j: G7 E- qmain() 4 N$ Y6 [$ {9 h& t4 p1 T( ]) b
{
0 u# W4 G5 x+ F; q% b, X( i; k7 R8 Yint n,i;
( L( L2 G8 s2 Qprintf("\nplease input a number:\n");
- _( `) h% _6 R5 G' T/ t* [' P  \scanf("%d",&n); 3 n3 t& z/ Z" q6 x
printf("%d=",n); 6 \" ?. Z% Y' w- _7 `
for(i=2;i<=n;i++)
) I5 ^. v& _' [5 i7 T- b0 V  I{ / X$ H: p: p/ c4 n$ T  v3 Y: ]
while(n!=i) - v  j) f. F3 K: h
{
' P+ X( Y5 G/ z) [if(n%i==0)
1 V3 a  E5 r! A8 x& [  H" x7 f" T{ printf("%d*",i); & K6 F* \& ?" s  Z! k6 C$ q3 x- B
n=n/i; $ z" S( B$ l0 P6 @: V* ?
}
0 b" d" {" E& ]else 1 U  f0 ^, o1 w& K$ d1 Q
break;
, W2 H; E- `& T* i}
$ b. R& Z) z$ x4 r# [1 ?}
2 [9 s8 [  ^  \printf("%d",n);} 5 Q! o/ \+ m! x8 E

" L  U& c8 l1 D4 X
2#
發(fā)表于 2017-9-23 11:47:18 | 只看該作者
看來也并不是那么難。不過飯還是大家分著吃,。
3#
發(fā)表于 2017-9-23 12:52:40 | 只看該作者
趕腳很牛掰的樣子啊,,機械人完全看不懂
4#
發(fā)表于 2017-9-23 16:14:55 | 只看該作者
收藏了,樓主不會是在學(xué)程序開發(fā)吧,。
5#
發(fā)表于 2017-9-25 17:47:49 | 只看該作者
不是100例嗎,?
6#
發(fā)表于 2017-10-9 21:20:33 | 只看該作者
c語言的基本應(yīng)用挺好的
7#
發(fā)表于 2017-11-23 15:37:41 | 只看該作者
好東西
# n  v# w7 E( g- B/ D2 b. Q
8#
發(fā)表于 2018-2-28 13:51:49 | 只看該作者
在學(xué)校學(xué)習(xí)過這種
9#
發(fā)表于 2018-2-28 16:57:19 | 只看該作者
看見程序就頭大
10#
發(fā)表于 2018-3-4 22:16:13 | 只看該作者
你騙人,我數(shù)了,,不到100例,,把剩下的吐出來,不過還是收藏了,,雖然簡單,,但是基礎(chǔ)和根本。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-3-14 20:47 , Processed in 0.059610 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表