七七影院色七七_免费观看欧美a一级黄片_亚洲综合久久久久久中文字幕_国产999999在线视频免费观看,国产小视频无码,国产精品亚洲日日摸夜夜添,女人高潮潮叫免费网站,久久影院国产精品,日韩成人在线影院,欧美囗交XX×BBB视频,色在线综合高清

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 4459|回復: 11
打印 上一主題 下一主題

C語言經典算法100例

[復制鏈接]
跳轉到指定樓層
1#
發(fā)表于 2017-9-22 09:34:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
【程序1, z) A9 F7 T2 N; D- n8 p2 X# s
題目:有1234個數字,能組成多少個互不相同且無重復數字的三位數,?都是多少? 3 \9 n# |) K: p9 _( j
1.程序分析:可填在百位,、十位,、個位的數字都是12,、3,、4。組成所有的排列后再去
3 ~% V3 t' x! z. N; b% ^掉不滿足條件的排列,。
' k9 R: I: h% @3 _, W% D) Z2.程序源代碼:   P" o3 Y* J; a% E/ s
main() {
% o* H7 U# V) F, f  Z) `/ v. m' r! Hint i,j,k; % h" [; c5 p1 H5 A; E+ C; y- }
printf("\n");
8 L1 B9 [+ l, X0 K, R# ~# ffor(i=1;i<5;i++) *以下為三重循環(huán)*/ 4 ?1 ~$ z) U) V9 H
for(j=1;j<5;j++)
% ^/ h) o! [* Z; |/ W& Rfor (k=1;k<5;k++) {
, |6 q( s* B- P1 k1 E6 x5 cif (i!=k&&i!=j&&j!=k) /*確保i,、jk三位互不相同*/ , Z9 z8 u8 R) E) r& n" N  m- }
printf("%d,%d,%d\n",i,j,k); }} + h" P& T$ T8 u* H" p1 L! @
============================================================== ' Q; Y! V3 ?3 H% c4 B( |
【程序2
0 ~$ }# R; j1 ]0 D* |8 s* p0 i題目:企業(yè)發(fā)放的獎金根據利潤提成,。利潤(I)低于或等于10萬元時,,獎金可提10%;利潤高
8 V1 G% C3 V3 P10萬元,,低于20萬元時,,低于10萬元的部分按10%提成,高于10萬元的部分,,可可提
* c) E) n& A  R) {7.5%,;20萬到40萬之間時,高于20萬元的部分,,可提成5%,;40萬到60萬之間時高于 6 C2 e1 f+ l% \. c) T! R
40萬元的部分,可提成3%,;60萬到100萬之間時,,高于60萬元的部分,可提成1.5%,,高于 % y8 o# I# i3 w6 M" s
100萬元時,,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,,求應發(fā)放獎金總數,? , J) Y6 D+ }" `
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型,。
9 t" v: \  m4 ~4 t2.程序源代碼:
2 |7 w0 ^; J3 D; \! Kmain() {
6 u6 q/ a, }) r! z" O) D" j2 tlong int i; 4 h6 Q. {$ p# `3 u! W
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; 3 e* q0 a+ D' O" P
scanf("%ld",&i);
+ {1 O4 K) k( l! zbonus1=100000*0.1;bonus2=bonus1+100000*0.75; 0 \( E& G% K' I( L# y) v
bonus4=bonus2+200000*0.5;
, O: O8 {( d' V0 L# [) ibonus6=bonus4+200000*0.3;
" u- `/ b4 i9 n7 x$ f* f! \bonus10=bonus6+400000*0.15;
, H1 L; q. u( |* Z/ ^$ l* Mif(i<=100000)
* `8 ~* c2 n  u2 f0 c* l0 p" ebonus=i*0.1; , S- y; b% H; y
else if(i<=200000)
) U* y& \3 L, ~& m3 l$ }+ V+ x- Qbonus=bonus1+(i-100000)*0.075;
( x6 _9 V8 L0 ?9 S/ v7 L2 [# i; V; eelse if(i<=400000)
+ d  ^* e4 }3 E& L% B6 Ybonus=bonus2+(i-200000)*0.05; - w2 T, B" G5 D# ~
else if(i<=600000) 8 p, l& x+ i# H/ _8 ~6 L
bonus=bonus4+(i-400000)*0.03; & M- H% t6 u: N, u3 u/ w
else if(i<=1000000)
+ v, w# x+ e6 m, Ubonus=bonus6+(i-600000)*0.015;
- A8 ~1 d( N1 m) Lelse ' D2 d9 z5 _& f& n' o3 F/ h
bonus=bonus10+(i-1000000)*0.01;
) i8 A! \9 V- ?* ^6 xprintf("bonus=%d",bonus); }
: ^' @3 R# ]# g+ |==============================================================
) y4 c* {0 G& C5 A) X2 h( q【程序3: {# A9 ?$ T! I! A
題目:一個整數,,它加上100后是一個完全平方數,再加上168又是一個完全平方數,,請問該數是多少? 1 _. G+ u, _, L/ T9 v7 f) B
1.程序分析:在10萬以內判斷,,先將該數加上100后再開方,,再將該數加上268后再開方,如果開方后
0 W2 |9 d: w+ D* M, S0 |4 C的結果滿足如下條件,,即是結果,。請看具體分析: & B# `7 f' k. `0 i
2.程序源代碼:
5 E8 F# W- w* t3 H6 j#include "math.h" % S7 c5 b3 g1 K: {9 H; J
main() {
( Q1 I; I9 O) O3 T6 ]long int i,x,y,z;
1 {$ @& G6 }9 ]* o; Cfor (i=1;i<100000;i++) # Z# k8 j! B2 ]/ J- W; q
{ x=sqrt(i+100); /*x為加上100后開方后的結果*/
/ d0 z$ @7 W! R* w8 Jy=sqrt(i+268); /*y為再加上168后開方后的結果*/
; |8 x2 {* B3 k" E4 j5 l  h& Xif(x*x==i+100&&y*y==i+268)/*如果一個數的平方根的平方等于該數,這說明此數是完全平方數*/
9 K, K  B7 J' E/ Q& l9 D8 m8 mprintf("\n%ld\n",i); } } * `" D! z' c0 K9 k
==============================================================
) K+ P  t: J/ Z& M7 w9 F【程序4  }+ M8 j* g& O
題目:輸入某年某月某日,,判斷這一天是這一年的第幾天,? ) k  E2 n: h) t3 a/ ^( `
1.程序分析:以35日為例,應該先把前兩個月的加起來,,然后再加上5天即本年的第幾天,,特殊
# f" }3 ]. h4 n# L# O1 ?* o* c! c情況,閏年且輸入月份大于3時需考慮多加一天,。 ( U) G9 D3 v' u& L9 ]+ d
2.程序源代碼: 9 K$ C6 [" j* ^7 ~
main() { ; p/ q! K4 D$ \+ x4 n
int day,month,year,sum,leap; - ]! `6 N# o4 X  C- \! `2 e
printf("\nplease input year,month,day\n");   u' j0 [) ~4 g& J' U$ H1 q# F
scanf("%d,%d,%d",&year,&month,&day); # D8 C' Z' u2 W" ?
switch(month)/*先計算某月以前月份的總天數*/
{ case 1:sum=0;break;
) |% v. ]2 `8 [4 h5 Vcase 2:sum=31;break; - k/ `: G) B# F1 k& N9 v$ s1 M
case 3:sum=59;break; " R- `( O9 M+ e( D+ e- H! r
case 4:sum=90;break; $ c# x# p3 o0 p: h* o2 Z
case 5:sum=120;break;
' B; ^4 g! I% [case 6:sum=151;break;
& H: x$ C1 ^& z( b. qcase 7:sum=181;break;
8 B  C  e' T. R" Z1 ~  \case 8:sum=212;break;
$ R6 [0 n% E, E% P5 F! {3 r0 j; vcase 9:sum=243;break;
8 F" u0 J/ A; @/ D# ^3 ncase 10:sum=273;break; ' t+ }$ _" u- f  I9 @
case 11:sum=304;break;
/ ^+ N& N& Y/ h$ wcase 12:sum=334;break;
1 T, K: ^, F$ E3 {2 ]& e6 }+ Ndefault:printf("data error");break; }
6 ~  c+ @# b, h# Rsum=sum+day; /*再加上某天的天數*/ : \' s* x; q4 Y3 h" Q- g  |5 ?* {
if(year%400==0||(year%4==0&&year%100!=0))/*判斷是不是閏年*/ & ~# {9 c& s$ f6 z7 [7 f
leap=1;
! m7 G2 t+ }. u9 R4 ]  F& w; selse 0 `- ~+ f" A. H& ?
leap=0;
+ T) y% C8 }! wif(leap==1&&month>2)/*如果是閏年且月份大于2,總天數應該加一天*/ # d3 h" S, W) T- G
sum++;
) w4 F  @( r" j$ iprintf("It is the %dth day.",sum);} / E2 _- F8 y5 e8 m3 O9 |7 ~+ g
============================================================== 5 H! s4 {1 V0 i+ h. T
【程序5# e! l4 V* T9 u0 @. C+ m' _
題目:輸入三個整數x,y,z,,請把這三個數由小到大輸出。
8 |0 ~- B& T( z; p0 Y0 H1.程序分析:我們想辦法把最小的數放到x上,,先將xy進行比較,,如果x>y則將xy的值進行交換,
) c! k1 O( Y5 r1 A. M然后再用xz進行比較,,如果x>z則將xz的值進行交換,,這樣能使x最小。   I* F% K; ]! u$ w" T3 |! Z6 [
2.程序源代碼: " Q. R8 ^0 P) V+ p4 F# o
main() {
2 ^" Q5 ~$ P' J* b. u8 g' Iint x,y,z,t;
1 A& K5 w( A2 l. V8 [9 Pscanf("%d%d%d",&x,&y,&z);
  O1 t3 T* R* Q# Q  _$ Lif (x>y) 4 P  s- l( G# U* b+ D
{t=x;x=y;y=t;} /*交換x,y的值*/
2 H9 K6 w* V0 d8 d; e$ N1 Rif(x>z)
4 o3 N2 `4 {6 \! R$ m{t=z;z=x;x=t;}/*交換x,z的值*/   U! ^# P: j8 ~
if(y>z) % }1 b- X9 o/ z8 S- n- f4 \
{t=y;y=z;z=t;}/*交換z,y的值*/ 7 w( U5 n; a* q: ]5 S
printf("small to big: %d %d %d\n",x,y,z); } " S- \! e0 r7 n, [
==============================================================
$ L- M/ }5 `% i' c/ J【程序6
$ t7 v) z/ t( F/ @, B, g, C% R題目:用*號輸出字母C的圖案,。 6 M, B0 I1 E3 v% q8 O
1.程序分析:可先用'*'號在紙上寫出字母C,,再分行輸出。
$ j+ P& q: a, V7 t- }; U2.程序源代碼: 4 e# G1 `) M8 i8 O' O4 k
#include "stdio.h" : R( Q# J& s$ L5 p
main() { , {1 K, V; }! u8 N) b# |: s+ b' T9 S
printf("Hello C-world!\n");
, O2 s6 {8 l3 y0 _1 T. Xprintf(" ****\n"); " l+ |" }" X( t4 e" V% l
printf(" *\n"); , D' r0 {" R) n
printf(" * \n");
2 U# g* I+ f- S/ ]2 D% w, oprintf(" ****\n"); } 0 ]5 r$ g1 G3 Q4 k) j
==============================================================
: E/ m! w, _) t' F3 t  w2 ~【程序78 T. A; e/ M' q4 Y% ?% [
題目:輸出特殊圖案,,請在c環(huán)境中運行,,看一看,Very Beautiful!
! x1 m$ V* M5 _5 l- m& P0 y: n3 v! ~1.程序分析:字符共有256個,。不同字符,,圖形不一樣。 3 w( j* t% a/ m4 m. a: L
2.程序源代碼:
: G+ e* O: X9 X9 ^; V9 \) n#include "stdio.h" % y4 `9 o! [) }' D/ h) ^$ T7 k
main()
/ ]! P; {! E8 l{ ( a# _5 f; V' R$ x1 h: W
char a=176,b=219;
0 U# @# @0 V8 D6 q0 X/ T, tprintf("%c%c%c%c%c\n",b,a,a,a,b);
% S4 B4 A* e- N  c# _3 ~! E. [printf("%c%c%c%c%c\n",a,b,a,b,a);
9 _0 q! b, N, m* H- \5 aprintf("%c%c%c%c%c\n",a,a,b,a,a); $ f4 y9 U7 a, t6 Q1 e
printf("%c%c%c%c%c\n",a,b,a,b,a);
$ D2 z' ]' n7 C6 j6 y' n" Oprintf("%c%c%c%c%c\n",b,a,a,a,b);} 7 n2 q! N: W: u3 p6 l, Y: M" }% t
==============================================================
7 Q9 A/ x- j. p/ c: b【程序8; [2 I" H7 ]9 t8 u
題目:輸出9*9口訣,。 ) U& ]( l' H# v; E
1.程序分析:分行與列考慮,,共99列,i控制行,j控制列,。 7 m4 W2 w. z7 m$ N7 ^; y& A* N. J
2.程序源代碼: . P4 i* d/ ~* h+ r6 y0 }
#include "stdio.h" : A6 S+ K/ A6 }& g, Y* W3 n  r5 y
main() 4 d7 `: q! B# T* J* W8 R
{ 3 K( \1 r( u  e7 S5 u; ?! }) @
int i,j,result;
0 F, g1 Z, B/ M: A# T9 D; U% G/ Mprintf("\n");
4 o7 ?: k8 u" K7 V; f# [for (i=1;i<10;i++)
* e& H8 g- z+ F9 q. t7 A  W{ for(j=1;j<10;j++)
& ^/ j) y% Z4 x4 s{ ' r6 W1 [* F7 _2 s) p; t
result=i*j;
0 |2 y6 t) X5 g& ], ?6 |, ]4 Mprintf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,,占3*/ " z3 v: w: C; J6 N
}
% j6 j5 r1 e; I2 @7 Gprintf("\n");/*每一行后換行*/ 5 v  r8 |& ]5 {+ J
} ; U! h7 H& c3 W, |5 O( }; o0 {
} ' ?4 I, L& P5 o
===============================================
8 |% j: J2 W- _- x
2#
發(fā)表于 2017-9-22 10:21:51 | 只看該作者
感謝樓主的分享!�,�,!
3#
發(fā)表于 2017-9-22 10:22:12 | 只看該作者
我竟然發(fā)現(xiàn)我有點看得懂
4#
發(fā)表于 2017-9-22 10:42:30 | 只看該作者
c語言。,。,。�,?床欢�
5#
發(fā)表于 2017-9-22 10:59:43 | 只看該作者
說好的一百例怎么只有幾個,?
6#
發(fā)表于 2017-9-22 11:32:18 | 只看該作者
附件呢?,?,?
7#
發(fā)表于 2017-9-22 12:26:17 | 只看該作者
基本都忘了
( m" ^  `4 k. j' M軟件類的,學了就要用
8#
發(fā)表于 2017-9-22 12:54:50 | 只看該作者
樓主,,求分享剩下的
9#
發(fā)表于 2017-9-22 15:44:21 | 只看該作者
玩玩的東西
10#
發(fā)表于 2017-9-22 23:42:20 | 只看該作者
這是和電腦有關的知識,,做機械的用不上吧
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

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

GMT+8, 2025-2-25 01:26 , Processed in 0.055464 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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