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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 2591|回復: 0

C語言算法6-15

[復制鏈接]
1#
發表于 2017-10-5 16:43:28 | 只看該作者 |倒序瀏覽 |閱讀模式
【程序6# |0 w4 F- V1 r. z3 a; T3 M% B
題目:用*號輸出字母C的圖案。 / K) X2 S( \% P* s; Q9 [
1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。 - z- x: l6 s4 m' S
2.程序源代碼:
* {! O4 O% R; m) D# e: C+ m#include "stdio.h" 0 R' L* Y1 J; R
main() {   U  _/ o. A$ ^5 s! _7 P4 q. j% @% V
printf("Hello C-world!\n"); ' z$ Y( w# Z8 {1 C% d) d; T
printf(" ****\n");
3 y3 v3 u" P% h5 L5 f& b5 Rprintf(" *\n"); / h* J3 o% _& B. s: P7 K
printf(" * \n"); 4 [: Q2 N+ o* [. e6 D, F2 U
printf(" ****\n"); }
& y7 ?8 [1 I- Q# _* H==============================================================
; V: Q4 J$ n( g【程序7- T$ k( }' h8 ?
題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful! 0 p- {7 I% A7 I; N
1.程序分析:字符共有256個。不同字符,圖形不一樣。
; L9 Y  G2 F1 N2.程序源代碼: 9 l7 s5 A% N- t" Q' N* k4 U1 k
#include "stdio.h"
6 r0 N5 l$ X4 Lmain()
& V8 D: R( @1 j4 }{
* W% E( X9 p/ ^* }7 O' Echar a=176,b=219; * }5 F' b2 H) q4 \# S. Z
printf("%c%c%c%c%c\n",b,a,a,a,b);
$ x8 V1 d5 `: n- a9 k- i/ D. sprintf("%c%c%c%c%c\n",a,b,a,b,a); ( Z( y9 ?  X- K6 |0 y; j
printf("%c%c%c%c%c\n",a,a,b,a,a);
9 K  k: v6 U" S; r3 E4 m1 ]6 zprintf("%c%c%c%c%c\n",a,b,a,b,a);
2 ^5 l, Y) x2 S" L) |2 u4 T4 Wprintf("%c%c%c%c%c\n",b,a,a,a,b);} $ K4 W$ W! O% D* p- ^
==============================================================
4 Z/ U( a! N# P# _$ b4 f0 C3 D【程序8
  s* j2 s  a- I+ W題目:輸出9*9口訣。
+ f+ j+ j& R) q7 M4 |4 r* ~6 p1.程序分析:分行與列考慮,共99列,i控制行,j控制列。 ! E3 y2 [8 Q: z5 U2 X- `# T" F5 L0 z9 l
2.程序源代碼: ) T1 O4 U: X$ o
#include "stdio.h" ; F8 q4 [3 z$ B9 n* E2 o
main()
8 G0 {* O% z' g7 D$ c0 p{
/ p8 M8 [  |: c7 |7 r( ]int i,j,result;
7 ?  y& B  T9 U9 |printf("\n"); " Y; u" q1 s- u2 j
for (i=1;i<10;i++) 5 o! E5 N2 x- ]4 h5 [$ X
{ for(j=1;j<10;j++) 8 ^- L" C" ]. g8 U- q9 A
{ ( y1 [7 Y# p# T6 Z
result=i*j; ( N1 H* c5 S4 w- k7 z' }. Q2 B
printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3*/
; {! ^0 A) M4 _$ m5 l1 Z} % J& n: l0 f0 p+ X' H  b. u
printf("\n");/*每一行后換行*/ 9 u4 N' P) ]; w6 [, ?! H, q3 @4 z
} % k: }/ {  Y  V% m% V2 P, t* x
}
1 F  V1 f; A- `$ E1 z0 V& p5 T==============================================================
/ x2 ]+ f, _* x8 ]- |/ u【程序9
; S1 m' s4 Y! L. X$ H, R/ W題目:要求輸出國際象棋棋盤。 (嵌入式學習企鵝要妖氣嗚嗚吧久零就要)( w9 j% J6 U/ }. a  p2 u9 {
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。 . l2 {, Y* j8 M; K  a4 b
2.程序源代碼:
5 i" d  i* v$ M3 X& w#include "stdio.h"
/ W6 D9 g4 s5 _1 vmain() 6 R, R* \; D+ |# [3 L
{ & m3 n: T' P: o1 f7 l
int i,j; $ ^/ [# Y$ L1 F0 \
for(i=0;i<8;i++) 1 e9 ?, Z& ?7 o) s
{
) r* y8 S" S+ Yfor(j=0;j<8;j++) 8 U6 |+ C: M$ ^  }+ }' M# X
if((i+j)%2==0) ) m. R8 p7 D$ v8 g1 ~% `7 y( a
printf("%c%c",219,219);
; ]- v, R6 |# `7 X" j8 i- nelse $ s- g1 r% h5 N5 L
printf(" ");
) u: ^" d# [& ~8 q* J9 Eprintf("\n"); ' G/ |  p5 V4 Z3 @3 j0 i
}
; C9 d& i. D5 k9 ~; k: S; h}
3 |6 D. F1 i3 r  k0 N2 {' G==============================================================
& u) T# Y& x) \9 S" _【程序101 s/ s! }8 b1 ~0 L% q2 _
題目:打印樓梯,同時在樓梯上方打印兩個笑臉。 ' Y; D( s0 B& x/ @, n" F' ~
1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。
3 l% l# q) n6 a3 [$ T7 c2.程序源代碼: # K2 @% m; X* B$ b2 E% P
#include "stdio.h" * r) m. z% N( e# M$ F$ f, z
main() 3 d* c% R( J0 G$ V: u. D  S
{
- X3 n& m+ Y% R0 k4 {9 o7 x1 eint i,j; 7 d- g3 t3 w4 H3 o2 G) h
printf("\1\1\n");/*輸出兩個笑臉*/
0 _1 a7 @4 q$ s8 R* z7 ofor(i=1;i<11;i++) / Z: z2 p) k* s2 B8 _+ D* \# [: A
{
4 E; h$ \8 g6 [2 S2 P( A8 lfor(j=1;j<=i;j++)
; F- R1 ]7 G8 q+ t8 D$ q3 Dprintf("%c%c",219,219);
( u: d1 z& t1 |2 y+ |* d9 nprintf("\n"); 7 T2 {* m9 p. p6 ]
}
9 N% E/ o  ]5 W}
: Q7 `# S3 N% p
5 @0 D0 t& e( g7 G, \& j; P* B. a# t5 u& D0 d6 w3 e; }

  e- w" c5 c4 A& L2 J作者: zhlei81 2005-1-22 11:29 回復此發言 4 g9 ]0 r" k" B( c. q* d6 R8 H

9 k3 D: G1 g( S1 t0 Y% B5 D--------------------------------------------------------------------------------
; G. x) n: M# M. c# i8 F, Z( @7 _  u1 _  k! n* q! y: {
3 回復:經典C源程序100
' U& u3 E8 L7 I1 q: h  [) a【程序11
' {# O1 C4 g: H  Z/ q: N題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月 2 `2 G( o, x# I8 f; W! ~' j0 k
后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? % }; ^8 M, J/ C, a+ Q
1.程序分析: 兔子的規律為數列1,1,2,3,5,8,13,21....
$ A- A' p4 f. N2.程序源代碼:
5 _1 y1 P8 N' Ymain()
. v' p+ v  P  j: x, ^{
! Y6 U) _7 }3 M. Along f1,f2; & H0 `8 @: U8 r- S4 r
int i;
* y/ {# G0 i  R& s' Zf1=f2=1;
0 S2 s. ~1 {! X5 I' S- c" wfor(i=1;i<=20;i++)
. ^: K. y& r9 W. ?' m/ u{ printf("%12ld %12ld",f1,f2); , X3 d# K7 r) [$ ^7 B& z0 ~' m
if(i%2==0) printf("\n");/*控制輸出,每行四個*/
8 a9 d; }# R2 q2 a8 W: U- t4 Lf1=f1+f2; /*前兩個月加起來賦值給第三個月*/ ! g0 @; o7 _3 \; A' P# f
f2=f1+f2; /*前兩個月加起來賦值給第三個月*/
8 G2 @' r8 [/ V/ V* l} 9 @0 W: |. W! e. Q  {+ y
}
& W( T  X9 R, W8 X" P: @' }! ^! i==============================================================
6 Z' q2 Q: ^; U+ f/ b3 t8 G' r【程序12
; W# L& |' `1 G( M: ^& {/ t題目:判斷101-200之間有多少個素數,并輸出所有素數。   j, {  f3 Q8 D
1.程序分析:判斷素數的方法:用一個數分別去除2sqrt(這個數),如果能被整除, 8 P4 |. L9 ^0 [
則表明此數不是素數,反之是素數。 " s' d; w/ f8 ?0 X0 ]' R+ p
2.程序源代碼: * n6 c  e) I: O# C2 E$ `
#include "math.h" 6 U- h% \( F& T; U
main()
9 ~4 K8 y6 V2 N7 e' _{ 9 H* H, U8 O( Q0 g: n4 y
int m,i,k,h=0,leap=1;
. F3 z; j' s1 w- c2 Vprintf("\n");
, c! m2 h1 m2 a  A( I: p/ T$ W0 qfor(m=101;m<=200;m++)
$ l& a* ~6 E5 n. P5 {# B{ k=sqrt(m+1);
% v* }9 i& W3 o1 Z! ^' ofor(i=2;i<=k;i++) . J( v& `6 _% {) u  b
if(m%i==0) 1 a. G/ ]# e$ _& Q
{leap=0;break;}
. n2 a4 z0 R) M0 o! L6 j9 z% ~if(leap) {printf("%-4d",m);h++; 8 A0 t  W! v( s
if(h%10==0)
# H4 ?  `3 |6 p. ?6 Z# r* g- Hprintf("\n");
# }9 U# i; _2 x$ |; a( J" v} & \2 l  ?1 a% ?; }; i. z6 n
leap=1; 8 L! f$ A3 T# f: H% C
}
7 i& v1 y. F  R  y- x9 a0 j2 `5 fprintf("\nThe total is %d",h);
3 V$ l" H5 L6 U- a2 S6 \; r} ! Y( E0 Z) F' T% W, G) Q
============================================================== $ u+ V( ^) b7 |+ @4 s9 L4 j
【程序13
3 a: _0 z* y' G6 v4 A/ c3 a7 I題目:打印出所有的水仙花數,所謂水仙花數是指一個三位數,其各位數字立方和等于該數 6 |7 Z# _3 j1 P- F- J; x6 G6 _3 K& |
本身。例如:153是一個水仙花數,因為153=1的三次方+5的三次方+3的三次方。
: A9 M1 K7 P2 u1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。 $ R' t- D6 d5 q% K
2.程序源代碼:
: P  F' t# D$ X/ S/ gmain()
5 c* Z1 [9 H, P% v0 G. e{ 9 {" L" w7 W; Z3 i( [: k9 X
int i,j,k,n; $ X4 }" d6 {* _
printf("'water flower'number is:");
( G, h6 O) v8 Q3 t) P  N- Gfor(n=100;n<1000;n++) & A( d, V5 {2 u8 s( }& R
{ % `1 R; \# i4 Q# {, j
i=n/100;/*分解出百位*/ . C- _: U3 _- g0 |  h9 ]# ^; L/ R9 e
j=n/10%10;/*分解出十位*/ % R4 r& q  q8 X/ c+ Q, |: k1 X
k=n%10;/*分解出個位*/ . Z: q* r- D* }6 n# P
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
* {/ w# l( h  B{ & }$ `2 [( N" Y/ ~
printf("%-5d",n);
- v( a/ q* i) i' l* D1 `8 \} 1 J4 S- e6 @9 L+ f, o  X! u
} / y; f' j8 b# W+ Y+ S8 z
printf("\n");
; S5 X2 M7 O# m# M( r9 H' A* P} + \' K$ H6 P6 n
==============================================================
/ }& C; }4 b- r) u! y. g【程序14
6 B* I, J' `2 K3 C題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*51 }3 u7 w! i% Q# n
7 q; q; q. F: c8 P/ k5 ?
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
) x1 _; ^+ a5 r6 e6 Y# Y/ K(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。 3 B; l/ ]( _1 B$ l% V# S
(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n,
4 ]* q) @. @4 [5 Z% u重復執行第一步。
3 Z  `8 P( n, _8 ?7 p% j(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。 3 H9 x$ n6 d  h
! X( O$ g2 g7 y% E- Y+ o5 k5 S
2.程序源代碼:
. E3 Y1 n/ S/ e) _2 s  ]" E3 Z+ C/* zheng int is divided yinshu*/ / }# ]3 C3 J7 `# x' G1 |* }( K5 _
main()
% _, I4 D8 F% \{
7 Y1 y9 F1 H. P* i0 L* n( m/ Rint n,i; 6 l- M2 r( c) T0 _4 E! F
printf("\nplease input a number:\n");
. J2 {  h9 C8 kscanf("%d",&n);
; l9 H- O$ g( P$ Bprintf("%d=",n);
8 G  D& t" }) w  g- b+ kfor(i=2;i<=n;i++) 4 P: Q( j: a* t$ E
{
+ P/ s/ ?/ n  X; uwhile(n!=i)
: P1 g# q6 D. s: f{
0 a0 {8 l# t* @. g5 {# d# W, Hif(n%i==0) - b. A3 z$ u: T2 a
{ printf("%d*",i);   M( |$ Y6 n! u9 }, i0 L5 Z6 r
n=n/i;
* d0 ~) A$ K# w} 8 L# t* V) k2 {- K( j6 `. J
else 4 v( P7 B& i# ?; D$ ]1 l
break;
5 S' o9 Q: Y3 b' j} ! V- _' [; @7 k4 C
}   _/ E. K3 y1 k; c
printf("%d",n);} . i- d4 Q( r8 v6 Q( w, ]+ R; @; M/ ]
==============================================================
# ^4 x7 l& |# S0 d" P: `【程序15, N" q$ p& Q0 D. U
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示, # Z: V- {! u/ _4 M1 m! g- Q! c
60分以下的用C表示。
, a$ w+ A5 [( P4 y* j" F1.程序分析:(a>b)?a:b這是條件運算符的基本例子。
/ `4 X  E- y5 C* H& a  c) o2.程序源代碼: ; L2 g$ s- x6 ]2 D) s5 ~3 |
main()
2 ^( i) l% C' ?4 h- M% ]{
- ]# m: z: [, C' h2 Sint score; % [& m0 }: B8 f
char grade;
0 a* x4 b. ^# b: `8 Eprintf("please input a score\n"); 4 Q% x, m3 L9 f% m- |
scanf("%d",&score);
1 a6 M  S5 c( T2 O8 T2 t$ rgrade=score>=90?'A'score>=60?'B':'C'); ( v. F" l1 m; q  A
printf("%d belongs to %c",score,grade); / z0 L# R, B( h/ F# D. t' z9 _
}
+ o/ I# B9 x9 |- R% q6 k3 b============================================================== 9 J+ M/ I" |% v0 a- r1 ?) q

1 ~) f3 X' c' ^/ F1 q# O. i# z  P
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

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

GMT+8, 2025-8-25 23:25 , Processed in 0.062037 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表