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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 2592|回復: 0

C語言算法6-15

[復制鏈接]
1#
發(fā)表于 2017-10-5 16:43:28 | 只看該作者 |倒序瀏覽 |閱讀模式
【程序6
) `# `$ I' L: {題目:用*號輸出字母C的圖案。
7 p! f0 j- L4 _6 A& Z1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
& f, h! O/ |7 x0 x9 L1 _2.程序源代碼: 9 D4 g3 N+ j7 l) N0 Q; ~* m
#include "stdio.h" - d, m$ j0 ?& E/ Q
main() {
( M8 A7 `6 p0 _/ |# U1 Eprintf("Hello C-world!\n"); 7 _$ x( R: o7 x6 K
printf(" ****\n"); * y+ f. p& {; ~' o& L" c8 p2 U
printf(" *\n");
# ]) O$ L  f; L: L1 i! G9 zprintf(" * \n");
. [" E/ Q) b# S( F1 w& P+ Iprintf(" ****\n"); }
, F- m" Q; e. K& q6 f1 W( b* P============================================================== 2 }: S5 a0 @: \+ z
【程序79 D! Y4 ]. C% M9 a$ M0 h
題目:輸出特殊圖案,請在c環(huán)境中運行,看一看,Very Beautiful! - A0 h9 n% y/ R' ~; M
1.程序分析:字符共有256個。不同字符,圖形不一樣。 * o; Y' M6 ]4 f9 i9 M6 [2 y
2.程序源代碼:
+ w3 r& \9 w$ U2 p( n#include "stdio.h" . e' A9 K9 c6 K3 J4 k2 Q
main()
1 p! l. _+ j- c3 l2 Q" Q& b{
; |" V0 q& I+ N4 Q; \, c$ Bchar a=176,b=219;
: Y. R8 V( c* O1 Iprintf("%c%c%c%c%c\n",b,a,a,a,b); : E4 B% V/ Y, q: ^( |! p
printf("%c%c%c%c%c\n",a,b,a,b,a);
& p+ I5 m3 F2 R0 g. r/ A: mprintf("%c%c%c%c%c\n",a,a,b,a,a);
9 g- i* q, q3 x7 b4 o" \/ Aprintf("%c%c%c%c%c\n",a,b,a,b,a); # ?, s! M- P/ Q! a
printf("%c%c%c%c%c\n",b,a,a,a,b);}
- u4 Y# ]7 o  `9 ?' ]. U. I============================================================== 3 a; E. [' |. X
【程序8
! s9 Y% R/ K! H& _題目:輸出9*9口訣。 $ P$ P- p) y1 `5 B* E
1.程序分析:分行與列考慮,共99列,i控制行,j控制列。 0 e$ S. K2 v0 g+ C5 F
2.程序源代碼:
; c" x7 K: A% d#include "stdio.h"
3 P' U4 D0 j: O9 pmain() 3 _" R& i9 `9 E) l8 R
{
4 j) h3 `! f8 eint i,j,result;
6 s/ P! [3 ~, ?9 U1 p* B% vprintf("\n");
' P% M8 \1 S/ ]* Z) f* |. J; E9 tfor (i=1;i<10;i++) # v, b( u9 q: P" Q' f) Z
{ for(j=1;j<10;j++) " E7 |' m& f5 m$ [
{ 4 s/ Q2 X1 Z& X: e
result=i*j;
; ?$ `3 q5 W6 ~printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3*/
. ^  k! u$ D9 J}
/ w$ H2 k7 U0 Q9 S, Eprintf("\n");/*每一行后換行*/ " E* n, v8 v3 z
}
3 `8 d. c$ y  `} # r5 E" k) D; e+ K/ [3 u5 `4 q3 n
============================================================== 7 t9 `$ w" a6 z
【程序9
5 V! E, ?9 m$ S4 W題目:要求輸出國際象棋棋盤。 (嵌入式學習企鵝要妖氣嗚嗚吧久零就要)
$ V9 A5 \3 o' I$ W1 e1.程序分析:用i控制行,j來控制列,根據(jù)i+j的和的變化來控制輸出黑方格,還是白方格。
/ J- L6 f2 Z+ I+ c4 i/ {- j1 L2.程序源代碼:
' |8 L; V  d) ~) D$ J#include "stdio.h" & v$ D* X1 J, J
main()
! B% n" J) P" Y* a8 N. z: @7 {{ ' K2 @( y& ]9 Q6 h5 e- L' N' Y9 a6 I
int i,j;
* i9 k' s4 ^3 N$ bfor(i=0;i<8;i++) ' ?& z, d- {! m8 b% b
{ : J( ]; v# a0 I7 j# @0 o' j
for(j=0;j<8;j++) 8 A# q- O* h8 d  ?! @1 Q
if((i+j)%2==0) $ W& S% E- i9 E; s% e) c, {
printf("%c%c",219,219);
* B& A' {+ \# G' A# Jelse " P2 w$ e: N' A: w& [. B
printf(" ");
- ^: ^& B" J7 |6 u- M1 v% Sprintf("\n"); 4 I( \0 H. W5 {
} / q0 {7 ?$ {0 ]) Q9 q
}
" W! w' L& [' U9 O5 f. ?) o* u============================================================== " z4 \" Q# T3 N7 |6 ?
【程序10
( P- f2 z: {# b* Z7 I  H. D題目:打印樓梯,同時在樓梯上方打印兩個笑臉。
" t( h0 A0 B: h- I/ |1 I1.程序分析:用i控制行,j來控制列,j根據(jù)i的變化來控制輸出黑方格的個數(shù)。 / r) D$ S* j: C7 L. R
2.程序源代碼: 6 ]' _- a9 ~& a- [- o* M
#include "stdio.h"
1 ^- q0 Y2 L; p! L; M: Z7 ]/ }main() ( n8 C* R, A; I" Z3 G0 E. E* x
{
; j; E$ `% ]& ^2 I& aint i,j; 5 u+ i8 X1 F8 i  j$ l* |  {
printf("\1\1\n");/*輸出兩個笑臉*/
, o( I! _; r( _* x- O1 Q  Ffor(i=1;i<11;i++) 4 V7 M, X4 z1 \
{
, y7 D$ V# P' G2 T' J  W0 vfor(j=1;j<=i;j++) 3 f0 t1 V! V) V1 @* A8 {( c6 x
printf("%c%c",219,219); / g6 S7 b; ~" l. X) P% Z  _
printf("\n"); 8 p$ V. _0 C9 e
}
4 N; ^* ]" u! y, Q: x}
' F4 E3 w  y; d) o; y
; a9 s2 M/ k' L2 U1 t
8 ~- i0 p$ _- A5 O* l" K3 G& k. Q1 V. g% R
作者: zhlei81 2005-1-22 11:29 回復此發(fā)言
8 k& x2 u  @+ H  U! `! O0 b' x" |$ h  ?+ N7 N
--------------------------------------------------------------------------------
. j. o, w' L. z* z' f# b" O2 a" ]" b: M0 b* L; N" c% n+ |0 e
3 回復:經(jīng)典C源程序100: x7 @3 }0 A# o
【程序11
& p, f" M  {) o題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月 + T( w: J% h5 U0 ^: x5 X- o
后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?
; W1 A. W" g/ ]# M6 {. A1.程序分析: 兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21.... 6 u+ d8 g' Q, U+ q8 o  ~: F5 S
2.程序源代碼: * m- n2 P/ n5 V" v" e
main() 0 L- P' V2 u" l! Z, W9 N  y+ ^$ K
{
8 w, \  ]& Y; N9 h$ d( X  [4 Klong f1,f2;
  f9 }0 W* X- Q2 @0 W9 Bint i;
, b$ u0 J6 h: M. x2 P! k4 Xf1=f2=1;   Y  r! V" Y; i# j4 ~
for(i=1;i<=20;i++) : n+ J8 b5 R% O
{ printf("%12ld %12ld",f1,f2); 2 L$ x9 \5 ]3 G* v) h
if(i%2==0) printf("\n");/*控制輸出,每行四個*/ 5 k# j% I2 t- o* b2 L$ c
f1=f1+f2; /*前兩個月加起來賦值給第三個月*/
* H; n. R* W+ S" F  b3 m) D. C5 F6 rf2=f1+f2; /*前兩個月加起來賦值給第三個月*/ 6 ^; S2 i+ v1 v& Y' N
} 3 o  H( X/ `7 E; a- T7 _) s
}
2 m$ _* m8 h+ P) z4 C* J* k4 t============================================================== " |1 G( L/ \" A1 |' w
【程序127 v0 E. j2 o( ?3 B
題目:判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。 4 }: P/ f* q% b/ \3 q
1.程序分析:判斷素數(shù)的方法:用一個數(shù)分別去除2sqrt(這個數(shù)),如果能被整除, 3 z+ C( ?# M" a, U
則表明此數(shù)不是素數(shù),反之是素數(shù)。
4 I/ W( ?5 w. _7 o5 {2.程序源代碼:
4 i9 [5 v. O) {' V' g2 q#include "math.h"
% M; l6 f( x; f  N! _main() ( |: F, f; K% T$ `- f. J, o$ o5 h
{
5 b  [) z' I& Q( C/ _( P8 Oint m,i,k,h=0,leap=1; % |* C# k# [( J& y6 O
printf("\n"); , @( U" I  O8 R4 e
for(m=101;m<=200;m++)
: k2 q% y7 ~$ T" i& y% }& c{ k=sqrt(m+1);
+ r* g. j0 a8 Y7 \- Ifor(i=2;i<=k;i++)
/ b* k7 A' Z: ]; G. i4 v8 Q1 W" ~if(m%i==0)
4 `% }3 [7 m; A" V  ~' L, b; t{leap=0;break;}
. p& |7 y8 b4 y% ^if(leap) {printf("%-4d",m);h++;
8 e; _3 y, W7 aif(h%10==0) 6 l5 c" d: N. u3 V" y# t
printf("\n"); # |+ t4 G' |# c. H& F
}
; y; [1 `3 S1 l& W9 D" eleap=1; ; w+ w) w* r. c: X* e
} # F# G* L, \& V2 Y. \$ u  }
printf("\nThe total is %d",h);
* ~, x" Q+ T3 }; s& w: r} , p, t* _; P" R; K$ t4 E9 d
==============================================================
, Y: |6 W+ n9 u& s/ F" ?% h【程序13/ T* z2 b: L* {
題目:打印出所有的水仙花數(shù),所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)
& A6 o  R  l. F本身。例如:153是一個水仙花數(shù),因為153=1的三次方+5的三次方+3的三次方。 1 W( D8 [/ Z& @: o" r0 a
1.程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。 ! U& K5 m/ A9 G
2.程序源代碼:
  ]# Q' ]( R+ v( K4 C+ w$ @8 \main() 7 a7 }# t$ x) d% e0 b! w
{
" ]& j0 P0 o3 Iint i,j,k,n;
" z* [! S2 o2 Q1 H+ z* d3 bprintf("'water flower'number is:");
  M8 w9 s+ m% |9 N2 rfor(n=100;n<1000;n++)   B: C9 ^% g$ u! h: y% N* [7 @
{
+ B: w8 T' X8 i- b& ei=n/100;/*分解出百位*/
1 C8 j! a' L: ^9 @3 `. ]" Z6 }$ W3 \j=n/10%10;/*分解出十位*/
3 C- u6 m, ^6 S# n7 rk=n%10;/*分解出個位*/ ' J! s$ V/ F/ B0 R3 A* H
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
9 v1 F* G. d: F1 F; y# L{ : r) n7 D9 _7 C- T: t
printf("%-5d",n); 0 r5 }$ ?+ E5 B# `0 ?
} 0 f- S3 p# K- i3 R2 F
}
: a8 M3 ~- a/ Z" {2 c# Z. }) {0 A! Gprintf("\n"); ; C. x6 e* n4 }+ r+ I
}
3 b1 j4 u) _1 N  _============================================================== 7 k- Z: R# J6 p- N+ G2 b# J
【程序14
! S/ D8 v  ?) m8 X4 C1 C7 U題目:將一個正整數(shù)分解質因數(shù)。例如:輸入90,打印出90=2*3*3*51 r- s  i. z, J

