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

機械社區

標題: C語言經典算法27-37 [打印本頁]

作者: tainqing    時間: 2017-10-7 16:23
標題: C語言經典算法27-37
【程序27; J. w6 z6 p/ ]: H" a
題目:利用遞歸函數調用方式,將所輸入的5個字符,以相反順序打印出來。: O8 j8 J% n$ o! X
1.程序分析:
2 ?6 S% J& V- E: B2.程序源代碼:
$ P0 \  t% r0 Q#include "stdio.h"
( ^  Z  S( r5 U6 l0 m1 Mmain()
$ B- e; J# B3 `8 n' m{# T# j% }- r; w7 i; c
int i=5;0 n* k4 h- i( P0 C0 ]7 Q
void palin(int n);8 M4 d. C6 _7 k! ^# \& k
printf("\40:");
& J) a+ X+ K" W# D# qpalin(i);
* j& }) ^4 M! W( e! p- N1 Tprintf("\n");. z' h! _* |2 A
}
5 B% H) K9 ]) b5 k. y4 zvoid palin(n)8 W  U* \9 ~1 d$ ~0 L+ P  d
int n;3 M! [4 X6 q8 Q% P1 G* T* [5 G+ h
{; N9 ?8 v! r+ f
char next;5 x% \& ^' y  _0 w; H; ]
if(n<=1)
! q' X) c& u/ S3 D/ l% s {6 Z- d( {9 {6 V/ D! Y% k, d
 next=getchar();) a. r7 [* l! |; c5 ]% h8 Y
 printf("\n\0:");
2 D8 u, k8 h2 O putchar(next);
4 K3 a1 C6 B1 c% u" I }
7 p* d$ |, U7 i3 ]4 O1 Belse
8 {+ I) c( f5 p/ s5 J5 g2 W {9 P" n/ e% n8 T0 T; G9 o
 next=getchar();
& y0 q1 F1 x  E" K6 r palin(n-1);
6 d8 u& J" Z$ N. j; M, y- O putchar(next);
" e0 ?+ l" L1 G" u }
& d4 v: z- X6 r  r, I! z1 B2 ?9 k}
9 N# @; I. C: j$ y/ g8 b2 q4 C% _==============================================================/ p/ [# ~( \( ]5 }* a2 b* N  q8 f, {1 K
【程序28信盈達嵌入式企鵝號要妖氣嗚嗚吧久零就要
/ T0 q! h  y; e3 u0 |% g題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第/ @: n8 A9 g( x+ J$ t
   3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后 5 u( `. M) D) Z, i
   問第一個人,他說是10歲。請問第五個人多大?3 |( s9 {( A% D' j, B/ N
1.程序分析:利用遞歸的方法,遞歸分為回推和遞推兩個階段。要想知道第五個人歲數,需知道4 R& x# `% Y+ R. F9 y6 Z7 J+ ^
      第四人的歲數,依次類推,推到第一人(10歲),再往回推。! Y" v) ^7 j4 A7 }$ v. q
2.程序源代碼:
5 Q4 _0 P' y9 ]0 K3 @& t% @0 I/ ]. Yage(n)
# P' q, |% L7 j* y% G' f- i9 Tint n;- j& ^  }8 h. F* {+ n
{
# x3 f: O. z9 D) H* W& Eint c;# H1 [) k9 j% m1 ]9 l- h
if(n==1) c=10;* P/ x: U/ N- _
else c=age(n-1)+2;' |9 U7 T7 m- k# ]! ?
return(c);* b  W5 B& a" P' b
}
. z. ~% F) F1 t0 \main()
/ R" [/ V' C7 X$ L{ printf("%d",age(5));
' Y+ ?3 C2 Q% y7 }}+ g; }% G+ o) F5 k9 S3 t
==============================================================
& v7 f1 J5 ]; r; O; ~0 S* C: E! `【程序29
* v$ e& v9 U4 ~: D8 V! t9 g1 H題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。- P3 R* c- y' P; C+ s
1. 程序分析:學會分解出每一位數,如下解釋:(這里是一種簡單的算法,師專數002班趙鑫提供)
# a7 ]& c) M; K$ l9 S2.程序源代碼:
: v2 Y8 D: f2 vmain( )
; _; v5 w% x, [# d$ w{! K. ?3 Z" V# d3 U0 u, Z7 H
long a,b,c,d,e,x;6 Z% v6 |: \* ~2 z/ T
scanf("%ld",&x);
3 G1 D% H; B  P1 u  ]2 N: V5 r2 L( ^a=x/10000;/*分解出萬位*/
! ]% g& s- N1 m7 k5 lb=x%10000/1000;/*分解出千位*/" b& j) t0 n( [& d$ r
c=x%1000/100;/*分解出百位*/
# `1 l( R$ V6 ^. P( C, G# K; @d=x%100/10;/*分解出十位*/
, B/ }8 s  J! O% w1 I4 O. _! je=x%10;/*分解出個位*/9 N2 t- c) j, ]4 u# I4 E0 [9 T* H( Q
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);; \4 \5 ^* n6 F9 W( y5 v/ [9 }$ X6 V' E
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
  ^3 `! c/ a& ?6 r  ?  else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
( \, q; T0 e4 q    else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
8 X9 F) y- f  O  ~7 Z      else if (e!=0) printf(" there are 1,%ld\n",e);
6 n) b- @: m% }+ P5 E}# M5 R$ _9 d. t
==============================================================+ Y% Q( }. i8 _' @( S: A) g
【程序30% N: b( t3 m5 y5 H# I% g0 s" A
題目:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。   
6 U8 r  ]3 ~8 X* R3 G" |  p; J1.程序分析:同29
& A7 o3 z) U/ T6 o$ A2.程序源代碼:
) a" B% O* c8 B6 o) r4 o1 Umain( )
" M1 h& N7 k. a9 S' c( ~{" G8 G' y' D- g$ e' W: T
long ge,shi,qian,wan,x;
, L" H! Y% e- bscanf("%ld",&x);
/ L' ~2 {. y+ Swan=x/10000;1 \) o8 b! ^# f- r9 A: Z. S, x6 {- B
qian=x%10000/1000;; Z% C1 S5 i8 N1 E* x# o& w
shi=x%100/10;
% D, ]* f; U8 H3 P; ]7 p2 Ege=x%10;
% g( {$ O! u2 g$ R5 l8 Hif (ge==wan&&shi==qian)/*個位等于萬位并且十位等于千位*/2 c8 u- W) s& m( m% ?
 printf("this number is a huiwen\n");
/ L8 X" T( x' I7 L' ]/ d( r. C; delse
# D+ j. L9 X9 |/ e; F% v printf("this number is not a huiwen\n");
0 w# i) q2 E* Z* _( i}
【程序317 H/ M* y, c0 e' _( o( B  I" d
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續$ {  u8 C) J& _% P% m
   判斷第二個字母。
/ }4 ^1 k, H  |+ F9 [  s9 ?6 v1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。- T. o& j* J3 E- z
2.程序源代碼:
, @+ ?6 `! Q1 ~7 u8 P$ O+ _# X#include ; b7 p6 p0 J" \# R7 O
void main()! t6 Y8 d. p6 d0 o: j- ?* J9 W) ^
{& n* j+ t( ^- a; N. P
char letter;; U, ~9 W; Q; r. I) }( s
printf("please input the first letter of someday\n");
# C  L2 i8 E; E0 O; ~while ((letter=getch())!='Y')/*當所按字母為Y時才結束*/
: I6 i" F; Z& b& h{ switch (letter)
2 _1 I; E. v3 e' A{case 'S':printf("please input second letter\n");" w$ i- w" Z; S5 o
     if((letter=getch())=='a')
% @& Z  A8 k9 U9 j. `7 s" R      printf("saturday\n");
# q1 n  o3 z8 V3 L8 I     else if ((letter=getch())=='u')4 N' ^: J. B' H" a& d
         printf("sunday\n");
4 N+ p0 O# n2 P+ W  P+ ?       else printf("data error\n");
, H& n4 z/ T" ?3 T     break;
4 b& o! n, f4 C' k% t6 @- ?case 'F':printf("friday\n");break;0 W# X9 y/ p* k/ u
case 'M':printf("monday\n");break;- ~% ]6 Z) B0 R
case 'T':printf("please input second letter\n");( m5 i- X8 c: z/ {0 e2 f4 b! w
     if((letter=getch())=='u')
/ g( D3 i9 A) s) o1 j      printf("tuesday\n");
) t* l# H& `0 U1 B1 e% R" v     else if ((letter=getch())=='h')
) S" V; l8 i  z) F& L         printf("thursday\n");. v1 S# T2 V7 s& V% M* s
       else printf("data error\n");4 V: q7 H" l* \
     break;" G+ z9 D$ i; h& g/ p
