维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 317|回复: 6

经典c程序100例

[复制链接]

该用户从未签到

发表于 2009-12-2 20:57:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
出处不记得那里.如果是原主人看到请原谅!要是知道是那位肯定会写上名字.
$ z$ S& W! A6 ?/ g       
( A' `9 c7 T, ~& g* J. [7 h; [  T: M
: @& [& ~4 R, T" h+ Y       
: s' t0 q, H$ g0 L浏览先浏览下内容如果需要就下)
- ~$ W& m+ P6 f, X# J- d0 L/ f       
6 S5 P: W2 l" d- U+ i, w& k7 j; i! {【程序1】/ C( `9 h) W; V. r
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?! S" \" r: ]- r8 V3 c( e* p4 H+ a( l! v5 `1 H
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去4 j- d& J% P7 j) A& T$ _) e
掉不满足条件的排列。
9 A  P/ {) Q+ m2.程序源代码:' H8 r+ g( w" i4 ^' H( z
main()
7 O* ]* D3 d# d; p9 d8 s{
& Y, a, G/ |1 U5 v$ Iint i,j,k;* k7 z7 C7 C% y. e1 K
printf("\n");
) f3 U' y0 u+ q- R+ D0 Rfor(i=1;i<5;i++)/*以下为三重循环*/
) Q; A. d. K& Ifor(j=1;j<5;j++)
5 H8 E  `; d2 q9 f2 `7 ~4 }) bfor (k=1;k<5;k++)& i- r1 h1 B& T* X1 m1 |& A
{+ R  R  F2 n7 N- M% T% Z
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
8 L+ S) m# }& @printf("%d,%d,%d\n",i,j,k);( i, {4 c* y4 X( Q* d$ H- a
}) y) q5 ]9 N9 ?& n. H$ i) s
}
- q8 `5 n# O" T5 m/ t/ \& z==============================================================
& _+ Z% |# `! ?" [8 l6 t【程序2】
. \% Z" D( F0 g! v: H: }9 P题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
2 i" c+ F) y2 U于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提& W/ v3 Z" y" w: Z* b  U. @1 Y
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
) U+ F$ q% C7 F/ a# ~40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
% ?- j* e' B- t9 f8 j* S100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
/ V/ |$ ~, ?& c& M1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。, W$ L! R. K# x7 l+ v/ y
2.程序源代码:/ ]% S( J5 Q( M) @: k
main()# {" [% I( E1 e
{: n* R9 F; N+ J! A' h
long int i;6 |8 D( T+ f, B. y- k2 z
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
: S* W$ R  ^) _scanf("%ld",&i);! l. W* U% W' e$ w3 D$ x9 [3 x8 R
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
6 N/ F+ p2 j- J& [bonus4=bonus2+200000*0.5;' E: i% @5 {6 @2 K6 }1 t
bonus6=bonus4+200000*0.3;
9 C- y  u7 S; n7 vbonus10=bonus6+400000*0.15;" \) b3 d  L; L1 w: H7 v8 r
if(i<=100000)
4 Z0 A6 ?) G6 ]7 v; q9 s  obonus=i*0.1;, |- }- }; x( @! i( W2 K
else if(i<=200000)
' e, o$ e, ]- i# m& R  pbonus=bonus1+(i-100000)*0.075;
( b, Q( e+ M; ^$ Celse if(i<=400000)0 g" d0 [; m3 e3 P6 V. D
bonus=bonus2+(i-200000)*0.05;
# b6 y, y% L1 U. f  o$ nelse if(i<=600000)- g; N; ~: i( ]. c8 Q; z1 Y# P
bonus=bonus4+(i-400000)*0.03;
$ b6 s  e$ N6 X* S5 y: s" S4 nelse if(i<=1000000)" F  s$ R4 u" L
bonus=bonus6+(i-600000)*0.015;
9 E: _7 s7 M* Z: Nelse! N1 k" W( [0 T/ }' o' @" R. i4 q
bonus=bonus10+(i-1000000)*0.01;  P( J- d, T8 l8 t" [# v! N% e, z
printf("bonus=%d",bonus);7 @* r2 s8 n! i/ K9 j4 D: d, L
} ) e, h% a% f, Z, i* W0 Q$ |7 ]
       
- L' Q# P$ W+ ]- D7 A; D==============================================================
+ ~8 D& G. d/ t8 A0 X* G. b0 b' C【程序3】
+ ~8 e+ G2 I. ^9 M题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
8 @0 R+ B4 w9 O9 p+ Z% m( p: G1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
+ L) k0 ?% L- C的结果满足如下条件,即是结果。请看具体分析:
9 `# D0 C  c9 z% v; M2.程序源代码:
- E' j0 z) B2 f#include "math.h"2 d* o- x. w/ X; X; H0 ?
main()
4 u# |; w  v& u7 L* ?+ R  z{
  a+ f* l/ [3 R. ilong int i,x,y,z;
4 I0 o* Y" }  m) \" J) m! vfor (i=1;i<100000;i++); u  n$ P# s9 ?# ?
{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
( g7 v4 D: H  U: v5 L, {y=sqrt(i+268); /*y为再加上168后开方后的结果*/
- P1 T3 a5 c5 ?6 Uif(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/" ?- T( n. B% q0 g+ i
printf("\n%ld\n",i);" N4 @: N0 d/ N+ b& j. _4 Z# w0 v
}
8 q3 p; D$ r+ I( e7 S( L" H" N8 A( n}
$ x2 K+ H- {2 [* p! k==============================================================
* j3 @4 E8 ?# w; }  ]0 g; n【程序4】
8 H( S4 X7 {, z7 Q  x+ N题目:输入某年某月某日,判断这一天是这一年的第几天?; W+ @8 S8 i1 X2 d4 S: C
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊3 O7 v+ ?/ d% p  p
情况,闰年且输入月份大于3时需考虑多加一天。
/ p5 e. W: h; g) H2.程序源代码:6 ^! l( W- W1 T' u7 X
main()1 _" l% p* h" y( L  C) s
{6 [2 i! j( H; v* Y
int day,month,year,sum,leap;
( D: [. R' j% k6 `/ }" k0 u$ @9 {printf("\nplease input year,month,day\n");
) \" O% e" Q7 x4 v6 n7 @$ W6 M( n* c) ?! Wscanf("%d,%d,%d",&year,&month,&day);
) M  E# e3 e# T4 F5 h  Cswitch(month)/*先计算某月以前月份的总天数*/7 l% N4 b( @0 S& n
{
7 Z" Z  |4 p4 U2 y! xcase 1:sum=0;break;# d( q; P0 l2 Y" L4 o5 U9 M( k
case 2:sum=31;break;
- _! z5 n# j$ ]7 w2 Icase 3:sum=59;break;
! q% e. U! }, Z. O7 @; q2 q0 ]case 4:sum=90;break;+ P  M6 _6 M* u8 n6 h# ~8 b
case 5:sum=120;break;0 s( w; `2 `2 {' s
case 6:sum=151;break;$ f  w( P5 D4 D- E7 s
case 7:sum=181;break;
5 |' M( ?9 m* ]& V' `case 8:sum=212;break;# u' P$ Q$ c" h2 ^5 e
case 9:sum=243;break;
2 ^' Q9 f" J) o/ Acase 10:sum=273;break;
: o. g" O3 `2 N- ]* |case 11:sum=304;break;
6 ], d* s$ l# H  T$ `! A+ Jcase 12:sum=334;break;
# T! l" i  `. w0 I0 y' sdefault:printf("data error");break;
' @- }; u$ E7 }+ k& |}) f8 O: ]7 k; `2 A3 F% V
sum=sum+day; /*再加上某天的天数*/
" e* b1 o) d, s9 }: ?1 U% Fif(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
0 R2 R! ^1 I5 e% h, {leap=1;
2 i* d$ O! w; i1 `. {% r* b: m0 Velse
) q' ^% [! a- tleap=0;
! n0 \0 m4 s% q% W& }8 uif(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
6 M8 ]+ Z# v  U' X$ ?) _sum++;
- {( [" n0 s9 _0 Kprintf("It is the %dth day.",sum);}
- @; H8 n1 I) I5 v3 a==============================================================4 }# ?" S& K  d9 T5 ~- b
          y$ W, ?! Y* U+ V
& U0 r0 R- V7 D1 f
  
2 H9 B7 u& B: z' E; ^0 R* V9 Y0 a6 |% |$ l7 B

* Y  ]/ p% ^% f 244e6904.rar (8.92 KB, 下载次数: 0)

手机扫码浏览

该用户从未签到

发表于 2009-12-2 20:57:54 | 显示全部楼层
楼主说的,我很认同!!! \\\|/// \\ - - // ( @ @ )┏━━━━━━━━oOOo-(_)-oOOo━┓┃网海茫茫,认识你是我们的福份; ┃┃网语缠绵,那是我们注定的缘份。 ┃┃ Oooo ┃┗━━━━━━━━ oooO━- ━┛   ) / \ ( (_/ \_)毕业证书        手机大全        手机报价        手机        手机

该用户从未签到

发表于 2009-12-2 20:57:55 | 显示全部楼层
dddddddddddddddddddddddddd

该用户从未签到

发表于 2009-12-2 20:57:55 | 显示全部楼层
ddddddddddddddddddddddddddddddddddddd

该用户从未签到

发表于 2009-12-2 20:57:56 | 显示全部楼层
楼主还真是细心呐,谢谢楼主,收下了

该用户从未签到

发表于 2009-12-2 20:57:57 | 显示全部楼层
献上几句诗给大家读读:天欲雪,去满湖,楼台明灭山有无。 水清出石鱼可数,林深无人鸟相呼。 腊日不归对妻孥,名寻道人实自娱。 道人之居在何许?宝云山前路盘纡。 孤山孤绝谁肯庐?道人有道山不孤。 纸窗竹屋深自暖,拥褐坐睡依园蒲。 天寒路远愁仆夫,整驾催归及未晡。 出山回望云木合,但见野鹘盘浮图。 兹游淡泊欢有余,到家?U如梦蘧蘧。 作诗火急追亡逋,清景一失后难摹。wow power leveling        wow power leveling        wow power leveling        wow power leveling        wow power leveling

该用户从未签到

发表于 2009-12-2 20:57:58 | 显示全部楼层
支持!顶顶顶!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2025-5-10 18:14 , Processed in 0.486760 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表