|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
出处不记得那里.如果是原主人看到请原谅!要是知道是那位肯定会写上名字.4 v0 Y. P* ^2 o X
) B5 G6 n. G: G; p# S( c 9 v6 U& h l6 {$ E J3 M) P3 v: g
, x/ q0 c$ a. }, b浏览先浏览下内容如果需要就下)
- j; n9 e4 E; D3 l# L" V) U7 q
3 F8 e; E. W; n6 M; {6 K _1 J, r【程序1】/ s# s, j6 o1 z
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
, x- a! q/ k4 c3 U0 C* H- x1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去+ Z( g: B4 E- i1 W9 g2 w6 a
掉不满足条件的排列。 . W7 [: m: \+ ?0 N
2.程序源代码:# _5 t1 l3 V1 @- C
main()
% I4 |' j6 ]% t! B3 M, }6 q{
8 Y) Y4 V- w/ j" C4 qint i,j,k;
* ^( J7 m4 U0 ~# L0 R! P' Mprintf("\n");
# K0 i1 g, E. z5 {! ^for(i=1;i<5;i++)/*以下为三重循环*/
( N# S2 q; C2 _6 |/ Lfor(j=1;j<5;j++)4 s* D2 P6 F# _2 V0 T+ K
for (k=1;k<5;k++)
3 J! A% ?1 I8 G* \& K" \{, \7 y1 ?1 l) z) ~) o
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
4 s9 E. K6 O# o3 c( b& [printf("%d,%d,%d\n",i,j,k);# ^5 \% @5 p/ h' T
}; d4 U, B+ E m$ Q0 b7 o. p. [
}% N4 {1 G, u. @% z
==============================================================
7 q% T- R1 i# Q0 q5 }【程序2】
8 n0 X( v3 i6 N% ?题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高: L) Z" @- O7 T+ k7 z' K! N* }) k
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
" o @; o \: x ^成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
1 O9 N/ l1 {7 F+ q* X) {40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
4 C5 s. q9 P- _7 B) D. M3 @* @100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?/ ?+ @ v D/ d
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。5 o# J) t& g2 s; E: M
2.程序源代码:( U; M- h1 w( h, |
main()
- n% U( R) c: q, F' o7 S/ o1 |{
, O+ @* z a" E6 G+ f/ w. c! Plong int i;
% d" t" l. R0 f6 n. r8 jint bonus1,bonus2,bonus4,bonus6,bonus10,bonus;# G0 c R1 F3 U& S4 P }+ j
scanf("%ld",&i);% i6 o) e, A5 M8 i& T& Q% w
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;$ F2 d/ }& {; ^" M
bonus4=bonus2+200000*0.5;
6 l, C4 y- [4 Y( t$ x: Ybonus6=bonus4+200000*0.3;
* y! W+ h1 G' p" y8 qbonus10=bonus6+400000*0.15;
8 M! t3 v' H* U2 t2 c5 dif(i<=100000)
4 n+ D& X" P. q: Z" Cbonus=i*0.1;8 \! B! q" g! _ X& c( O. G- o
else if(i<=200000)0 ] P' N9 V6 L- |- W# Q
bonus=bonus1+(i-100000)*0.075;- M: ~7 k2 Y3 [* D q* W
else if(i<=400000)* l( r" ?" z) _+ D
bonus=bonus2+(i-200000)*0.05;
# s6 [' F+ e l; i! k/ \% Aelse if(i<=600000)3 z8 ]' I; J2 W# T
bonus=bonus4+(i-400000)*0.03;
9 S, |" \. E! |else if(i<=1000000)# R0 r/ u7 o F
bonus=bonus6+(i-600000)*0.015;
) o5 v% G) h; D( n4 K/ delse
% w1 x( _& w% t8 u/ c' x! w" Qbonus=bonus10+(i-1000000)*0.01;4 z5 C! W" ]9 ]3 m; I2 e; K
printf("bonus=%d",bonus);
% ?% `5 j, ]( a. e} * H# }/ |4 u4 _$ W* J; }/ x
- Q6 x- m [( \3 A( J
==============================================================
- W* z A+ [4 M% K" x& {" B( S【程序3】5 n8 e2 {! n0 v6 T C
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
# k+ c0 A7 e2 g) P! e# K1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
4 i& N( J9 z* J) i5 ]6 C8 L的结果满足如下条件,即是结果。请看具体分析:/ H9 C9 P/ `2 I# J) X( L" ~
2.程序源代码:0 h# J! i7 M( |
#include "math.h"
; \$ L! J! z( i3 V% m+ S& s; Pmain()
2 x3 s4 i6 E* i{
( F' ?: i) r7 n6 M' l) |long int i,x,y,z;4 z1 C/ V1 n* e! K. J8 h) e
for (i=1;i<100000;i++)
" L' c' p5 w* L$ `/ o# G{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
$ T0 Z1 t* D! y* p1 My=sqrt(i+268); /*y为再加上168后开方后的结果*/
b, F, R; B% M6 c" w- Eif(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/; \/ ?5 ?5 g6 y8 [' L4 d! W5 V
printf("\n%ld\n",i);* q. A) j. z/ V7 y; ?% _9 m3 Y
}
" C5 _% K& @+ B, k5 z/ O8 |9 M) o}
8 G# S6 S( ]8 {==============================================================2 @, \! l3 D/ l* O1 C
【程序4】
" G. b# D* M, y6 ~) }题目:输入某年某月某日,判断这一天是这一年的第几天?. ?! c& n& M, o E: E2 ^
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊 X) A5 Y. _3 R+ o8 H
情况,闰年且输入月份大于3时需考虑多加一天。7 ^9 R# R7 X- j* q ^
2.程序源代码:
- f v( K7 p Gmain()
1 n/ X; X# r+ x4 v{/ t) }7 A3 [6 O7 |, M
int day,month,year,sum,leap;/ b1 B- s1 E$ W: y3 V
printf("\nplease input year,month,day\n");
/ n2 @" \4 K7 O Y `- R( o" a* xscanf("%d,%d,%d",&year,&month,&day);/ K) t1 y1 a7 e
switch(month)/*先计算某月以前月份的总天数*// X' ?; r Y8 T" a/ U9 z
{# l+ G+ E* _4 i6 z
case 1:sum=0;break;/ L) Q& x, I! V2 I6 P
case 2:sum=31;break;
" N2 j- g' R5 S- X, X$ m8 ycase 3:sum=59;break;
! E: O( ]' h: T2 ~( t$ k# ycase 4:sum=90;break;. l, d" j( Y4 w1 x
case 5:sum=120;break;* e* A2 k- t; m9 ^, [. f$ i
case 6:sum=151;break;
9 Y' X6 }& h6 j, c: Kcase 7:sum=181;break;$ _+ T- ]: j1 u, |6 {; q! @. c
case 8:sum=212;break;4 r- g6 N# |' k2 h
case 9:sum=243;break;
N+ y' F/ g( M* }) @case 10:sum=273;break;
# M1 i+ }' G# g& ^case 11:sum=304;break;
( W/ n: J: k/ W2 b% n; a( ?4 u; Ecase 12:sum=334;break;
# J( c3 N$ c% q2 a. Q; f0 ]: gdefault:printf("data error");break;' B% ]# r& z: a( D7 }% S
}/ v5 L8 p0 C& ^8 L1 y6 L
sum=sum+day; /*再加上某天的天数*/
+ I+ W' z0 @5 Z5 j4 Hif(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
& b, H- C4 z+ o6 nleap=1;6 [. B/ v4 m1 _7 i
else& `" J# m8 B. p
leap=0;
! U$ Z6 ?' n U* |# k7 lif(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/+ c3 m" O* D$ n) u
sum++;% p5 v) p. P2 k% n; S0 `
printf("It is the %dth day.",sum);}
* [& e* }1 y; R# r==============================================================
) n6 d b! _7 g- m
^& K# R0 m% a3 A$ K! H7 I' X & w H+ E2 D+ ~% D9 T# n: h! D
/ w: B& D! [" y$ P% C/ P
: P$ j9 {: T( V: x$ Y( D4 L
; B" F! z5 H2 }# q" n! Y+ V: T
244e6904.rar
(8.92 KB, 下载次数: 0)
|
手机扫码浏览
|