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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 2702|回復(fù): 2

C語言經(jīng)典算法38-48

[復(fù)制鏈接]
1#
發(fā)表于 2017-10-8 15:23:07 | 只看該作者 |倒序瀏覽 |閱讀模式
【程序38$ J: R3 n3 D7 p
題目:求一個3*3矩陣對角線元素之和
  u- g( g; |- B7 o1.程序分析:利用雙重for循環(huán)控制輸入二維數(shù)組,再將a累加后輸出。) H1 J! @9 F$ c7 b) E# M
2.程序源代碼:8 q# k, w* y1 z% t
main()
$ f0 @4 Q4 Z4 U# |) R+ h{
3 s6 T2 l6 A! _- J# |4 mfloat a[3][3],sum=0;
. S2 Z% N: a3 bint i,j;7 J# Q2 ~- e, E1 i: X& |5 E
printf("please input rectangle element:\n");
/ E6 n" m# s" Q3 c9 |( _8 L6 |" `for(i=0;i<3;i++)
/ K; d6 a. _. U- O0 ?- w( W for(j=0;j<3;j++)
2 y* o- U- X6 l% B& }/ x scanf("%f",&a[j]);
9 l( H$ n2 y% m' l" R" \for(i=0;i<3;i++)
: M* p6 S' [) L2 {) L# U; q$ L sum=sum+a;% C5 E  e7 d% E
printf("duijiaoxian he is %6.2f",sum);0 X% @0 b* `! m3 J
}
/ c: }) ^4 s" Y3 y) K6 Y==============================================================
, T0 L: J6 y) @) @【程序39+ D! Q( E* m8 B7 J; Q- Q
題目:有一個已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。
) @4 k. ?0 T6 m! T1 q# f1. 程序分析:首先判斷此數(shù)是否大于最后一個數(shù),然后再考慮插入中間的數(shù)的情況,插入后, S5 Z' z+ m7 g- G
     此元素之后的數(shù),依次后移一個位置。
" J2 r' L1 l. V4 m+ u2.程序源代碼:
  R- v5 k  ^7 T: Jmain()
) p  F- e( d* q2 ^{
# v' k( e" S( A" h; w9 _int a[11]={1,4,6,9,13,16,19,28,40,100};
3 Y7 C* f$ C/ Y; s3 Jint temp1,temp2,number,end,i,j;0 S7 ~0 Z$ @8 }: |! X( i( l* }
printf("original array is:\n");
$ X( P) ~, d9 @: D/ h$ t8 rfor(i=0;i<10;i++)
- a3 a: C* R% A7 \ printf("%5d",a);
$ O# e; }- g  |( _printf("\n");
) s3 l) s* q' M, oprintf("insert a new number:");; {3 B# Z: X. C( O: `, V
scanf("%d",&number);0 B) Q8 \4 \' @* w, s% g4 n
end=a[9];3 r9 ?6 g: v: ]* z: r& M# {2 d+ @# C
if(number>end)6 R. w* u9 [, v9 f
 a[10]=number;
2 m/ n. ?( ^. r8 C' }  uelse
: b; ]! l+ {# j7 b  \ {for(i=0;i<10;i++)
- c% F/ j0 F+ Q( G1 V  { if(a>number)
7 q% Q) A7 `7 I; V4 s: V' o   {temp1=a;
& o2 E. l' }& _! E    a=number;0 n: u+ a5 R  P. C8 F0 `
   for(j=i+1;j<11;j++)# I  Y4 p7 ~$ f& g  E
   {temp2=a[j];* u; B4 G* m$ K. k- J
    a[j]=temp1;
) ^, G# A& r" a9 p, ^    temp1=temp2;
" @4 ^/ O0 T) I5 {' c( K. t   }
8 q7 U% W1 d2 ]/ t- K: a5 |   break;
9 v" m/ {' m* W1 S   }2 n! l: t: d9 U* f7 `6 m9 U1 H# |
  }
" e" j7 M( Q/ L}, H" G$ W: \! u1 G! e$ k
for(i=0;i<11;i++)
  B4 y! g  u- s( m printf("%6d",a);
' T, s9 K( j8 U+ R* D* f! u}/ ^* y" }) V& L9 Z5 X: J7 w
==============================================================
% {0 D) U5 y5 y' Z/ [! t- S2 R【程序40
& @4 c! C* Z+ x" Y題目:將一個數(shù)組逆序輸出。
* Z8 M8 M6 h- x  K& ~) A& `1.程序分析:用第一個與最后一個交換。' B# m+ J8 W4 I9 w# ^/ `9 v
2.程序源代碼:0 O5 g+ }3 t4 t# J/ N) E# K$ ?9 O
#define N 5
& D6 B3 Y" N# Q0 H* ~main()
4 d  V$ V" h; G' W  n/ J" S{ int a[N]={9,6,5,4,1},i,temp;. M6 T% n. M2 f! D8 Q3 _
 printf("\n original array:\n");
0 \: s1 h9 T0 T$ c for(i=0;i printf("%4d",a);9 n, k# H* B- a4 w- k' O
 for(i=0;i {temp=a;1 v. P5 v# w% |, A
  a=a[N-i-1];: X1 }6 v; P2 @; V8 h' _
  a[N-i-1]=temp;& k: a: E2 E7 U# Q' y9 J& v
 }& n9 o) ^  @1 R
printf("\n sorted array:\n");3 @; u6 e" P: ~( R( X) r% }' h2 a
for(i=0;i printf("%4d",a);
7 U1 _% l: _0 |6 g" R}
【程序41信盈達(dá)嵌入式企鵝一一起嗚嗚吧久零紀(jì)要 ! b+ j3 R6 x7 w- q) B5 p, r- ^
題目:學(xué)習(xí)static定義靜態(tài)變量的用法   d$ E1 O* C! Y$ r. [
1.程序分析:
+ M$ [+ `7 m7 Q# A" o+ _7 W2.程序源代碼:
1 S! |3 \9 a: I, S- Z#include "stdio.h" $ u+ G* p7 K  M, d# K, W9 u
varfunc()
; Q: w- `7 I- I' Q8 y4 ]6 l' B( m{ 7 c- t1 a# E& W& i, o
int var=0; ) q; J; g! M% o' o# a# h
static int static_var=0;
% M" K! H6 H, `7 Y  Qprintf("\40:var equal %d \n",var); 2 D- z# @( L7 C
printf("\40:static var equal %d \n",static_var); " E7 j( L- p% o$ h
printf("\n"); " y. ?/ X2 i2 @, O# C% e
var++; ; w! t$ N3 @3 O; d7 \& T
static_var++; ' S; Q$ l' N1 m( u" V! s
}
/ s. Q* w" t. |' v$ \* w, b& Ovoid main()
% F4 I/ f- y0 H4 k, H{int i; # O/ X. {7 E0 P# P# F. R
for(i=0;i<3;i++) 9 O6 U) p2 V) A8 A8 X% i
varfunc(); ! q/ N+ `) R9 n' z9 g1 g$ ]! D
}
# o  e2 V- q2 |. @8 I! z! G4 L. {==============================================================
9 U  ^2 t& ?/ Y6 c7 |【程序42( u4 D2 V& u) e5 R
題目:學(xué)習(xí)使用auto定義變量的用法 - k4 T) I* N/ S9 M- w6 o
1.程序分析: 6 y: t  W0 O7 j, l5 q! y
2.程序源代碼:   D& j8 |& p# I1 t
#include "stdio.h"
: c) O" N% A1 T1 Y, r% Xmain() ( a6 q; G: _- ~7 M7 _5 S% l
{int i,num;
( _6 o/ Y' Q0 g0 ~3 L* bnum=2; ! _( s3 Q% M' d; r
for (i=0;i<3;i++)
! }! b- W8 D7 c* r5 y* f{ printf("\40: The num equal %d \n",num); " G4 U4 l6 `7 n' l
num++;
" p* @5 H$ Z: w, |: v( R{
7 O  b! r: p" V- ~auto int num=1;
2 d! k# a2 K, J/ s" Vprintf("\40: The internal block num equal %d \n",num);
- ?7 T, A5 I0 [& pnum++;
0 F# h; |" [; B- ?  s! j}
0 x4 J8 b* v! P9 t. |4 d# @} / S, m8 {: Q- K, W' d
}
  r5 D: w, p, l# }============================================================== - r4 }. g7 Q4 C4 j9 i* |
【程序43
  L! N7 E$ R/ \6 e! J- E題目:學(xué)習(xí)使用static的另一用法。
: f2 L: |  Q1 F9 S* p7 g; S$ |1.程序分析:
8 R' X. H2 _5 W/ T7 T2.程序源代碼:
' v! @+ ~$ Q4 z7 U#include "stdio.h"
. o' }. r/ _8 w$ H, ?" y% Xmain() 6 o3 }+ u8 A  i1 }4 t/ P+ q
{
9 N2 P5 i# |- u" ^# V4 Cint i,num;
0 P2 ^+ S  C- `& Q; O! m. o: rnum=2; 5 o( ~# c; O/ m# f4 `& ~2 h/ i
for(i=0;i<3;i++) 4 V4 {8 m* w- s" C8 x4 M( M
{ ; R/ ^9 Y& C. o1 j5 q6 \5 W7 q
printf("\40: The num equal %d \n",num);
" Y. O, Z# M& }/ J4 C8 ?num++;
( b9 ^: d- K1 O5 j, ]' e{ 0 ?/ g& N/ N) q9 l4 O% w; V% l3 o* m
static int num=1;
" h  s: \9 U- t8 e9 z$ Mprintf("\40:The internal block num equal %d\n",num);
' f) \! a9 B* \2 x& `+ tnum++; 2 p. t% j) o3 \" A# A; E/ @
} " E9 F. b5 U4 T8 w
}
) T  T! J+ w5 A( w' D3 [% D9 t0 h, x}
( ~. D! y; W* R  b! U4 E, P============================================================== - v. z) o  N2 r
【程序44
+ ^) [! C# Y% N0 t3 v( @9 U題目:學(xué)習(xí)使用external的用法。 - g+ G* y* u! ?" ~! ?! ?0 ]6 s3 a; S
1.程序分析: , R* Z1 C0 M" ?
2.程序源代碼:
0 [' D- A; ^* L- R#include "stdio.h" ( k& d. Y8 p! V" w/ s' l* w5 B
int a,b,c;
+ [4 j" J# J. s# X+ w7 Z  x. Svoid add()
  d* T: j; b4 w/ n& f{ int a; 8 w4 `6 \, c& Z* J  b
a=3; : l! h) g2 S- d1 S* I
c=a+b; / R5 l9 {+ M3 L1 y5 y* q# b+ Z
}
+ s( ?3 ~4 B+ r. V& ~void main() " y" `) V" a# k  F! h7 E
{ a=b=4; 2 M$ w5 D% Q+ V0 I
add(); 2 u0 ^  k4 b/ ]. N
printf("The value of c is equal to %d\n",c);
# U$ y: Y. F+ v% y# f3 ]} . f4 B" Y! @: C# K$ R; E
============================================================== 0 k7 U8 D3 L" q% P  M
【程序459 B) N) Y& t- d' C- P
題目:學(xué)習(xí)使用register定義變量的方法。 7 _$ [) [' V8 e4 z- E* F* t, Z
1.程序分析:
! J& i  h2 x2 B4 \/ y5 J2.程序源代碼:
) z  u; Q8 Y1 E. [: cvoid main() 1 S3 _. E5 o& F& S& D& s1 V% O
{
# p' J1 Q2 s' r/ A0 x2 pregister int i; 7 v/ [' C  v) y6 \! B( Q( J3 P) w9 F- w
int tmp=0; " M  f3 D, }, F1 ]5 |- s
for(i=1;i<=100;i++) + M4 j$ V5 b) m5 m
tmp+=i;
7 d6 i) d+ |2 j. K; P/ F- d* P  Fprintf("The sum is %d\n",tmp); 0 w! J: C6 P; b" A
} 5 H5 m" |& c/ u+ i
==============================================================
& L2 M* N8 h% Z8 f" O" |2 a【程序46
6 F& @7 t% J; V/ Z) v! i9 y題目:宏#define命令練習(xí)(1)
7 u0 h! S, p( F/ m+ `9 p8 X1.程序分析:
  [" b7 W8 l8 f. f9 I/ l2.程序源代碼:
6 o$ }7 l% G9 L* n0 F#include "stdio.h" $ l( |3 Z( S2 J
#define TRUE 1 8 ]1 b8 v; C+ e
#define FALSE 0 3 {4 k8 \0 R; S; P1 |$ _) q
#define SQ(x) (x)*(x)
* b" N# ~& I: D; b5 J+ F% W2 Lvoid main()
0 l- Q' j. u0 y5 v{
2 S/ i) R  Q4 {+ n6 q1 Vint num; ) P$ y9 i6 h" l8 Q+ A5 o: c( K
int again=1;
: r4 f9 Q# D) Kprintf("\40: Program will stop if input value less than 50.\n");
% K/ P. \5 L2 W/ \4 N6 ^+ ^! Dwhile(again)
3 G4 J1 w- m. K7 V1 D8 }{ ) z3 I# S" s; k5 S
printf("\40lease input number==>"); ! Q$ T+ g, r% n- u+ ~; r0 }$ V& Z
scanf("%d",&num);
0 `% w3 ^' f7 U0 F5 Sprintf("\40:The square for this number is %d \n",SQ(num)); * g! g' D$ I/ N( ~  a
if(num>=50) ( z; O- S. M( k9 u; w. B
again=TRUE; ' c8 L2 [5 s- r8 l
else
2 b1 j" Y/ Z; V$ L4 ^+ Sagain=FALSE;
( v$ _5 @+ C; R$ d! ]} # _, f- y  j' t3 ^
} 1 @) m8 \* |2 {9 m4 o* _- H4 H
============================================================== 2 r" G  A8 o5 z8 ~9 _+ A
【程序47
  a9 S* f0 c/ o6 C$ `9 D題目:宏#define命令練習(xí)(2) 2 k) e1 ]4 ]: f! }% S! j
1.程序分析: " o# N3 o/ G$ p% D  o6 T
2.程序源代碼: ' X& {  g! t5 M- S: o
#include "stdio.h"
/ {$ z4 }; o4 Z2 z7 V/ e#define exchange(a,b) { \ /*宏定義中允許包含兩道衣裳命令的情形,此時必須在最右邊加上"\"*/
0 M' W# j* h0 J6 A0 pint t;\ 9 Y, M( a, y% E0 ^; Z8 [
t=a;\
8 B# n9 o4 T# s1 Q! [$ ]a=b;\ 9 J5 |1 a, d! _
b=t;\ ( E6 ?4 y1 g9 N1 S! i5 _
} ! H, N" N, M5 A8 ^2 }2 j
void main(void) 2 V! s" L  q/ {
{ 0 f" A  ^$ _: Y) F; W) q
int x=10; ) c8 ^- X. s. E8 y" z4 H8 `
int y=20; / R4 G, K7 X$ `. z1 Q7 x- s
printf("x=%d; y=%d\n",x,y); $ r1 p% X6 k: i7 K( e  e  i1 D3 a* H
exchange(x,y); 8 Q, ~4 _* W- K  u
printf("x=%d; y=%d\n",x,y);
& Q( f" t" I1 j5 ]}
6 @' @4 t/ e2 M. r+ K' ~============================================================== 5 W# e- u! d; O% n. V( z
【程序48* F0 W7 k* u( I
題目:宏#define命令練習(xí)(3)
5 I) C; r, v. U2 B: V& _5 R1.程序分析:
* m  G) @+ F8 z4 v! A2.程序源代碼: 5 e- i# F# ?: W  T
#define LAG >
. \# P2 z. v' |+ N0 ^#define SMA < " m; A: E* e- A9 R. H% ~$ h8 A
#define EQ == - E5 L; _, x8 X* j
#include "stdio.h" 4 o  m1 O/ J+ r# j) R! j' m
void main() ; \5 p- r$ p5 X4 ]
{ int i=10;
4 y1 {1 Z7 ^( a2 sint j=20;
# e( P% A2 I" Uif(i LAG j) / S( r3 u1 w4 U) d' m! l. c
printf("\40: %d larger than %d \n",i,j); * Y% _$ l+ ?% l: M5 w, H4 B
else if(i EQ j) 0 v9 p% U: z" ~0 l. z! D( R/ s
printf("\40: %d equal to %d \n",i,j);
2 w$ @: D  G7 G. _( helse if(i SMA j)
6 r- _0 W0 P# t! x& W0 Zprintf("\40:%d smaller than %d \n",i,j);
+ s) n8 f( }1 Nelse
: }* A7 C3 [6 N) Y2 m% n; l8 Aprintf("\40: No such value.\n");
6 s' N' d" S! j5 Z' @, P7 H}
: X3 O0 Y6 _% ~0 O# Y0 p==============================================================
# w$ o  \! w  t! A
. M% A! f# W! w# e9 n; @
回復(fù)

使用道具 舉報

2#
發(fā)表于 2017-10-8 21:32:49 | 只看該作者
曾經(jīng)自學(xué)C,最后沒有最后了
3#
發(fā)表于 2017-10-10 08:41:14 | 只看該作者
自學(xué)。。。。收藏下來
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2025-9-21 20:00 , Processed in 0.061622 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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