2 j ?6 L4 j) I! I, V/ i8 i+ U" M
9.3 ) n3 z$ F9 B+ g: Z0 z$ ^2 k% I#include $ `# e+ v7 ]2 U8 m0 b0 a#defin S(a,b,c) ((a+b+c)/2) 0 o o+ b, B, G" O# s#define AREA(a,b,c) (sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(s(a,b,c)- % X, Z, w# w/ L; x F7 b8 j3 fc))) : W2 Y5 x% Q. U% m: \! qmain()5 _& i6 f* S& z/ T' s
{* `! u) G3 o( }; v! G! Q
float a,b,c; 3 \; O6 K k8 Q; s8 O. H printf("请输入三角形的三条边:");) B: ^- ~& b1 ?6 |; S
scanf("%f,%f,%f",&a,&b,&c); [9 c( T! T X2 H: M. u; x7 [ if(a+b>c && a+c>b && b+c>a) # `2 A' e6 x2 t" [! Y% f3 C printf("其面积为:%8.2f.\n",AREA(a,b,c));1 r- D ?# G% n8 g# e$ y
else 6 K6 ~% F5 P+ _# N+ b. G printf("不能构成三角形!"); 9 B2 E" g w3 v } , u$ a; r& v- y$ u2 T( \! ]6 M" |2 |+ D# j
" i# R# c6 i2 z7 z | L4 ] O4 l- T7 v( Q+ h
9.4: K0 r" v s: [+ U
#define LEAP_YEAR(y) (y%4==0) && (y%100!=0)||(y%400==0)7 R: D( S9 K* Z! k6 {, f
main(): H( n. ], j! B" b* ]% Q6 f
{$ A& C/ |8 r; e. \4 r5 [3 _+ p, a. N
int year;/ d4 M W+ O, i$ K. X7 w# l% g
printf("\n请输入某一年:");9 `5 O* |# n. M; \! x D
scanf("%d",&year); ) Y6 I) H9 X# ?5 T g* A if(LEAP_YEAR(year))& D) v, P' t. _7 ^% V* v( H7 D* Y
printf("%d 是闰年.\n",year); 5 h2 S' C* A0 a6 _+ A else$ ?! E0 h/ ]7 g
printf("%d 不是闰年.\n",year);) E1 h- o9 G* a# s7 ~% u" j/ Y l
}: a Z$ C3 s7 v3 L r
. ]' Y* C+ ?: ^6 Z
7 F9 s2 \" ?$ Q) }$ ~ ( G: P$ P: z* a) m- C9.5解:展开后: * d6 Z& |/ K% y# Nprintf("&#118alue=%format\t",x); % j6 s+ B# O9 ^0 C3 S2 Iprintf("&#118alue=%format\t",x);putchar('\n'); * o3 @1 \$ M5 |* s; n V/ @+ cprintf("&#118alue=%format\t");printf("&#118alue=%format\t",x2);putchar('\n');0 D' O" S: r0 w, z9 u. e
输出结果:9 I2 U# T& |) `$ }2 }# l( d- T1 T
&#118alue=5.000000ormat &#118alue=5.000000ormat7 I A; A3 q, ~+ J; w8 L
&#118alue=3.000000ormat &#118alue=8.000000ormat B+ D( ~# d0 ^' B5 g5 s; q4 r
) j: d& I, }2 k! T8 m % D& N' Q9 M" U% }( u: X' h( [9.87 f- D: W' j3 {7 m5 Q1 A- Y
main()( U6 S7 l1 ~/ y" M8 D
{" U G S7 l' o9 X, A9 V h; i
int a,b,c;5 a: v7 k5 X, `' T$ r
printf("请输入三个整数:");) f2 d9 @# A* h9 f
scanf("%d,%d,%d",&a,&b,&c); ; e. J, U+ c! X( @" V' E printf("三个之中最大值为:%d\n",max(a,b,c)); 8 L# a3 d( ?. u- q, A1 d } " s* ?+ z% s4 d* k max(x,y,z)* J8 T Z3 f/ I h: m
int x,y,z; 8 o* |0 l- [ B# N4 I8 i {8 h% ^) B/ y7 c; Q0 a$ f+ P
int t; , V5 M3 D% q. Q- ^ P t=(x>y? x:y);% T, W: u" i, `( a
return(t>z? t:z); 1 l% D2 V. Q( ^! e+ ^! b) H* e } @0 t- Z+ n5 u/ w* g% ~: I7 ^ M2 R; G) L7 U; {" t
3 L( w. C, p0 s, R% F6 X8 ~ ; X& q& l( V, A W- g. v3 e( g9.107 ?! Y# h' G. t: C! D
#include7 ]/ v& |2 k* A4 U W; f
#define MAX 80 9 g# U' p' r R7 C8 q0 o#define CHANGE 1$ r. a* b8 r, h+ I
main() ; e9 g; ], R, Q{ ' C- a& V9 a1 z: L; y char str[MAX];2 }* k6 ~) T& X# \- K }
int i;& {3 y6 Z! @/ y& G: @* }1 P
printf("请输入文本行:\n");& H& E% B) }5 A4 C! M7 N4 v9 e
scanf("%s",str); C4 l8 X1 U. W #if(CHANGE)+ S k3 a" W- a: r
{! z) L: V- g( O$ L! u
for (i=0;i { 3 b* r' f4 l6 f$ y% _! {* ^3 r if(str[i]!='\0' % G! T+ E; l @6 _: N if(str[i]>='a' && str[i]<'z' || str[i]>='A'&&str[i]<'Z') 8 E* G- L: U4 G, t str[i]+=1;. A# Q) E, X0 {0 _; J% }% z" {& x
else if(str[i]=='z' || str[i]=='Z')) I* m; D: C7 T7 S
str[i]-=25;4 u0 |5 D! c; f n* m
} - N, p8 s2 x+ R/ w3 D6 ^5 J}7 J: z0 Y+ [& {7 O% b7 k+ U
#endif, O. u1 @' g" T# j+ @
printf("输出电码为:\n%s",str); $ I6 T$ E+ F0 S9 E- ^" a0 s0 {} 5 k b; ~2 T0 E& L4 E第十章 指针 0 j: X" N, P& `8 {10.1, I( R; f; k: A7 k- }5 \+ v& u6 h
main() ( N9 ]0 \6 x* B( a3 [) ~{int n1,n2,n3;/ g9 o3 `& A$ Q% k3 Y- f! V7 B
int *p1,*p2,*p3;# \4 _* M: @. j
scanf("%d,%d,%d",&n1,&n2,&n3);, v" [- e6 A, h3 a) {6 p
p1=&n1; # c/ s* Q7 @3 I: y) t p2=&n2;+ u& w9 N" R6 K/ h* v$ ]
p3=&n3; % ^6 g! s# }; K1 a if(n1>n2)swap(p1,p2); L2 j! q, j$ u8 {0 c/ J/ Y' H if(n1>n3)swap(p1,p3);7 ?1 Y& q/ i: n( L6 D7 K3 S! F- F( n
if(n2>n3)swap(p2,p3); . ]6 ^* {* M- u: a) ` printf("%d,%d,%d\n",n1,n2,n3);' [3 F9 o( ~: @1 q. k6 }1 Q
} - O5 ~/ s+ J! {# sswap(p1,p2)( P, q0 t( J# r9 [
int *p1,*p2; 8 p) ~# I5 W" p- n{int p;: ?3 t6 }& P# V( _8 {0 i2 b
p=*p1;*p1=*p2;*p2=p; 3 a. e) ~, p3 s7 R2 M/ [" E: Y} 8 A0 D! N E+ `" ~. m& t7 E1 k10.23 \7 O; p' r d
main()4 n8 }$ M0 j3 \- `! |" E
{char *str1[20],*str2[20],*str3[20]; # k: q6 ^- Z/ Y% p e char swap();6 u8 r( ^2 }/ a* d+ e6 o
scanf("%s",str1);. D' @" ^ t2 A# Q
scanf("%s",str2); + a2 _! j9 y8 s( }; @ k' m2 V scanf("%s",str3); $ ^6 p9 ~* U# ]: u0 o" C+ X1 D if(strcmp(str1,str2)>0)swap(str1,str2);1 I8 a% c/ o2 C4 z1 g
if(strcmp(str1,str3)>0)swap(str1,str3); - Q p/ N+ E; r* A( n" s3 o& G0 ] if(strcmp(str2,str3)>0)swap(str2,str3); * |& h4 }; _0 t9 D9 Y1 P$ J printf("%s\n%s\n%s\n",str1,str2,str3);+ a' v; C; @* }: j+ q
} 5 R ]% E$ K! Dchar swap(p1,p2) 6 r5 m" p' p9 l+ Zchar *p1,*p2; # \ {( W4 h5 m% N" H% o6 d{char *p[20];( J8 s$ T0 p6 S5 k
strcpy(p,p1);3 E2 r5 z2 v- e. O! U/ _! w) e
strcpy(p1,p2);- Z: D- k& E7 ~; ?4 E- x9 W2 y
strcpy(p2,p); : \8 [6 F' R2 G1 N: d" m} 5 \. T/ u8 _5 F/ X; H5 j10.3 , c7 y6 w# O5 O+ `6 Umain()4 `1 d+ y6 i3 e5 t/ P
{int number[10];7 y0 S Z2 B9 L' m, y
input(number);8 m6 V# j6 n8 M2 t
max_min_&#118alue(number);% b/ y/ U( J7 U2 u2 ^' [8 e' a
output(number);% k" o3 l+ r% W) e0 K1 t# |8 F2 o
} 6 w i1 C C4 y8 D2 Binput(number)# V9 c7 d& \7 s
int number[10];9 @ H% O' [7 |4 B5 D
{int i; * X- d. Y% `, E) f4 v# X8 r- \) H% M for(i=0;i<10;i++) 3 T7 C- p5 {' o* ], H) T8 Y scanf("%d",&number[i]); ' T. ^: C: t+ M6 Z5 G2 X- ?/ Z} 5 q% S9 m8 ^* M) |2 o m1 Qmax_min_&#118alue(number) K1 j# p/ F/ L0 E
int number[10];! W$ N) K$ {! ]- x8 O
{int *max,*min; ; d# P9 |6 I4 X7 A N h# W% x5 @- t, ^ int *p,*end;) V0 [+ @7 {# J5 G! H t% [
end=number+10;0 G& {# n2 P3 h' p& C# e, ]
max=min=number; $ C; E$ n2 ` N# R9 [ for(p=number+1;p if(*p>*max)max=p;3 i$ F/ j6 U0 \; H1 |
else if(*p<*min)min=p; - }7 F# N7 e0 b6 m" n' Z' ?! u *p=number[0]; & d$ n: x2 b- d, M number[0]=*min;8 [/ V& v& M* k- X! C
*min=*p; $ t2 c9 [5 u3 j( ~" H *p=number[9];! K' w0 h" V ^% T! b( [
number[9]=*max;, L2 ]" C% ^% Z: [ q
*max=*p; 0 D* k3 Z* c2 E return;; i1 D6 {2 ]+ s! I- P3 p
} ) ]. r9 x2 ]: g: T7 ioutput(number)9 h5 k' o/ |/ Y, d: Z6 `( v
int number[10];" z0 X& \; ~9 }" x! s/ m1 O: ^6 h" k
{int *p; $ n( C" o7 w- F for(p=number;p printf("%d,",*p); * c# p6 B( t) X; S printf("%d\n",*p); . }7 p9 A4 e1 ]3 U} - _0 q: b9 Y3 ]5 v2 j8 W) K10.4 9 H$ t* A5 Z, y' m6 qmain() 7 M0 |+ H! i$ w9 _# l% B# F{int number[20],n,m,i;) Y( Z7 a1 `2 r& d) |% u
scanf("%d",&n); ; D0 H' M& G( b \ scanf("%d",&m); & ^' _1 T/ U+ U- E for(i=0;i scanf("%d",&number[i]); 8 _# W% o3 V' @$ y' G& g1 t move(number,n,m);* l- t( }3 n; |# z; K
for(i=0;i printf("%8d",number[i]); ) {* P* e/ I2 u0 B5 w} + f. E4 J o4 C+ o# Cmove(array,n,m) 9 D! u& C" @* Y; I1 y$ @% Sint array[20],n,m; ! G4 y4 }4 |/ V8 ~) C: o{int *p,end; 4 I1 W) c8 g3 C' ?( ~ v2 i; d end=*(array+n-1); 6 P ?0 P1 B7 V& D for(p=array+n-1;p>array;p--) - ~& [# z* q/ i2 W3 O *p=*(p-1); ) Z1 T* U- Z+ J' Q *array=end; + {+ G1 n+ C$ O! d; L/ Y* h m--; % d0 g' I" G& X if(m>0)move(array,n,m); ! N1 G$ u+ N4 ~- r} * ?" G# X7 L' ~3 U7 @ U! Q10.5! m- j! z0 v8 x
#define nmax 50* I. ^5 U, U, ]- q5 y, O) K3 J
main() 8 u; R' X8 R7 s9 D{int i,k,m,n,num[nmax],*p; 2 G# R* D9 w; Y9 G5 X6 V scanf("%d",&n); + |5 e) h& p& }' k1 B p=num; ^9 w1 D7 \: i9 t) _ for(i=0;i *(p+i)=i+1; 9 s5 L& S' ~) ?. R i=k=m=0; 2 q7 ^' m8 n+ H8 } P while(m {if(*(p+i)!=0)k++;8 C. X9 k U: ]+ w% _% h" Y; `
if(k==3) + e7 o( P" N6 ]3 Q1 j {*(p+i)=0; 2 \# o/ _5 x, P; }. D& R7 A! Y3 m k=0; / a) G# U' t0 K! a6 y) z" ~ m++; . l1 R! {! X! a, l }5 o: n, b, @. C7 s& J* M3 _7 t5 h
i++;* f# H) `* k) I: y4 _
if(i==n)i=0; 1 O8 @) L, W* w0 Y; g } 3 B( d0 w! O5 @" @6 H" V while(*p==0)p++;8 W& p2 ]1 X4 v' x- N N* y
printf("%d",*p); 1 m6 W5 C& o/ D; T+ L} ' b3 S0 T. L7 p! A% R: G10.6 ( d; J# P+ }- Omain() : x( X$ m; S8 \" Q{int len; , t$ l( e, Q# y char *str[20];/ k- o& f" P* F
scanf("%s",str);9 W3 X: H/ G& J2 [- Q* T+ a2 }" a
len=length(str); ' a9 @2 K; ?, }( W printf("\nlen=%d\n",len);2 K% p' u' s) w7 r2 B- y0 Q4 r
} ; a5 Q) f7 M" M$ l# _' Zlength(p): c7 G- I% {8 n9 i- z) R% y
char *p; 3 F% R( N/ w* m{int n=0;! t6 J* C# L6 ]( v. G k+ c
while(*p!='\0') ( u' s7 ?! ]1 ~ {n++;p++;} ; r2 Y0 S/ v2 F2 A return(n);2 m- g: M8 E( k" S! M4 I
} . e$ \, {3 O. ?3 W6 o9 j: ]10.73 m& N5 b( x! s( m. F: `
main() / w5 |* e; {; D* D{int m;" U. g0 ]/ x+ }6 B
char *str1[20],*str2[20];" ^/ Q- H! f# f8 Y$ B/ H: b6 O
scanf("%s",str1); + q2 U* M& g/ `' y" ~+ S0 n scanf("%d",&m); 1 R% s& U' J+ m, g) q! i0 L if(strlen(str1) printf("error"); 3 k( W( [' L0 W! L else, Z' o. t( t' m$ D7 y8 Z
{copystr(str1,str2,m);7 H7 Z. a9 T X
printf("%s",str2); 4 q+ }( f, z) c) w; ^3 d+ W* J& H }1 t* O; ]8 H0 w
} $ y& v9 X4 u# a1 g$ r- R- ncopystr(p1,p2,m)+ a' W! h( x- z. K* W
char *p1,*p2; ' b# O/ | h3 h( _int m;) M* R0 _9 R/ S* G6 b
{int n=0; ) c; B, @; r5 b" I while(n {n++;p1++;} - i2 l: I9 q6 h" B" }; e3 A while(*p1!='\0') % g2 @: {' y. ~& s: Y& y0 e {*p2=*p1;: L( H6 \# t! ]. `: |: }0 T
p1++;- w0 h4 `3 v6 C' c
p2++; k8 j& d! t# L5 T- ~" M0 y }& [9 K3 U4 U8 H+ f! A
*p2='\0'; 9 q' M3 `% h" I$ w# @}! p n, Z) i. P5 U( w
10.8 " u0 Y0 C8 C. d+ {9 m#include"stdio.h" , ?- a4 ~2 B' Smain()4 u8 o4 U8 D4 j! g* A5 V: A. a
{int cle=0,sle=0,di=0,wsp=0,ot=0,i;* J. _& l% l' f; `; u6 F# `$ g1 g
char *p,s[20]; , ~, w0 ]$ t0 m# b( x for(i=0;i<20;i++)s[i]=0; : a: o' _# U' w0 G) o i=0; / ?% z1 T" J. `) |; S5 Q while((s[i]=getchar())!='\n')i++; " d! A7 c6 S: ^/ q, U p=s; 1 }- E# A3 s/ i8 a; s! ` while(*p!='\n')& n3 l) \( A% R# j! ^6 |! _
{if(*p>='a'&&*p<='z') # t% U( A [1 R2 F' N6 }" D ++sle; 6 H$ R5 t# h. v/ m else if(*p>='A'&&*p<='Z') ; s# m, P. Q& q' G) [ ++cle; $ P1 U6 s5 u! R" w+ S else if(*p==' ')0 J; Y! l8 ]8 C2 S% r% S
++wsp; 4 J6 X7 m+ p t) S! ?/ i; M# G else if(*p>='0'&&*p<='9') 4 R% d; `6 j6 \: K ++di; 4 G1 g5 o: x! g7 [6 E) s2 o else & n7 ^! c3 L" G9 _) E5 R# [7 Z ++ot; 2 o3 V& m1 q+ j p++; 5 x3 U. ~' I. E3 r } ; B: L* O+ f' a B" O6 w. z printf("sle=%d,cle=%d,wsp=%d,di=%d,ot=%d\n",sle,cle,wsp,di,ot); % \- e$ x* P' v}) y( v, v$ ?& i9 @
10.9 & J* ~5 {4 E3 Fmain()/ w9 o; c7 F; D _
{int a[3][3],*p,i;7 Z- ^0 b' S6 _' x% G5 U
for(i=0;i<3;i++) # Z2 O' W u+ C- a& @6 y Y7 b; a scanf("%d,%d,%d",a[i][0],a[i][1],a[i][2]);/ B2 ]8 U+ e# U0 G/ c- N9 n
p=a;) @+ } E9 `. u: b5 C
move(p);, w2 y3 @: N2 K9 u# y( f
for(i=0;i<3;i++)# A {5 s4 n9 m0 r' d
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]); ' z j8 i0 v& q2 _1 J9 \}4 n A) B1 K( v/ {" I: i+ v
move(pointer)+ V& L5 V, ~; W6 d
int *pointer;" i/ t' ^; j) |0 N
{int i,j,t;& O; E. x' [* J- i$ R, d, h
for(i=0;i<2;i++). F' h, t& H' H) e5 r
for(j=i+1;j<3;j++)" v- ^3 Y9 }/ f6 q; X$ A7 o
{t=*(pointer+3*i+j); & t% R( y4 U0 n |( B *(pointer+3*i+j)=*(pointer+3*j+i); * }7 r! C/ ~0 ~/ ] i5 ?7 S *(pointer+3*j+i)=t;: U$ u" i2 V/ q! ~$ u* ~$ ?9 b
}0 N. G; p7 j9 ^" t+ v$ v
} 1 `" `3 E& M* G# j6 F: S. r10.10/ k7 ]0 s& z; `+ b$ G
main()# s/ w' t0 [6 S% w/ f4 e
{int a[5][5],*p,i,j; 1 |4 F; h5 V) a& ~$ ~+ q# ` for(i=0;i<5;i++) ! Z5 {* F4 I. f* I G for(j=0;j<5;j++)) x( P$ M3 O, a9 @9 ]3 y
scanf("%d",&a[i][j]);2 R, n) R) z8 V- A
p=a; : f) ]3 L4 X, s* y+ S4 q1 t change(p); 6 B( K- L$ M) J; G for(i=0;i<5;i++)% f. e( X# B! Q7 ~
{printf("\n");+ G; e# X( f3 k' A2 @8 ^
for(j=0;j<5;j++) 0 \: o/ t0 ]$ a, [. I printf("%8d",a[i][j]); % K* C. [, Q$ N1 [ } 3 E- p3 v" Y6 Y: Y$ w} 1 I R; u: c3 y0 _" Q( Fchange(p)7 K2 g# y* g% t1 W# u
int *p;% R R( ~4 t3 M
{int i,j,change; . D9 Q4 A. u# f7 ` int *pmax,*pmin;5 M/ \( f" v. |. }6 ^
pmax=p;5 g1 @% j$ h$ j: C1 U+ z
pmin=p;; [: {# t+ Z" v* \
for(i=0;i<5;i++). W7 f" h! J5 u5 ?* c
for(j=0;j<5;j++) - |% m) m( |$ p. [ {if(*pmax<*(p+5*i+j))pmax=p+5*i+j;$ ~- \2 K8 ^& v J6 a7 _
if(*pmin>*(p+5*i+j))pmin=p+5*i+j;( c9 Y4 e' q3 E! t
} # L9 I- `8 d4 l change=*(p+12);7 I l j1 d/ l7 P! D0 l7 E8 Y: `, n1 v
*(p+12)=*pmax; 3 l& e. w0 _" m *pmax=change;% d* d' P" b' z4 G' X Y3 |6 l2 H
change=*p; - P2 X: c$ v$ Z# z *p=*pmin;! A$ s7 O# ?4 H8 Q. Q
*pmin=change; J3 |2 [* g( m5 b* ?' t pmin=p+1; , ^* g s- m8 v' B/ A& S for(i=0;i<5;i++)# J: X) n& b9 E; W5 x6 h3 j* I
for(j=0;j<5;j++)5 _- ?* }& V# E; C; u4 n" w& e
if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;& z5 G+ O" c7 y2 b/ y/ |
change=*(p+4);# c9 }: F! d6 U6 z7 P; I
*(p+4)=*pmin;1 v9 G* I: p: \9 {" P) h% I) i
*pmin=change; 8 |& S3 K5 V' g& i, Z pmin=p+1; * b) h. z) \$ ]/ e6 l for(i=0;i<5;i++) + l* g+ Z% H, y0 u; N* G4 J5 { for(j=0;j<5;j++) ( i5 G; t% c5 E2 }% v* N) o if(((p+5*i+j)!=(p+4))&&((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))) O) p! g+ j6 w: a
pmin=p+5*i+j;6 \! K+ O+ W" ~* |9 R$ z; ]& v. u
change=*(p+20); 0 B8 d! z+ t( C$ h *(p+20)=*pmin; + O0 R! w @9 o$ a1 p! G9 w *pmin=change;) \5 {# ?. _' ~4 ~ H
pmin=p+1; + A& B4 Q- c& |4 o( q- N for(i=0;i<5;i++)! \% o* @$ t6 ^# ^+ @1 G9 d
for(j=0;j<5;j++)% `; U8 j M$ m( \+ F
if(((p+5*i+j)!=p)&&((p+5*i+j)!=(p+4))&&((p+5*i+j)!=(p+20))0 D1 Y' V( l1 w8 h# I& ]3 M$ [
&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j; 5 r# u$ i% \3 D! L; j change=*(p+24);3 _5 K% P$ C, c% [4 _* f: ]
*(p+24)=*pmin;# w! J+ O _- Y: e) z& `) Y8 F" }( C
*pmin=change; + l. u; F: L; r' M: H* n} ( @& b9 p% h7 Z0 F" o- G7 s; L10.11 8 z0 T! ~+ a5 \! smain(); K* }5 ?- E/ E& E
{int i;9 _; f$ [+ k5 d: ?$ j2 U, H" \5 [
char *p,str[10][10]; - U/ E1 N/ Z4 }5 ` z K# c' R for(i=0;i<10;i++) - r+ Y8 F: l, H8 l) a$ H; r: z scanf("%s",str[i]); 9 }1 I g! T; N! |6 y# ^& ?/ T p=str; 2 {1 F5 W% n6 D. @4 I sort(p); % X4 F0 k! u9 z for(i=0;i<10;i++) 6 h9 n z! A4 P3 }! J0 X/ A printf("%s\n",str[i]); & L0 Q! D6 B6 D. A1 m& \ ]5 _" l} 7 V3 J: J+ f+ u2 G7 ~9 N5 gsort(p)+ E: Y2 l" {1 k& z+ ~6 f, E
char *p;, E3 \7 x4 X. ~: ~+ W$ z/ J8 t
{int i,j; # A+ B/ K# B$ ?& w7 N2 l9 @) L) B/ R# h char s[10],*smax,*smin; 1 H# u; m: j4 f8 o! s for(i=0;i<10;i++) 5 B; d3 T: ~7 s0 v' a; P {smax=p+10*i;- V% W M4 K5 a+ d
for(j=i+1;j<10;j++)$ l, I: B3 f# \% s- b
{smin=p+10*j;/ x# h0 ` X- H
if(strcmp(smax,smin)>0) ; c9 T# A# p. p9 Z {strcpy(s,smin); . j' b; c' K5 e4 G+ o/ @; ] strcpy(smin,smax);* J9 C' G+ }4 I' m3 V6 E
strcpy(smax,s);" c- T# _8 ?; P# D, E, D
} , v- [/ k4 E, T# q% J+ W$ k }% `1 `' H* p% P. { G7 ^, O$ q
}2 _& p4 ^+ R# c6 D+ |6 U
}) B ?- ]7 R2 Z4 A
10.12 + P3 G. L1 |8 @0 J) L#define MAX 207 f. f5 k: v2 r% A: v- x
main()+ Z$ D4 x* l" g) \) O# y* c; x+ j
{int i;3 j2 |$ [! C! [, `% b. r
char *pstr[10],str[10][MAX]; + Q: i, T H( t8 u& G/ ], n" { for(i=0;i<10;i++) - x" I" Z5 J8 P1 t: k2 r* J) c pstr[i]=str[i]; % Y# a0 O4 {& \1 m7 w% e for(i=0;i<10;i++)8 S7 v. _1 D, M2 d* }) J- K
scanf("%s",pstr[i]);% g% t5 X! T) y
sort(pstr); " G6 ~" |% U3 J i- l# D for(i=0;i<10;i++) : h6 G& o4 J _, ]5 W+ ^% V printf("%s\n",pstr[i]); + \$ j4 e) f. `' A/ z+ j& X5 \& T2 ?}/ x& w% }: \4 Q# j
sort(pstr)$ B) Q z, _- J. m. _* a# z, v
char *pstr[10]; 3 T2 o+ ]( R. Y4 ]6 l% N{int i,j; 1 \& B5 V3 |5 \, ?1 F5 |0 ^( d char *p;+ j6 h: R0 [% d- U& `. [3 ~9 W
for(i=0;i<10;i++)4 R) Z% u5 S4 l8 e/ ]9 n
{for(j=i+1;j<10;j++) " U2 R; G1 o i {if(strcmp(*(pstr+i),*(pstr+j))>0)0 e8 {: k+ I, g% m5 L! `4 b
{p=*(pstr+i);, o1 ?4 m! B) H
*(pstr+i)=*(pstr+j);5 ~( K. ^1 k9 @
*(pstr+j)=p;/ b s- Y% X% p% ]! S2 W( t
} 4 n$ ]9 k& e4 D8 @ ]6 t& | } 0 z! M+ w0 M! A4 ^9 n; g } _1 @5 O& N- a$ m8 k' W
} % O. t5 r$ P* n; z" E10.13; i* D! c* l: C7 G3 c8 U7 G1 P
#include"math.h"6 u5 l- H% [9 m0 F
main()7 `) T7 I, f/ @" R" W! t
{int n=20;$ L5 K& y6 W P2 R# O3 o, p' [
float a,b,a1,b1,a2,b2,c,(*p)(),jiff(); : U+ V, j: T' {) A6 j- m0 ` scanf("%f,%f",&a,&b); |0 X! c3 s/ @, s
scanf("%f,%f",&a1,&b1);( [% k+ y; }4 P3 m" A% V1 {
scanf("%f,%f",&a2,&b2);2 K5 ^) J1 @' E9 ~
p=sin; : O- B6 m7 S3 J6 ^ c=jiff(a,b,n,p);2 b6 d$ f2 F1 Q9 A5 [
printf("sin=%f\n",c);) r/ o& @& i. c8 M
p=cos;! W, }4 \/ b' p" b! f
c=jiff(a1,b1,n,p); ' w$ k; u& |0 _7 T printf("cos=%f\n",c);4 I0 B/ A/ N2 O5 ]: V1 O; \
p=exp;. ^$ p" d6 M' U8 b' c/ U7 q
c=jiff(a2,b2,n,p); 8 M3 f8 Q7 P* s. y. y3 @ printf("exp=%f\n",c);3 v4 w0 C) S4 b2 q
} 5 s; j1 Z" E4 k5 _+ hfloat jiff(a,b,n,p) ; v+ r% J6 L. V0 z- ufloat a,b,(*p)(); 2 u( P, S$ H7 w0 aint n; ) K) z h' ]9 L: z2 G{int i;/ V* |3 O; P5 {; k* I
float x,f,h,area; i/ p2 G1 J. e# D
h=(b-a)/n; 4 r( U0 L; U) R( ^( q, g* h' G) n6 q x=a; 7 P6 w; H1 ~/ e0 {- c F3 f area=0; 0 z) G, R2 j( j- C: c for(i=1;i<=n;i++)3 q7 |7 W6 ?+ e3 n+ p
{x=x+h; T: y: g+ o5 ]. B* y area=area+(*p)(x)*h; 4 p8 I3 e$ w& L* [, B6 ]/ I& { } & ?1 }% E2 [* Z- I0 R6 @6 H return(area);0 |: G3 f1 N, O' N1 `
}) K3 O' f+ ?0 y) H
10.14 . x# { B2 r* d! ~; mmain() , i$ q. @ D% a2 I2 C8 y{int i,n,num[20];/ ~( l" w0 i* M$ U- a
char *p; ) s+ ^, |4 U$ Q. j m) p scanf("%d",&n);/ i% z% T% x. x, l8 X! ?
for(i=0;i scanf("%d",&num[i]);, `2 q" T( X0 V! J1 _- D
p=num; ) r( f1 |& F( c& w sort(p,n);7 U) P# ]9 I" i7 o, D/ {0 M- j0 p
for(i=0;i printf("%8d",num[i]);3 [# W3 S( d9 }& K
} 1 I5 A$ l! y7 d5 B, N% i( r; Xsort(p,m)* H) y( c) R% k7 g
char *p;' B- z. y8 E+ y7 I& s' }
int m; ' X6 B: R5 Y5 y{int i;: n( n! d4 B, r& E
char change,*p1,*p2;. q3 E. v. c7 t9 S; `3 v$ [$ h
for(i=0;i {p1=p+i; 1 l1 Y* n5 H9 |, n4 k p2=p+(m-1-i);0 t" \) W. A+ i( A. [
change=*p1; ( y+ a( R r: D6 u *p1=*p2;, C/ {) N0 P1 Q. B. n
*p2=change;1 `; J5 j' k% @; { I$ o5 W) e
} " k& _( ]+ |0 h( [" F1 E- t4 ` r} & t* p3 [2 P& [10.15$ ~0 P3 y+ C! t$ {' d
main(): u$ n. Y( o) O2 ^7 B) }
{int i,j,*pnum,num[4]; 0 H/ `# j3 k2 B2 S$ d float score[4][5],aver[4],*psco,*pave; 3 J4 b4 D8 j! Z7 O8 ? char course[5][10],*pcou;( z/ U, n& a4 p2 H4 D
pcou=course[0];9 _; Z$ h' W, |" x! `* f
for(i=0;i<5;i++)+ J7 N4 \7 ?5 B( X* z l
scanf("%s",pcou+10*i);. @. q3 \# ~/ g
printf("number"); 4 u2 M* x7 X6 U l7 u for(i=0;i<5;i++) * g0 @2 J, U( ?$ r printf(",%s",pcou+10*i);% m& h# S& C! J g- ]! o) Q
printf("\n"); ) U4 g6 D6 n7 D- T psco=score; ( D7 I0 g' Q, [ Y/ x pnum=num;3 p( ^. o4 O; V2 ?3 U" `
for(i=0;i<4;i++) 5 I% _) k; q3 z- V4 b! u {scanf("%d",pnum+i); 7 Q8 m% P4 K! p6 v for(j=0;j<5;j++) . Z# c/ b. P3 H9 F" R. ^' v scanf(",%f",psco+5*i+j); 5 V) X V7 T5 D3 S }" E5 D& A9 N' k; ~3 e9 j
pave=aver; ! h0 Y; h y8 S, X$ X printf("\n"); 2 `2 |( K' O: @6 u9 Y. E$ D1 S avsco(psco,pave); # U9 C- A# \! g! O8 N& R avcour1(pcou,psco);) |2 y; V! g, g( O% u8 Q3 C
printf("\n"); 9 [1 F/ r8 H. u8 ^ l& ] fali2(pcou,pnum,psco,pave); 9 ^# o1 G, N* A3 c% U printf("\n"); ' d5 `: `$ e6 C+ S9 Y good(pcou,pnum,psco,pave);/ V3 N7 ^# H% q! I+ r* O/ ? e1 l# t* ^
} ; b3 x6 K% r1 Z" \5 S# P/ R# X3 t% kavsco(psco,pave) 6 H8 f5 Q+ x, O1 J) o, A( Q$ afloat *psco,*pave;$ _/ }# D+ Z% u. n0 G3 l
{int i,j;% i; ] n" h3 a; e# F
float sum,average; / n4 W, k% F2 f7 l for(i=0;i<4;i++) $ Z" A' Q; Q: X- e0 @( f6 R0 N {sum=0;" q, I/ W U8 h
for(j=0;j<5;j+) ) J) i) p/ b- I/ e& }6 _ sum+=(*(psco+5*i+j));6 \" ~% T' ~. B! P8 ~7 K
average=sum/5; 4 J1 a, o5 u' ?9 }$ U8 P *(pave+i)=average; : E* O9 g- e/ f: x }, o/ U5 N2 @! T( g. D2 t- |
}# i' }" U# v8 S, q7 N6 b4 }) {
avcour1(pcou,psco) ; s; H+ T7 v& t- k. `char *pcou; 4 A4 e# R* \: R5 A) kfloat *psco; ' a- \0 |0 C1 c* Y T{int i; 9 ?' S* e3 }! E; T6 x7 m float sum,average1;! W9 s/ y+ Q% H8 r) ~0 G
sum=0; ( @# e6 n/ Z8 O% C) C for(i=0;i<4;i++)# C6 J/ g1 i1 u2 q8 z. x2 U
sum+=(*(psco+5*i))& {$ {) k0 j& x7 S; I$ _0 y
average1=sum/4; ) o( d: D# w, D/ C8 k6 N printf("%s %5.2f\n",pcou,average1); * [9 o! g3 J0 t$ X, R} c1 [, d7 U' [; L2 j) dfali2(pcou,pnum,psco,pave)4 G/ Q" b8 k4 y( g! b' v
char *pcou; ( `. C$ W1 p. o/ e0 Gint *pnum;" L( z2 ?, H; z8 D
float *psco,*pave; " G) K3 z0 h. ~3 R9 O Z! g5 ^{int i,j,k,label; 1 y/ D. l7 ]6 Y0 x printf("\nnumber\n"); 8 B6 P0 v+ c$ g2 ~) c for(i=0;i<5;i++)2 v: ?. U: A: H* x6 X& C* n
printf("%-8s",pcou+10*i);. b, o6 J8 s6 K! p1 C5 j9 Z
printf("\naverage\n"); 7 k2 G* }! }; b1 U! U for(i=0;i<4;i++)% ^! ]! L0 A# e! } M
{label=0;/ Q: l- @6 N$ W8 M# G
for(j=0;j<5;j++)( ^& w! @8 v6 Q8 K2 K
if(*(psco+5*i+j)<60.0)label++; ; `4 J$ O; y$ m4 C7 r if(label>=2) " R: X- P9 |. Y% u! s% h+ e {printf("%-8d",*(pnum+i));, \* k8 C Y' L1 z4 Q- V
for(k=0;k<5;k++)* C G9 q6 L: p1 Y* C8 e
printf("%-8.2f",*(psco+5*i+k)); + c; z- } {5 X K! O/ A: `( b( d2 _ printf("%-8.2f",*(pave+i));3 E1 @! E1 ^( T! h
} / L7 q! y4 ], U" f# f } 9 M- N7 h! Z. E) ^2 [# m}) P( j# H2 q0 j1 l2 C
good(pcou,pnum,psco,pave) z' z& ^+ N4 X9 v* `
char *pcou;# c: b. J& K: I* j1 e n
int *pnum; ( ^5 C( P6 E5 t0 j# z9 A6 jfloat *psco,*pave;' j' Y. s$ h" f1 C6 a& ], Z
{int i,j,k,label; 7 y6 n0 y4 ?& A' } printf("number"); ) B$ n* `9 d) x$ t4 i for(i=0;i<5;i++) 4 G4 y* k) I7 W9 r4 C& \ printf("%-8s",pcou+10*i);/ v9 h) h1 }: p/ q+ q- ?+ k9 z
printf("average"); % S" c" M: X2 D' a4 j R( I { for(i=0;i<4;i++) # x. J6 D" Y5 ~: I8 Q) B# L2 _7 ] {label=0; ( ^0 L3 M- ^* @2 A' ` for(j=0;j<5;j++) 2 Y9 ]# n9 r% n+ i; T if(*(psco+5*i+j)>=85.0)label++; / ~3 B; l! D% q# s if((label>=5)||(*(pave+i)>=90)) 8 \) u1 q6 C- Q {printf("%-8d",*(pnum+i));; Q1 N8 R# E9 ], D
for(k=0;k<5;k++) " H( V% b1 ]2 f$ C! g% X a+ w printf("%-8.2f",*(psco+5*i+k));5 h* h4 }5 C4 J- c" ]
printf("%-8.2f",*(pave+i));3 E4 ~: R; ]0 m5 W) n( v
}$ v$ a. m- N+ Z' V' `
} $ z/ }' ^- \9 q$ ]' D. R}/ J( Y7 k# s4 W& Z4 X, {- k. L) d
10.16+ \# u* B6 d ]
#include"stdio.h" . X: V4 n! \ [3 dmain() 6 c+ M+ K% @1 M6 l- m{char str[50],*pstr; " h, C0 Q% s2 z int i,j,k,m,e10,digit,ndigit,a[10],*pa; % j4 _) h+ l" x gets(str);$ L! {8 V6 p9 C6 R# \/ a
pstr=str; ; E) y) Z1 M, Z# Q/ F$ d pa=a; + J$ y! v# ?* t4 |$ y5 D7 ^. R* i ndigit=0; X, H1 B+ s3 B+ m& K! h$ ?
i=j=0; 7 R: G! K1 S }. i while(*(pstr+i)!='\0')8 H% P- g: h( q+ B; [: M9 Q0 h z3 U
{if((*(pstr+i)>='0')&&(*(pstr+i)<='9'))0 T% v3 t, E5 P
j++;6 L7 @# B- \$ l9 Q) ?4 ?" q
else2 h% O9 b1 F" D7 M1 V
{if(j>0) * P" g) c0 G; `& v# \ {digit=*(pstr+i-1)-48;( J0 R, T7 ]! d" Z1 q
k=1; 6 |; V8 v% c0 s& p. S0 [ while(k {e10=1; ( | V4 N1 t3 `1 i for(m=1;m<=k;m++) 9 u/ F) @! S2 ^7 z8 x e10=e10*10; - x/ f9 n+ Y- P. Z+ `+ J) F+ t$ g- h digit+=(*(pstr+i-1-k)-48)*e10; ' Y+ t1 J, a: s I k++; : O7 o% l, V6 V, D" ~ }8 \3 q1 Y* u \$ T1 X' G8 O
*pa=digit; Q- k: u5 _+ B+ H; L% y5 l ndigit++; ; y+ [) P5 W0 ` pa++; + S1 Y" }2 j: g2 S j=0;+ u- Z: F7 C; c4 J1 B
} , o6 P! M$ ?4 {$ S } : t( {! i! ~2 a- n/ Q2 C i++; * [5 ^" H- A' C* e6 j. z* ]' y }' G: G9 L( B# m4 A6 S" X6 M1 n4 @" w
if(j>0) ( e3 b/ a$ l2 I, W/ U- ` {digit=*(pstr+i-1)-48; % |7 {4 Q0 q+ c# i k=1;4 f$ L/ w" I. c6 u D9 D" V/ J
while(k {e10=1; 5 A9 _2 p; E" _3 m2 P* X0 B for(m=1;m<=k;m++) / \' ]9 Q% z7 r e10=e10*10; + b1 @3 x! {# L0 E% u5 C digit+=(*(pstr+i-1-k)-48)*e10;) c- L9 j3 {5 O- c v+ ]7 F4 M6 F
k++; 1 u, _" w. \" o5 m } & s6 b9 \; z! ~; D$ I( T' N *pa=digit; ?6 X: t0 i. P+ H2 f ndigit++; + O2 `0 | i. |1 \# N& F j=0; & t: J$ z; s9 o6 z/ ~$ Q } ( h2 `- n9 f, C$ \
printf("ndigit=%d\n",ndigit); 5 \* U( `! O: M' t( ^) ]- ] j=0;, C% c- {: _4 F; m. ?0 M' P
pa=a;4 K: @5 w( P9 B0 n, w9 `
for(j=0;j printf("%d",*(pa+j)); $ p: D8 |9 y, C}/ L) [$ `1 E) D6 n; g
10.17 # Z/ z( T7 P8 ~0 s! R1 w' Rmain() W+ Y& F2 m/ h& j: D9 |) d t{int m; 2 }3 M0 N9 c$ k& l7 g char str1[20],str2[20],*p1,*p2;0 n- @0 x" T3 U# I8 N
scanf("%s",str1);' _. |' n$ X2 @/ ]
scanf("%s",str2);* U b) D" G, a/ C( a: T7 q
p1=str1; * i. r% b2 ]0 @, _: h3 {* n p2=str2;4 h c! m' y/ n6 k7 x
m=strcmp(p1,p2);6 g. f# o x) `% Y
printf("%d\n",m);4 y4 x1 Q/ j# T# W
} % c* | i$ J6 m% Q: lstrcmp(p1,p2)5 o, f+ v% ]* S5 f3 E
char *p1,*p2; - S7 j9 m- R8 K- H; }3 I{int i=0; 2 @' P: j& K/ p+ j( k" b0 f while(*(p1+i)==*(p2+i)) , c5 |0 N3 y- E* l1 @/ G) B* R% G if(*(p+i++)=='\0')return(0);+ _0 u* }( S/ M: }
return(*(p1+i)-*(p2+i)); 5 x8 d- @* e5 a) [3 v} 4 [) H" t, f: q# w* h/ h10.186 x. A5 [9 `: N! [! E$ J
main()0 W, i+ ^! D s; K
{static char *mname[13]={"illeagl","January","February","March", 2 K3 {7 u3 p$ P "April","May","June","July","August","September","October", % ]: z0 r i+ ^8 N5 S2 V "November","December"}; ( w: |; e6 l0 z5 v6 f" l! } int n; 6 A7 ^7 \2 D& x3 ~- [+ ~. C scanf("%d",&n); 2 I8 U/ f- i0 C$ r if((n>=1)&&(n<=12))) m7 C1 G! k3 ^
printf("%s\n",*(mname+n)); # f$ f0 n# E) y; U- d else/ _ E1 l/ O$ \4 q
printf("error");9 B" b; ^, {" R
}5 O! p1 i7 Y& P
10.20 % A1 a0 v1 H7 ^ g0 z7 ?main()8 h; g( j$ Q% }: U( J# S
{int i; 8 Q! ^7 V, u0 l char **p,*pstr[5],str[5][10];: D- _1 C# d8 d- t' y L3 N1 H
for(i=0;i<5;i++)5 ~$ `* P/ F0 I! D
pstr[i]=str[i]; ; s& ]) `5 M( d# U) t for(i=0;i<5;i++) & o" D0 n+ x. a# z. |2 M0 L scanf("%s",pstr[i]); ( }3 ?2 i: E! Y! e/ R$ e6 G p=pstr;6 f8 f; @$ L7 D# _1 w1 R9 U
sort(p);* w' g0 j, K+ B$ n
for(i=0;i<5;i++) , Y* ?8 d! l# N0 x printf("%s\n",pstr[i]);4 b. D5 s4 }6 j" i/ n- H- B8 B
} 1 L; R9 T4 G6 I8 G/ u% v- Asort(p) 4 q) |' _: t }! o$ V: ^char **P;7 A" I" l' c! Q \: [: x
{int i,j; . T4 t7 d" G4 _( ]6 Z1 m- \, ? char *pchange;, ?/ j9 f3 [1 L$ T! ]0 i& _1 N
for(i=0;i<5;i++) 6 t# S4 V7 c, \% J* L {for(j=i+1;j<5;j++) . Z! @& g7 k% s" k {if(strcmp(*(p+i),*(p+j))>0)+ W8 o4 m' a5 q1 c. k$ Q2 i8 r( c" R
{pchange=*(p+i);4 s1 S) u2 q9 w s1 d. r
*(p+i)=*(p+j);& A7 g5 x8 `* g
*(p+j)=pchange;) B- t/ V& P8 U! \8 W+ N \! `
}2 H) i, N+ m1 X/ W- K9 w
}% \0 D$ U% u3 [4 P
} & S \& P( _# t% d, ^) E}; m f/ _5 A- S0 \3 D0 o
10.21$ A0 Y) P* c) }! S2 [3 e; b
main(); U" B3 y/ |. ~
{int i,n,digit[20],**p,*pstr[20];! f6 L: K4 d$ J1 Z) E' U
scanf("%d",&n); ; R% U7 z9 z! K ]* i& @0 X for(i=0;i pstr[i]=&digit[i]; / X/ s' P) H: o2 M6 B for(i=0;i scanf("%d",pstr[i]);; Y) x" A6 v9 ~" s f7 Y; A
p=pstr; 2 a8 e' T4 @: ]" }+ k6 q sort(p,n);% K/ N3 q% a2 ?$ z- m+ Y3 k
for(i=0;i printf("%d ",*pstr[i]); . L; v7 l% l) I0 d+ K/ q} ! b! a9 ]* ]4 z" h7 |$ \sort(p,n)9 z4 B; n; S* K% d( r/ K/ w/ X
int **p,n; 2 }) Z4 ]4 W4 z) o{int i,j,*pchange; : A& `! C, |% V for(i=0;i {for(j=i+1;j {if(**(p+i)>**(p+j)). p. n- g" o1 @. m3 N' k$ v
{pchange=*(p+i);: _% X# j- W, n' ?
*(p+i)=*(p+j); 7 p8 }; ^1 v3 E& o# t: h *(p+j)=pchange; 4 f% e; s* E( W/ V9 m- a } ( ~( h7 h, ~- E% ~/ S9 P& j' q } , ?: b5 I. u! @0 U8 _5 l } 8 D5 U* [/ P# i- c% M( k6 M}8 `& D/ v; _1 i
第十一章 结构体与共用体" T0 d9 e5 I) f3 H7 ^. Q
11.1/ Z$ o, u- A" \$ C
struct2 F. Q* m9 l5 @; @/ }- N, b6 s
{int year;: W5 c0 j" r, W
int month; * `& {+ d7 ]- c int day;; q u! W# `4 J+ t* a
}date; % ?2 L1 t4 i! l& N1 p2 z) Umain()! @9 S. C9 J6 [) G
{int days; : j* F4 E9 k8 b( e scanf("%d,%d,%d",&date.year,&date.month,&date.day);3 }1 n4 O" H/ h3 P" F5 T
switch(date.month), q8 `- T8 x3 M4 O: E
{case 1:days=date.day;break;1 O1 J# G4 c9 T
case 2:days=date.day+31;break; a" D% G6 U# Q9 T/ G
case 3:days=date.day+59;break; 4 \# `2 r2 V; g5 W/ ^, E8 H( x) r case 4:days=date.day+90;break; ' X% Y7 \/ K: r case 5:days=date.day+120;break; 7 k$ e" X( I$ b case 6:days=date.day+151;break; " E" ~$ |1 X" f# C$ T" C case 7:days=date.day+181;break; ! g' D0 h5 L& ?) o* k case 8:days=date.day+212;break; 1 Z0 W* |. `+ |) `+ c5 M% m case 9:days=date.day+243;break; , D. |% M2 u9 m9 C* p/ ~9 i case 10:days=date.day+273;break; 1 v4 I x) [. v9 \- w Z case 11:days=date.day+304;break;2 J& E0 F2 P. ]" A. w) b9 a
case 12:days=date.day+334;break; 6 q% H% k( k; r% n2 n' | } 7 @4 E0 e, N W' i6 e% l, x if((date.year%4==0&&date.year%100!=0||date.year%400==0)+ h1 K9 c3 D( k- t) y T; s X
&&date.month>=3)+ R+ S% S9 `. z
days+=1;! G3 ]" M8 O: T- u! J$ S. E1 ~
printf("days=%d\n",days);. q6 O4 C% Z0 c( G8 T# x2 A# @9 `$ y# U. Y
} ! l$ `' k! M4 P: \' x/ P9 i11.25 k: a( L$ x O3 ~8 [0 }! `
struct dt ~' i( Y( s" Z [3 {% `
{int year;4 i4 C6 P! J. K& G! R( q, G
int month;4 k; f" ]8 C0 l( p
int day;: u* {# T6 s% F
}date; 9 c8 G+ G; u) t4 Imain()( l, C* ~8 R+ p0 I. C% e% |/ w
{7 Q' ^1 S6 m) \) j% b
scanf("%d,%d,%d",&date.year,&date.month,&date.day); 2 ?" L5 a$ S4 V printf("\n%d\n",days(date.year,date.month,date.day));% S" d4 K2 J K6 @5 T
} 7 d Z/ ^0 W, G- T m: ddays(year,month,day)+ t {. A5 B# f5 K
int year,month,day;, ~4 j9 r$ ] e3 ]& n6 n
{int daysum=0,i; & D+ l* I6 A/ B* Q* c! _; Q. J8 |5 | static int daytab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}. d/ S: X( [# X+ R
for(i=1;i daysum+=daytab[i]; , M8 X5 {. c' D5 E4 j% r daysum+=day; 2 O+ r: ?. r0 f6 o4 D if((year%4==0&&year%100!=0||year%400==0)&&month>=3)' Z V5 M2 M% h/ z" D+ w# x
daysum+=1; / ~- z [8 [! g% g q- e+ Z5 A return(daysum); : _! h( q- r. w7 @" E} : W8 Z; _+ L! p5 Z. R+ K11.3/ N0 m0 v7 q2 R5 B$ z/ \
11.4% f, d- e" J4 z3 U# F
#define N 5 2 D+ y4 d+ h9 D9 ], Hstruct student ) k; M2 F6 o- g# _2 k6 l {char num[6];' l) ~+ G4 n6 V; D4 {# d+ U
char name[8];" {2 o- u. v. S0 ^; O/ O% i7 d3 F
int score[4];. A& ]9 O% t1 O1 _$ u! W
}stu[N]; # f* x$ G* c* Q6 Imain()/ f# b# G/ Y; K
{ ; l6 j Z" @ | j% s input(stu);& |6 H& u5 y5 D5 [8 X( k
print(stu);) s4 E+ ?3 I9 y$ @
} 5 O: y9 o: m) j8 finput(stu)3 b: ~% k# F: `$ {) m; I
struct student stu[]; 0 ?5 j2 P: W$ p2 P{int i,j;3 |( k# _) o; u
for(i=0;i {printf("number");7 M" \4 K1 s" p/ G1 l
scanf("%s",stu[i].num); ' _1 K2 \ X1 Z* k6 N printf("name"); & g1 W x$ z0 | p scanf("%s",stu[i].name);' W) M+ E, l7 Q# Q4 H8 X7 T0 c* i+ n7 ]
for(j=0;j<3;j++)6 D& C6 k' }. _$ b" X8 H
{printf("\nscore\n"); 5 J3 u( ~+ v9 w( R4 N7 `* ^7 @ scanf("%d",&stu[i].score[j]); - O6 Y" g6 w1 X6 f' x } " y' Z. y9 t, x+ Y/ [9 w! P printf("\n");7 w0 V+ f) y1 |4 M$ e2 V% _3 ^5 t
} ~# `0 O( F: n& s/ ?" i
} * R8 J3 v6 a2 Q% n! m" _' ]print(stu) ' p4 i4 B) l- M) M! Y R. n3 Qstruct student stu[]; / ]3 S' `! o; |6 ]+ a3 i7 Q{int i,j;' i2 y5 P0 _' J, M0 h" P, h+ b
printf("\nnumber name score1 score2 score3 \n");: o/ D( R" Y( s. ~2 }$ K8 x, l
for(i=0;i {printf("%8s%10s",stu[i].num,stu[i].name);6 W" m& x/ v/ U( g
for(j=0;j<3;j++) ! e# z& g8 [: |* c- y9 @' T printf("%7d",stu[i].score[j]);2 M" A0 T0 M: J, t0 A
printf("\n");; j0 z8 x0 ] M/ a! _2 ?: U0 Y2 o
}/ f. H0 T! M1 P1 f; o5 L
}9 ~' c- A& C! ~
11.5 ! G/ P3 w; T9 `1 Jstruct student # a" C$ {" R' K: C) A7 \% S {char num[6]; + T1 i* [* F* X# h! m5 a* `/ } char name[8]; ; w" j7 m% n0 f; H. M; l! e: k6 U int score[4];; G! O( D# ]8 G: |* e. Q% B
float avr; / p# o5 A9 v6 I. N }stu[5];: |0 n) g% N: J* Q8 G4 x! f
main()4 j0 _* u( v0 S; }
{int i,j,max,maxi,sum; 8 X! r4 A8 U' q- a5 c float average;/ j( y0 y0 m3 `: I" `0 e) X" v4 X
for(i=0;i<5;i++) ! T8 f1 l+ ^; C2 c+ T+ Y# J4 } {printf("number");" @7 G. q* I* M% B! L/ U
scanf("%s",stu[i].num); 7 r4 @8 a: w }0 }! B# g' a printf("name"); / A: G6 U2 h) E$ W# j) i scanf("%s",stu[i].name); 8 h2 j, R9 O! m9 G; G6 T v( ~: v for(j=0;j<3;j++) & h( t9 ~2 u, z: h) P! Q5 s {printf("\nscore\n"); 5 w# e- ?- ^; x- r scanf("%d",&stu[i].score[j]);* x; {0 Z/ ?3 l# k
} 1 N7 L8 c" [+ a$ x9 z, H3 C" G } ' y& d. i4 n- ^# J1 ?5 }8 [$ B average=0;; ^8 c% M V' {( f: j! m- G4 |& j
max=0; / n* g& x9 d5 {3 I- f, \5 O maxi=0; ) D( F/ D/ S% D% f6 J1 C for(i=0;i<5;i++) # _' E* {7 ]+ \5 X) J3 D {sum=0; ! y! V% E3 `& Q+ M+ J5 i for(j=0;j<3;j++)) [6 f5 O) w+ s; y+ _
sum+=stu[i].score[j]; * v$ f. Z/ s* f$ ]8 I( S stu[i].avr=sum/3.0;8 j$ N$ `2 C0 i( a+ U4 t' x8 A
average+=stu[i].avr; * _4 @% F+ o! ~7 \ if(sum>max) 9 ~* k& R( w" s5 B& v" U. t4 d {max=sum; % m1 `+ f1 e% n4 N0 j8 W7 s maxi=i;" u, z7 u5 U. _0 M- T
} . D7 p2 A3 Y) Y2 T+ \ } 9 m3 v/ \! m+ `" [1 d! v average/=5;. @3 X6 M' V# E5 j$ i w2 \; Z
printf("number name score1 score2 score3 average\n");$ i0 Z4 _- z3 m* J- h; _! A: [
for(i=0;i<5;i++) % J3 V f6 b; x$ r, z {printf("%8s%10s",stu[i].num,stu[i].name); " f' v* l$ ~/ x9 L for(j=0;j<3;j++)8 D) }+ \$ k( p
printf("%7d",stu[i].score[j]); " b0 i9 j9 a+ d( i# f3 M5 \3 m printf("%6.2f\n",stu[i].avr); 4 K/ o# }! L. z; d. C- ?7 f2 R } 0 e% G2 [% j- E+ U printf("average=%5.2f\n",average);4 g: q+ ~6 @( s1 m4 R
printf("The best student is %s,sum=%d\n",stu[maxi].name,max); $ T1 O1 ?2 O; y7 P/ M. ?# R5 u. \} / R" G, J5 h0 ?5 T! A+ i# u8 f0 ~4 ]3 B' \