4 l+ m& `# _% Y" I程序分析:對n進行分解質因數(shù),應先找到一個最小的質數(shù)k,然后按下述步驟完成: & J/ U/ a3 W1 H# U
(1)如果這個質數(shù)恰等于n,則說明分解質因數(shù)的過程已經(jīng)結束,打印出即可。
( v9 }8 {. ?9 f( P(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)你n, ! y- c9 D% V5 Q6 ^& ?% t
重復執(zhí)行第一步。 8 r) T" g' g: H& n3 K' t
(3)如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。 + n8 P) K5 g% A' i

: [) J( B4 ~* }& |5 Y' S/ C! x2.程序源代碼:
  y/ h+ G/ }" M/* zheng int is divided yinshu*/ ! `1 u3 `& t8 n% ^' ]# V* S
main()
: z* `" U$ }! j2 \{
9 E( q( u1 [! |" ^int n,i;
, ~' g  d, Y& z4 b0 G2 |" V/ }printf("\nplease input a number:\n"); % S6 D# g. a; f- d' v4 L
scanf("%d",&n);
" l) b" j# F1 T& u/ d9 bprintf("%d=",n);
: }( Z. N# D4 u0 Afor(i=2;i<=n;i++) 9 D1 E+ C4 o: A) a
{ ) x" G3 w( J4 Z5 X+ f
while(n!=i)
  q' B. Q% q) B. j1 |6 A4 Q{
5 x+ i/ ?+ [9 o) S) Lif(n%i==0) 3 B: I7 X8 @9 c. z4 I+ Q& x' P
{ printf("%d*",i); ' B$ w& h  t6 z: M, j# F6 d6 X
n=n/i;
  x1 m5 ], [5 p0 N% e, R} : r* b$ S( a' ?$ L
else
- W4 P5 B+ }0 @. M* N5 H: |break;
  i  e/ o: E7 M}
5 ^: P/ Q7 Y; A% |7 c( j} 5 ~" W# N1 _: i9 d0 e2 K
printf("%d",n);} 6 C# ]! {2 P; C& n: ^8 p/ t  ~
============================================================== & g; O5 P8 q* g5 N; k
【程序15
/ |& k7 j  B1 g) X4 G題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,
7 V5 d- d: D" c" D& N  j3 G. U1 d5 _60分以下的用C表示。
1 _; `4 }; j- X/ ~1.程序分析:(a>b)?a:b這是條件運算符的基本例子。 4 n( h. o0 A& f0 q5 N
2.程序源代碼: ! s% v2 D. n/ h4 `2 b$ r4 M) A! Z
main() ) [  P$ E8 ?) b# ]0 }' {  \" L
{ 5 K+ L$ F/ I, ~0 ?4 ]
int score;
$ J0 l( W7 W) b) ~4 ?0 {2 |char grade;
& L2 G( M4 @0 Z# d9 b3 Mprintf("please input a score\n");
% U! J$ X4 @6 ?7 Wscanf("%d",&score); ! q2 b' Q. [" f! h& I
grade=score>=90?'A'score>=60?'B':'C');
3 X" P$ f, ^6 f/ Mprintf("%d belongs to %c",score,grade);
3 v2 K* R+ a8 f" [+ `+ R* W# K}   }' a* s" q3 R  B5 d
============================================================== 4 E- i2 I( v( h7 ^% E+ z: k9 f

) n1 y6 R- b9 L8 l3 B! F. ^
回復

使用道具 舉報

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

本版積分規(guī)則

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

GMT+8, 2025-8-26 04:39 , Processed in 0.066487 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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