case 'W':printf("wednesday\n");break;
3 {% \; K* h! y' W1 Y! d; X" G: @default: printf("data error\n");- x* L8 a9 I$ x& y  `, O
  }, `: z5 f$ u4 p! E: M
 }$ l/ i/ D! G4 V; o# Z
}
% h7 G( h7 V4 S4 n1 m8 Z6 w==============================================================4 @" Z$ d& J" q6 e' x2 H2 V# @/ |+ V
【程序325 a! c8 y+ e3 h# a# G5 O0 }$ W
題目:Press any key to change color, do you want to try it. Please hurry up!0 I9 ^* [! r, v" b! ]0 b
1.程序分析:            
# ]3 i; x9 X0 k# g2.程序源代碼:4 E, p5 [. B; ?: h
#include / m3 t& ^' B) j) d7 n& K% W
void main(void)8 m5 A, f( p) n3 [6 @1 }
{
: a2 b- x# R! s9 v" ^; @4 b6 qint color;
, V' M" H7 C  N) G2 r6 s& Efor (color = 0; color < 8; color++)9 U( a0 R1 ~: J; z4 y" ^# M
 {
! V1 U4 K, g+ K, P, i) W3 M textbackground(color);/*設置文本的背景顏色*/2 v% ^, @2 P- U6 |2 _6 {/ L# t  z8 B$ C
 cprintf("This is color %d\r\n", color);% u: {- B! |% b# l3 a4 J* o
 cprintf("Press any key to continue\r\n");0 |+ ]. g/ ^2 J8 _7 ~
 getch();/*輸入字符看不見*/1 p. R; c- w# [6 c# u, l. z  }! B! L* |
 }; R0 Y$ J, E- P3 e+ X+ s
}! {7 l. X/ c2 Q, p7 O
==============================================================
1 ^: F3 h9 @5 D' F  e+ ^0 d) s$ Y【程序332 y' N$ c6 [% c/ d) ~  i
題目:學習gotoxy()clrscr()函數   $ x; h3 k1 n4 L# p3 J! [
1.程序分析:! _3 V1 ?$ u& @( x
2.程序源代碼:% U0 V) _# b7 h! F
#include
6 `3 I: _4 g# b2 I7 T( a& c9 B( avoid main(void)2 l! ]& F5 M3 Z6 g; N" z/ Z
{  x! t9 Y/ n& t$ m
clrscr();/*清屏函數*/
( t0 O  Z4 L. A, B5 _textbackground(2);" Z9 C% ~- R3 K% x9 |4 d5 u
gotoxy(1, 5);/*定位函數*/$ _* s% G0 B2 J4 k3 W( |
cprintf("Output at row 5 column 1\n");
; s( C) t7 j8 Q8 u) rtextbackground(3);
7 d5 z! M; ^8 U' Cgotoxy(20, 10);
" |- T% M% g* w% X+ z9 [cprintf("Output at row 10 column 20\n");
) E2 K& x0 c4 @1 I% @) ~5 ^# M}1 \0 }+ n" M; D% L6 o4 }" f; o
==============================================================, b5 ]" g/ l  x, _, Z
【程序349 [: t9 f4 `/ H
題目:練習函數調用
3 h* i9 [4 E$ H7 i7 A1. 程序分析:
6 w3 A' S+ O9 l' d( Y0 k% U# i" L; U2.程序源代碼:
7 S' c; d- G, @' S- |8 {/ Y- [#include : N3 a6 d) E  T* [( t  N/ o1 M# T
void hello_world(void)
0 Y- B- v. P% G; ~' r{+ m* E& k1 w- M" V" h9 F) I
printf("Hello, world!\n");
! o( B3 }( h+ W! @}$ S  r7 Z; t; ]! p8 F' A# H, Q
void three_hellos(void)
9 k5 l* A! j1 E- L5 ^{
' _9 K. P' m, i$ p5 G+ O# P6 E+ a& V. vint counter;0 i: }. i& C& Z5 U8 X% c5 D% R
for (counter = 1; counter <= 3; counter++)
! Q3 N; u3 e5 e1 C4 t3 S0 i' Qhello_world();/*調用此函數*/3 a! R0 l, @1 ^9 |/ ]0 H
}
* d$ R/ D. r6 Y$ c0 s/ i+ cvoid main(void)- c( T8 p3 ]: C+ f; L3 W, n
{* m, [$ c0 M* o* _: u) y
three_hellos();/*調用此函數*/
$ ]0 C' U% O; m; `  _' I}3 z2 F& \4 [, |* u- t* x
==============================================================
: R4 G7 l( T% N! [" {* @【程序35
4 t0 o7 G# O5 Q, K: G! m! |4 O題目:文本顏色設置3 _) c+ }7 ?, U  H9 C6 F; _
1.程序分析:1 W8 \2 L* v! `( ?
2.程序源代碼:
5 h; ]: W1 }% Q#include
  S% A$ i" B# W8 ovoid main(void)
8 j1 i( O, t% U6 C7 d{
9 Z! I- j# N: k! _: p' oint color;
# P8 l3 v+ Z( y' s: Gfor (color = 1; color < 16; color++)# a5 ]4 D- X6 e
 {8 }2 \) {* A1 }( z5 k
 textcolor(color);/*設置文本顏色*/
3 a5 s& F/ u* E$ S% L5 A  G6 ^$ Q cprintf("This is color %d\r\n", color);
; ^# n+ Q- @# x8 { }% l* ?1 s# m) ^7 S, `! @, Z
textcolor(128 + 15);
; k; k5 K- r3 g5 h9 ccprintf("This is blinking\r\n");; L$ K, K; C( ]4 ^6 e
}
- O# w: X! I/ l# }==============================================================
/ ], P+ G9 T( i6 [/ M# b+ ?2 d【程序367 e( @' ?! D$ [2 H4 t# a# M- l4 x& S; M
題目:求100之內的素數     e# v& p* Y8 }
1.程序分析:
, z$ |" {; l) S, |2.程序源代碼:1 [" c4 Q4 Z9 d* r- {3 ?
#include
9 l8 l! d% d/ h3 l1 y7 t#include "math.h", `* }. S+ M& N; _
#define N 1012 Y& h; n7 H' Q+ X2 w3 i2 d2 [
main()
2 B* }# u, |* _6 n+ K* k% Z{, Q3 s1 f6 C& \. ?0 H
int i,j,line,a[N];) ^9 u# S$ b+ X# m9 X
for(i=2;ifor(i=2;i for(j=i+1;j {' G0 R- ]: K( K2 _, G
  if(a!=0&&a[j]!=0)9 L6 j, F5 B# G6 t
  if(a[j]%a==0)
! G' H9 T# L, l. M/ x& k/ b  a[j]=0;}$ Z$ t- T% E, B( P4 I
printf("\n");
8 L9 v; z, q5 Z" kfor(i=2,line=0;i{
, A/ p5 u- A! ~  O5 O) f if(a!=0)/ N" X7 s% k6 i
 {printf("%5d",a);: Q0 w" v1 m  X; t7 |! K" V+ Z
 line++;}
7 `: d2 P# z0 A# G- g2 ^ if(line==10)
6 r0 Q" A& _6 z* q9 E* t2 U+ G {printf("\n");
" o- q8 M; D( H/ j4 `' Yline=0;}1 c0 w( ~5 Y0 s1 D# V
}
& w! G/ S2 u, ?' O0 F6 G$ L1 ?}
$ `+ B2 X# j6 `9 `; x4 z4 U==============================================================
) F; |8 g/ q( R3 p$ L% K8 [【程序37
& r3 H( i- \, Q題目:對10個數進行排序
6 {! Q3 T  Z* N1 ]( c1.程序分析:可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換,
5 f' k# e$ r0 U9 @- u      下次類推,即用第二個元素與后8個進行比較,并進行交換。        ! F* m* N3 n* j* Z: p  ~# T
2.程序源代碼:" W+ \4 d/ M; k  s( s
#define N 10
1 B1 I! V( [) b/ |' ^main()* |0 a2 F; N" n1 P* B0 \' v" W6 I
{int i,j,min,tem,a[N];
2 N$ b; M' e+ m- Y7 q% J4 M/*input data*/
+ j* h1 L- |% d0 l% Dprintf("please input ten num:\n");
! Q7 B6 [9 b7 P5 mfor(i=0;i{
" v5 O0 W$ m- m# G3 |9 l; hprintf("a[%d]=",i);
6 {3 j& k+ z- escanf("%d",&a);}2 A/ c4 f$ F" r& `* a( q
printf("\n");5 y' v. ?( b3 D
for(i=0;iprintf("%5d",a);
! Y) `2 @- y# a' B$ q& Fprintf("\n");9 d% O/ Z( s$ J
/*sort ten num*/' k/ ^0 Y7 M" w, d: y) n
for(i=0;i{min=i;& O! f1 L* C% s  c
for(j=i+1;jif(a[min]>a[j]) min=j;- ]* w3 ?8 N/ J$ I4 m
tem=a;
) A5 P" ?6 P# sa=a[min];$ M' N6 E4 ~: l1 q$ S# M% X- E
a[min]=tem;  C$ A3 u9 |- Q, M7 w0 ]5 F
}& \# ]# t; b: Q  Z0 `1 u
/*output data*/
. {' ~2 b9 t+ j, G- cprintf("After sorted \n");- ~# r! W9 S* t+ {9 S
for(i=0;iprintf("%5d",a);
6 B6 j! U7 o, B}
1 _& i/ K7 O. W: V$ o9 ?: b1 I0 H==============================================================
9 s9 \7 p1 Y$ H$ ?
# [$ b( M0 M0 e' {, u; n6 N

作者: xinmai123    時間: 2017-10-7 16:29
十五字十五字十五字十五字十五字
作者: qq642446015    時間: 2017-10-8 11:09
C==




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