编程练习——c语言编程题精选(21-30题)

上一篇 / 下一篇  2009-03-11 23:11:47 / 个人分类:编程基础

_}^zn!H|6n021、定义一个结构体变量(包括年、月、日),计算该日在本年中为第几天?(注意考虑闰年问题),要求写一个函数days,实现上面的计算。由主函数将年月日传递给days函数,计算后将日子传递回主函数输出51Testing软件测试网&L I R_C.\f6q2h
#include <stdio.h>
(~Pk AM8s_0#include <stdlib.h>
#H#s1IQR0#include <time.h>51Testing软件测试网2N$E'K:FP~5eD,{
#include <math.h>

G+W6`x7V'y#y1@_051Testing软件测试网EkR9fG

struct TIME
wR%T0K{tb\S0{
'd8Yj#^5u&p0 int year;
T[I#w&aUUj?6M0 int month;51Testing软件测试网!A6Q9G.J{.Q|[4\
 int day;51Testing软件测试网E'lHG P N%`
};

}m%kZ.po/~0

wIGBW[a0int is_runyear(int year)
L@%L9Z^6@A0{51Testing软件测试网Py{Q2\
 if((year%4==0&&year%100!=0)||(year%400==0))51Testing软件测试网R)~ R%m(r!R+Y,R }
  return 1;
X;w q!r,a/k%I9G0N0 else51Testing软件测试网L9Q)P4Wr([
  return 0;51Testing软件测试网^wy:^U+f/be
}

lv'} t Y*I0

Y'^y+^K5Y2e-C0int check_data(struct TIME time)
gy DeIA*X:b0{
A6@UM0Sjw*@0 if(time.year<1)
K7p4W$J,nI,Pf"t4^M0 {
w2\%p(Mq3{0  printf("输入的年份错误\n");51Testing软件测试网!ayR"SA9rM;J
  return -1;
*lm?m(L+]@0 }51Testing软件测试网)e0w8g|"[
 if(time.month<1||time.month>12)
l5})z2Pn7I0 {51Testing软件测试网u8k[pTcf
  printf("输入的月份错误\n");51Testing软件测试网 Jo I5d#g)y$R_i!E
  return -2;51Testing软件测试网$c(S8m4VT~n8N
 }
cJWNL4g/E c0 switch(time.month)51Testing软件测试网P ^$c+w"Zw
 {
'?Eq1H4~w0 case 1:
ynj%T#X%`;\R(Q0 case 3:51Testing软件测试网 S vI9u U2Jsj
 case 5:51Testing软件测试网a|;e._/jK6X8T.ja
 case 7:51Testing软件测试网Q iK |lCi
 case 8:
nR$B pf!_]0 case 10:51Testing软件测试网&C0e}9Qp)P\
 case 12:if(time.day<1||time.day>31)
g&j(aa5}-T3T0   {51Testing软件测试网b:EP1yR D)C{o4{!w
    printf("输入的日期错误\n");51Testing软件测试网;vb0~7SQ"t}{$]w6vB
    return -3;
AZL |%Wr0   }
GrX2}Vv2A0      break;
8W{2{V8b `%BM+T1H$z0 case 4:51Testing软件测试网(h7kR]EQd\,f
 case 6:
qoj H8Ov0 case 9:
X7R.u"n*^;U0 case 11:if(time.day<1||time.day>30)
)p@-e0Z6QgSY4j$g0   {51Testing软件测试网H"z$u9x(f B{
    printf("输入的日期错误\n");
B4cfs&iXC0    return -3;51Testing软件测试网)`@&Wh%?vM
   }
@)bi:Hf0      break;
G3a O#E8v@0 case 2:if(is_runyear(time.year)==1&&(time.day<1||time.day>29))
Em [ u/d'q r#k0     {51Testing软件测试网c2R4LNQ6s|+ZE
      printf("输入的日期错误\n");51Testing软件测试网p-GOI]C
      return -3;51Testing软件测试网 e1ag!y||
     }51Testing软件测试网 y)z-t#X uN6k#X
     else if(is_runyear(time.year)!=1&&(time.day<1||time.day>28))51Testing软件测试网 OI-L2OT u)y
     {
:e0B!m x:D1V]-E.c0      printf("输入的日期错误\n");
k*jfz8n @0      return -3;51Testing软件测试网p.cC%fNY9O&I
     }51Testing软件测试网0^4ol4Y \@
 }51Testing软件测试网D3MGK"}
 return 0;51Testing软件测试网8T0xx$P9lU`
}
N7_{tv&y0 
-pI&n?0@`'i(i4q5kz0int days(struct TIME time)51Testing软件测试网y/Hy\#IXQw/gb:@
{
^B3[H;PTwA N!{~t5}0 int flag=0;
!g-XOL|0 int result=0;
?5LGADH4|0 flag=is_runyear(time.year);
C5JH&s.O.s[0    switch(time.month)
*R,N{"df4sF%ytx0 {51Testing软件测试网V#S$H$p(i;T
 case 12:result+=30;
^p&e.c0{ {0 case 11:result+=31;
n:t+i!e)T0HZ2P0 case 10:result+=30;51Testing软件测试网I7f/D&v)}&?Q hj
 case 9:result+=31;51Testing软件测试网c6C eQ]
 case 8:result+=31;51Testing软件测试网c M!S)v!w$v;j
 case 7:result+=30;
FI/RNO?aV g0 case 6:result+=31;51Testing软件测试网mkjA0N9WA
 case 5:result+=30;51Testing软件测试网+Fs#I D)x9Q9MO
 case 4:result+=31;
&PI {ki)uJ0 case 3:if(flag==1)51Testing软件测试网5K!J!m0m2^ F9f
      result+=29;51Testing软件测试网 ~%[+^Or-\~
     else51Testing软件测试网7SD#Y`l-\7[6g2Dg6H]
      result+=28;
UT KH A)p0 case 2:result+=31;51Testing软件测试网Db`IZkn"`
 }
w |,N-~ HYak*W0 return result+time.day;
/Umn5\3MbN0}

.v6Geps&y*^#\051Testing软件测试网 vKh#|`

void main()
3z`@%_9qJ,A-W0{
I7j4w_4I(B3Ynn;B9h0 struct TIME time;51Testing软件测试网)M5Y)Y,e"k$Nt
 int recode;
{Kl"x'?$c0 printf("请输入年月日,以空格分开\n");
+GAm8Q |s0 scanf("%d%d%d",&time.year,&time.month,&time.day);51Testing软件测试网T/qK m+uWU
 if((recode=check_data(time))!=0)
"D/s8tZ;xl0 {
4z[#Edw.rn.R0  printf("输入数据错误,错误码为%d\n",recode);
.B-P]5o6HY0  exit(0);51Testing软件测试网c }h"e/u;Nz
 }51Testing软件测试网-Rjb0i*[w$g
 printf("是该年的第%d天",days(time));
2M5egf7C+r0}
51Testing软件测试网Yfs1g t l0y YOXm

-K)V0_;C&y022、建立一个链表,每个结点包括:学号、姓名、性别、年龄,输入一个学号,如果链表中的结点包括该学号,则输出该结点内容后,并将其结点删去。51Testing软件测试网:D}8a{2[ U-\4_2EN fX

51Testing软件测试网/qT&~fc]hY0D7b

#include <stdio.h>51Testing软件测试网 B+Aeuah2`
#include <stdlib.h>51Testing软件测试网8R"zH W0|&t\'t
#include <time.h>
.f%tp~t6\I5VM0#include <math.h>51Testing软件测试网Pz![x@%fW;A9z[ a
#include <string.h>
51Testing软件测试网SwlL6gQ$Q2[{7I

Io Y3|A#TI0struct STU51Testing软件测试网7U~;_"TE7c6bl
{
|'f u(pkp$y3W0 char number[20];51Testing软件测试网#H%M'}8[ G?!p_ Z k
 char name[20];51Testing软件测试网KJ r@d
 int sex; //0:女 1:男
gY-lg4b B0 int age;
'\y3Au|0 struct STU *next_stu;51Testing软件测试网3|0W9Z4yY5I.}Zx9w
};
51Testing软件测试网X1U*^aY TSf

$D9a,yp#s q!TQ!Jg]0int n;51Testing软件测试网V~!h6A5JF2j

51Testing软件测试网;D6pg-k7f

struct STU *creat_stu()51Testing软件测试网1z5\k2W6dwV
{
i1\Y,k w IS0 struct STU *p,*before,*head;
*w s sW q0 int n=0;51Testing软件测试网-xN8e} U]q/j&}n
 int temp;
Fz5h!pE!vV {)|0 p=before=head=NULL;51Testing软件测试网 }!Vg3|S I*Kzn
 printf("请输入一个学生,以回车分开\n");51Testing软件测试网4kJ)mU(_D-j6V!^
 while(1)
f4L w*I#izy/P0 {51Testing软件测试网XM5kWQ'j|i{ W1QL
  p=(struct STU *)malloc(sizeof(struct STU));51Testing软件测试网h _M|2b
  printf("学号:");51Testing软件测试网c$gZ*WP4q
  scanf("%s",p->number);
}%Wy/lU0  printf("姓名:");
Vna O!sI*x J3c A\0  scanf("%s",p->name);51Testing软件测试网]l4CE+j
  printf("性别(女填0,男填1):");51Testing软件测试网1u.l8f1y%N6BO
  scanf("%d",&p->sex);51Testing软件测试网!c:t0S,Gx5g
  printf("年龄:");51Testing软件测试网2K)xn;\_a
  scanf("%d",&p->age);51Testing软件测试网-J'ah G5Cx1u
  n++;51Testing软件测试网ml9QN5|Y
  if(before!=NULL)
-B"F-N7|-d&H'V{W0   before->next_stu=p;
5_'g4T*{+x}%cx N0  else
.`H YZcqh1]:iL0   head=p;
"[$d:A(s+HDA$}0  printf("是否继续输入?(是的话输入1,不是的话输入0):");51Testing软件测试网&IF"J5j;?6\'Snx
  scanf("%d",&temp);
x7m_-Zk%c0  if(temp==0)
UE$E-ke'Vi.L0  {
g8Q*M2?;Sk#C0   p->next_stu=NULL;51Testing软件测试网+u(}8Yh6y#W?9H~5nG
   break;
:w|3z.dIu'`0  }51Testing软件测试网"`b#]~_K+` CF.^j~Q
  before=p;
jt_ XE&iaM0 }51Testing软件测试网^,RxU|
 return head;
S%p q E-| r0}

-o+{m*B'\L)k|X0

hRB?*L1k0void delete_stu(struct STU *stu,struct STU *before,struct STU *temp)
aAL-NN L0{
(wMvuN+c{0 if(temp==stu)51Testing软件测试网1}8}[?6y7o
  stu=stu->next_stu;
)b5S+Ex'?*Q0 else
c*T$I*l.XCH0  before->next_stu=temp->next_stu;
0[T&X)pY/b0}

.onAu:{u!H7Vs(d051Testing软件测试网0l)z9j]@

void main()
)UHg%S/G_BV0{51Testing软件测试网(z!p8LN0_i"R:Nh
 int i=0;
hRn7R/`^Li+i0 char str[20];51Testing软件测试网 P6Q'k jPIO2vr
 struct STU *p;51Testing软件测试网w)m!V9u#KY7Q&O
 struct STU *temp,*before;51Testing软件测试网a4J u ? z.X0G%{
    p=creat_stu();
}dl!l/b4X"?+e0 printf("需要查找的学号为:");51Testing软件测试网,T`$[ _E|
 scanf("%s",str);51Testing软件测试网2if h?5jZP[j
 before=temp=p;
1F{*w v'D@0 while(temp!=NULL)51Testing软件测试网9M4Pc?x:lv:G2IC5e,Jm
 {
$j1j PR[LkUK&q0  if(strcmp(temp->number,str)==0)
{j FFNO9U'A_0  {
;K(c&v9c&L~3u4W7E0   printf("找到该学生,学号:%s,姓名:%s,性别:%s,年龄:%d\n",temp->number,temp->name,temp->sex==0?"女":"男",temp->age);
#owW1Fc0O g0   delete_stu(p,before,temp);51Testing软件测试网-|4i t \:I_+h
   printf("删除该学生完成\n");
A:a.U"yhRu M V0   break;
Vi+h/l'w!_&w0  }
fWz O:R#BM ]2y0  before=temp;
|#h7^W*v(Mj7AD0  temp=temp->next_stu;51Testing软件测试网9@ W&}2g3[*U9EY4r!f
 }
F4`XP"| KYX"G0 if(temp==NULL)
6P8gQ^)\7d/@)R0  printf("没有找到该学生\n");51Testing软件测试网!N7rs.|3l}+m {L
 free(p);
G.@(i^9c0}

j$yC$_*j K051Testing软件测试网D7^1ss$p | H'c

23、给定一个日期,求出该日为星期几(已知2002-3-28为星期四)。51Testing软件测试网$ub |aK-~*mv3t"q

51Testing软件测试网 Qa[^Aq\(oc

#include <stdio.h>51Testing软件测试网Xf%l+Sz;N/}2\ Q0rm
#include <stdlib.h>51Testing软件测试网.W}CJ p/DNp
#include <time.h>51Testing软件测试网jsg+P:vl D
#include <math.h>
*hjsWygX3RA+L0#include <string.h>51Testing软件测试网)wE2[[Y Y/m%}
struct TIME
+z!C4S9xf1|.[3e`1R0{51Testing软件测试网1B#^FV)k`I$gV
 int year;51Testing软件测试网 U0l} C ?
 int month;
a.L5hca v0 int day;
"pd'I"q'CJ+ii'@0};
51Testing软件测试网`L9g!Z[7k^

51Testing软件测试网C g!`4F$C

int is_runyear(int year)51Testing软件测试网0KY Rz$e,[U
{
#Q JIg%q2p#M0 if((year%4==0&&year%100!=0)||(year%400==0))
gDF|Cu0  return 1;51Testing软件测试网h6@`$k_4`eTv3o
 else
0q+gOQg+B NQZ0  return 0;
eg:S9u&F%n}d5Y0}

Z|V)?hTp B L ?K0

B2x bu Cy0int computer_date(struct TIME time)
m8k x5pr0{51Testing软件测试网i4SvK}1F U
 struct TIME t={2002,3,28};
jIES$@,]k"~w0 int d=4;51Testing软件测试网9I_qCk7e m0`
 int temp_year,temp_month;51Testing软件测试网6}t+j[+F/a
 int year_day=0;
&l@%H[$d1@(O)W0 int month_day=0;
0c CBD#R,agf0 int day_day=0;51Testing软件测试网w!PLO:@n
 int temp;51Testing软件测试网Ae~LL-wbk4m"A
 temp_year=time.year;
ZPu!xf3|4e0O8p&|0 while(temp_year!=t.year)
_'[7c,_1A/n\^$i0 {
JJ epB"px$J$q{0  if(temp_year-t.year<0)
*r&M%T na.I0  {
z6]M?go ?%Aa5y2~d0   if(is_runyear(temp_year)==1)51Testing软件测试网|Y [IL;J
    year_day-=366;
hH| X$Eo/S.J5y0   else51Testing软件测试网7\u&?~t"gTj8U
    year_day-=365;51Testing软件测试网S q2e j_ u
   temp_year++;51Testing软件测试网1SS.xc0U y
  }
G7h3_ H w sQ \@*F0  else
"ui&wT ]T e0  {
Ur8JRlH!I0   if(is_runyear(temp_year-1)==1)51Testing软件测试网a6z5|C7V(zj/S:?
    year_day+=366;51Testing软件测试网 w%I | j6m~:A0m
   else51Testing软件测试网4N%^T}wi(c g
    year_day+=365;51Testing软件测试网(K@*ie,Z*F
   temp_year--;
t&g;bOH.[6O0  }
o]A5e+d_-k,j0 }
{4V)L uY0 temp_month=time.month;
~/jL(x!e m0 while(temp_month!=t.month)51Testing软件测试网Xa n#n;q)V?dC
 {51Testing软件测试网+Ri(L#M Y4tGs3L$^
  if(temp_month-t.month<0)51Testing软件测试网uc K@g-jEt
  {
({&D)z)A#?` @0L0   switch(temp_month)51Testing软件测试网U;H;cGXWq+m1X
   {51Testing软件测试网Q p aAB
   case 1:51Testing软件测试网 h![l j/?iWBF
    month_day-=31;51Testing软件测试网9Pe9m o$Uy-XZ
    break;51Testing软件测试网mV7V#F)^
   case 2:
O,xu#aA0    month_day-=28;
] iB|mD0    break;
-I1|x^(u.X*C_ T0   }51Testing软件测试网 N"QFT%t9M
   temp_month++;
.H#RY!K$_)[7LRJ%B T0  }
Jla_-A0  else
|%WN8l;pG6t0  {
:SD!u8Lz4V0   switch(temp_month-1)
h_hh QW_0   {51Testing软件测试网^0l)rS5?,G {
   case 4:51Testing软件测试网~2D"ux"V-o6bB;[j
   case 6:51Testing软件测试网/Hp&~wYezLG*ff8c
   case 9:51Testing软件测试网8u,|k6|b_n
   case 11:
MmXCcQ7j {'};N [0    month_day+=30;51Testing软件测试网*sdU`R
    break;51Testing软件测试网.T3E`Sd;f^1LS i
   case 3:51Testing软件测试网%?.W2}:F"DX,H
   case 5:
R o,u+eK0d2}-y/B0   case 7:51Testing软件测试网f2lJ&GK~ t0o)@^)h
   case 8:
w O/s:E ] sWx3b0   case 10:51Testing软件测试网Nu pfI]K
   case 12:
si8K Y$}6`};w'g*VFE0    month_day+=31;51Testing软件测试网)gI0K(?,E/W
   }51Testing软件测试网4Q}L,|X3d)w
   temp_month--;51Testing软件测试网'e}2r~$id`
  }
xPk/I7P0 }
3}M3h$X9fET"A0 day_day=time.day-t.day;
:pHbC'gT0    temp=year_day+month_day+day_day;
5nq@@bE@h0u0 if(temp<0)51Testing软件测试网BD$x&\r's
 {51Testing软件测试网:L3~bjWz
        temp=(-temp)%7;51Testing软件测试网+o[(al7v z5[)[
  if(temp>=4)51Testing软件测试网z-_7G VC-c+SM)@3c+O(vc
   return d+7-temp;51Testing软件测试网d n4G!iv v\
  else51Testing软件测试网F7A3K+a+R%~
   return d-temp;51Testing软件测试网 cCNn8f#K
 }
:Gk J-q/nE[8[0 else51Testing软件测试网%YK;Uk|^{!a
 {51Testing软件测试网Z/F3p!~osY Y
  temp=temp%7;
(xKB"G D0  if(temp>=4)51Testing软件测试网%w~#E4{Wd8IYR
   return temp-d+1;51Testing软件测试网eKX]"^:y
  else51Testing软件测试网.BB,WG"c TE
   return temp+d;51Testing软件测试网9C A,l0Dgf&?
 }
2XKXKr;m w0}

,v'~"@&mG&Z0

CZxz:X8h*Si6MNb0void main()
Y2J `+s{/T2P y0{51Testing软件测试网2[)o`l5X/yK
 struct TIME time;
~1B.B~7Nu G5zpGN0 printf("请输入年月日,以空格隔开\n");
F Q2JA;M [U4w"Pg'Y0 scanf("%d%d%d",&time.year,&time.month,&time.day);
uj y-B:rOB8p9D7e"{0 printf("是星期%d",computer_date(time));
mv7MNcn\4B0}
,r.y$J!c7L/Ep/X051Testing软件测试网(\!M"S4X5b^_G

+LO{%yz q024、用递归法将一个整数n转换成字符串(例如输入4679,应输出字符串“4679”),n为不确定数,可以是位数不超过5,且数值在-32768~32767之间的任意整数。
4hl{V;U#^sw!\b0#include <stdio.h>
(w${1A6shn_0#include <stdlib.h>
-L Eb%[l.MK0#include <time.h>
]u+P y0^(X#f0#include <math.h>51Testing软件测试网 YZx?%n
#include <string.h>

S^ _/}~)x.I0

U s@X s b8h/Z0void func(int data)
6_D$lC?X?b-c0{51Testing软件测试网'Rqctih!X j"?'d
 int temp;
(B)X:{Z%Y T!N U/Y {0 temp=data/10;51Testing软件测试网;z2B | o_9M l
 if(temp!=0)51Testing软件测试网c9w1A*Mip Y
  func(temp);
'xi}JzIL0 putchar(data%10+'0');51Testing软件测试网O5B,y z.c VT Z G
}51Testing软件测试网a5K"C;U3a d#t

7I RSN0ZU:Bl0void main()51Testing软件测试网T3R)C?!pc#G
{
0E2|4T4p A#E lYh0 int data;51Testing软件测试网%cs&z8Eh*Q
 printf("请输入一个整数(数值在-32768~32767之间):");51Testing软件测试网K8i-k R M.|0a2j
 scanf("%d",&data);
"A3Kl*f H9qT @;DPbO0 printf("转换为字符串后为:");51Testing软件测试网!r$z6J6{x vo
 func(data);
7{K.J$k)t QW(|"m0 printf("\n");51Testing软件测试网#|aE%v7v
}51Testing软件测试网F@ Z.`Dg3}L

51Testing软件测试网-q%Ya Vdc0~

25、有一个字符串,包括n个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果。
0Gg?E q0#include <stdio.h>
jn/~vb2J'M_0#include <stdlib.h>
?TNe]3E3w#w0#include <time.h>51Testing软件测试网.Yo^3p}c1EY`
#include <math.h>51Testing软件测试网U9S l4U!w [@3c;Kj7Z
#include <string.h>51Testing软件测试网4Cgi;}K5J

51Testing软件测试网-Ubu2g9k-Z

void func(char *str1,char *str2,int m)
2rQ9yo8q0{
p!\g~kCK0 char *p,*q;
o]m5f"~(})rQs0 p=str2+m-1;51Testing软件测试网WDE$IH!G
 q=str1;51Testing软件测试网.tr3B&aX8n;H]V"t
 while(*p!='\0')
k$z&_ E6[wF4z0 {51Testing软件测试网0UhgZL
  *q=*p;51Testing软件测试网o,P-cmV
  q++;51Testing软件测试网\G+N9UT
  p++;51Testing软件测试网4vxm8PM'x0S
 }51Testing软件测试网-QW})CY]+X S
 *q='\0';51Testing软件测试网X$f/gct^^
}51Testing软件测试网Y*r+RJ&\7P%u

Q nf9DC-mxJ9HQ,}f0void main()51Testing软件测试网|q+mE/Cb-bO ?
{
{6x7lh}0 char str1[1024];
*CS2~1H6a5Pr.J0    char str2[1024];
K0YXj:QAFm l0 int m;
f7} Q0xf3^m*n0 int leng;
[-{4^jFfEb0 printf("请输入一个字符串:");
S&}8e1u2h y9~Ze1c0 gets(str2);
|,sg0{a4} ~0 leng=strlen(str2);51Testing软件测试网7Z4GllE'du l%Z
 printf("字符串长度为%d\n请输入m的值",leng);51Testing软件测试网y3E3u/y9y)@ m
 scanf("%d",&m);
#r s$BHhvhb0 if(leng<=m)51Testing软件测试网a5~X4[{/Y#~a^
  printf("error!");51Testing软件测试网 cX#RC3V` f
 func(str1,str2,m);51Testing软件测试网kfDS-v1e
 puts(str1);51Testing软件测试网i;fcTc S/p0Z
}51Testing软件测试网 OA#FvKh

(@h3`1l/`;p%~H026、在主函数中输入6个字符串,用另一个函数对他们按从小到大的顺序,然后在主函数中输出这6个已经排好序的字符串。要求使用指针数组进行处理。51Testing软件测试网ZJaK6O8w p
#include <stdio.h>51Testing软件测试网*T*oS ftK-n
#include <stdlib.h>51Testing软件测试网+^k4QR)z
#include <time.h>51Testing软件测试网 N.d}O z U,oJR
#include <math.h>51Testing软件测试网 `^/l K0_&F
#include <string.h>51Testing软件测试网6nR J1aM%k.\

51Testing软件测试网(ke(JxVrX

void func(char *str[6])51Testing软件测试网#d2v0io'ZAKSK
{51Testing软件测试网9zI)ZQ c/Bz%\A
 int i,j;
YZ S w Y-S${0 char *temp;51Testing软件测试网S)A"|'F5|1k1G(|
 for(i=0;i<5;i++)51Testing软件测试网&p7rJ UO5E6q
 {51Testing软件测试网jd!K R8F-f4`!~z
  for(j=i+1;j<6;j++)
s oH2A)D:FJO9`}0   if(strcmp(str[i],str[j])>0)
F M(bb8iTQd*C:h0   {
q9xm*\Z.U2a0    temp=str[j];
%D8G1CE_Ha4l\0    str[j]=str[i];51Testing软件测试网 z#`&U_ T
    str[i]=temp;51Testing软件测试网y|7` l[i:d*]e `
   }51Testing软件测试网!{4K3j]{cA
 }
Ct4\ V%MH g~F0}

[y:Za\'P$d]051Testing软件测试网I&a!Em1Wb,_iT,? K

void main()
jhq/u3QS.U^!?R0{51Testing软件测试网tG.W.j r:ub
 int i;51Testing软件测试网#I0iLv/wJB
 char s[6][1024];51Testing软件测试网 {p"fs2EwxfZ
 char *str[6];
} b2K {+I@%Q!O@6J0 printf("请输入6个字符串\n");51Testing软件测试网2C{T;X+bMj]xK"Tw!JS
 for(i=0;i<6;i++)
#m[2H {"Wcv%A0 {51Testing软件测试网A!?^U q6]
  gets(s[i]);51Testing软件测试网J!z+?^c'D `%hA
  str[i]=s[i];51Testing软件测试网 [QT ? Z0cn
 }
E2^nL.{0S"Y~c:_8Z0 func(str);51Testing软件测试网(E9Ik'l0J(aR
 printf("排序后\n");51Testing软件测试网%n,lL4BE6F,HA
 for(i=0;i<6;i++)
/?]5z(\`)~-|@0  puts(str[i]);
6XtTQQ_0}51Testing软件测试网\-| W$ll#C m8S

{ yC;u^ya:ui!E;@#}027、编写一个函数实现对两个字符串的比较。不用使用C语言提供的标准函数strcmp。要求在主函数中输入两个字符串,并输出比较的结果(相等的结果为0,不等时结果为第一个不相等字符的ASCII差值)。51Testing软件测试网/B lCt{ E
#include <stdio.h>
&S `%C `|3o_g] u0#include <stdlib.h>
*V)MK(V e5D0#include <time.h>
Z Q cSOg$]e O0#include <math.h>51Testing软件测试网-a9u3Ud:Y$C5{t O^(cl
#include <string.h>51Testing软件测试网&n4O"{hU;X1}.z uA

51Testing软件测试网6h }H.]0Mo

int func(char *str1,char *str2)
0I#FXItQM[0{
u"yY3o4Vsw Iw(r0 char *p,*q;
me/Jd#I:T"ad3}0 p=str1;
Q0@p(M|n%Y0 q=str2;
0}ew:Q }3P2IAY0 while(*p!='\0'&&*q!='\0')51Testing软件测试网&S^JfG+b6W B
 {51Testing软件测试网rqvH:SM8W
  if(*p==*q)51Testing软件测试网2Q"D^g*ur9T_"WUW V
  {51Testing软件测试网g1n4_pP-V l|$zx7J
   p++;51Testing软件测试网tfY*O{'C
   q++;
/xDuI ?E0  }else51Testing软件测试网t3\&G?$c
   return *p-*q;51Testing软件测试网!w{!`3NqW
 }
n2g oi__0 if(*p=='\0'&&*q=='\0')51Testing软件测试网t? p]GI"D/AoE4o|
  return 0;
L2S%Y?$x(sS0 else if(*p=='\0'&&*q!='\0')51Testing软件测试网2aC.Qkaz|(@}Yw
  return -*q;
oh!h7qT/V0 else51Testing软件测试网 ?DP8wh g
  return *p;51Testing软件测试网 t qL*o7Mm,l
}

}8n I bOr051Testing软件测试网Cb~j{4F

void main()51Testing软件测试网B2}.A3N'Z8Z M}
{51Testing软件测试网2y(o^-YC'f$}
 char str1[1024];
+ek~HC:HzP0 char str2[1024];51Testing软件测试网vYyb'Ib8c3Z
 printf("输入2个字符串(以回车键分割)\n");51Testing软件测试网6hw`[$H4@7_7J
 gets(str1);
f%UI7Kh!CP(g0 gets(str2);
-R5TC!LA0 printf("字符串比较的结果为%d\n",func(str1,str2));51Testing软件测试网{M:xU;l+\+G {cS
}51Testing软件测试网7j7@}0Gv:v&d

eiUe0NkQ G.da,z6B5l028、有一个unsigned long型整数,先要分别将其前2个字节和后2个字节用为两个unsigned int型整数输出(设一个int型数据占2个字节),试编写一函数partition实现上述要求。要求在主函数输入该long型整数,在函数partition中输出结果。51Testing软件测试网8`c MEI-]#T#g-S
#include <stdio.h>51Testing软件测试网(I moAA
#include <stdlib.h>51Testing软件测试网"S_d5a|!q:co
#include <time.h>
+[/m5Ny:h{ zJ0#include <math.h>
J&q9Y1o R"g!@E#_+B0#include <string.h>

V []{"{5j;c `n0

l U;h m:{Xhw'|%\0void partition(unsigned long data)51Testing软件测试网D)yZ!E6gk
{
VfbMc:Fv0 unsigned int d1,d2;51Testing软件测试网#_\?*LPH
 d1=data/(long)pow(2,16);51Testing软件测试网$f y9w'P v%pkm9w
 d2=data%(long)pow(2,16);51Testing软件测试网 uOno~#~ VP&qa
 printf("拆开后为%d,%d\n",d1,d2);51Testing软件测试网,[f%hS6rxe
}51Testing软件测试网@@M3Ta!``#lD&S

5c_?dg)FO0void main()
Kh.q3?D(n@0{
V%bm*{f0 unsigned long data;
lO\s4w1`oL0 printf("请输入一个长整数:");51Testing软件测试网sVD@n2C r|`
 scanf("%ld",&data);51Testing软件测试网Y&T/jjM Mq5h
 partition(data);
"R*aG!` s"fL2ls0}

.r(`V:{ AcE!|A4P0

)c Hs@d7@ CK029、编一程序,能把从终端读入的一串字符中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存(用字符!表示输入字符串的结束)。
R-C a)v6Uw)o0
#include <stdio.h>51Testing软件测试网5J\(u4B^?s q
#include <stdlib.h>51Testing软件测试网&Wnaz%_0{1g H
#include <time.h>51Testing软件测试网 tWKP+i3y!K \.u`
#include <math.h>
pc*gbu)xD0#include <string.h>51Testing软件测试网Kw`Y,u`NN

@@]wO \3wXc0void main()
-OHkj!M0{
3Rx]9_TA0 char s[1024];51Testing软件测试网 E7F c*\Q t$s s X3F
 int i=0;51Testing软件测试网 S Mcnkm
 FILE *p;51Testing软件测试网'F5u:gGp'_'g%S7h ]
 printf("输入一串字符:");
}8ah z my.Sw7V0 gets(s);51Testing软件测试网R-YHu*X]4hT/V
 if((p=fopen("test","w+"))==NULL)
5F7ZZnKg@ t0 {
iGa(nX:{9xu0  printf("打开文件失败\n");
3BXt? ug @d0  exit(0);51Testing软件测试网bq+?5Obq9I'Zv
 }51Testing软件测试网\z;FhH&@7S3w1J6u
    while(s[i]!='\0')
\.SV-[q8J7lBUd(g0 {51Testing软件测试网L~ n4JP8b$v
  if(s[i]>='a'&&s[i]<='z')
7yx#Vq%Kw I`b\0   s[i]=s[i]+('A'-'a');
C_)y:w.Ee(^0  fputc(s[i],p);
^'|-sRzd$j0  i++;51Testing软件测试网M2aNr-cU|O r
 }
.[t%m8?S(v^ eG0 fputc('!',p);
r ~X7]x&{0 fclose(p);51Testing软件测试网;K)nt9u.k;^/BO
}

N2i0|1@eGp051Testing软件测试网9aQ2GW J

30、有五个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人多少岁?他说比第3个人大2岁。问第3个人多少岁?他说比第2个人大2岁。问第2个人多少岁?他说比第1个人大2岁。最后问第1个人多少岁?他说是10岁。请问第5个人多大?(这是一个递归问题)51Testing软件测试网!j \7@ ^|+U
#include <stdio.h>
)j w3Z+c&oC ?{0#include <stdlib.h>51Testing软件测试网wB/nJ,~Y+~T l [
#include <time.h>51Testing软件测试网 oFS v"z Y
#include <math.h>
E [t q?4xj/K#gF0#include <string.h>51Testing软件测试网B+`P:jNqe

;lE/fy5YO0cM5}}0int func(int i)51Testing软件测试网 \Mf:I|:O3b;C
{
O6a2^3bw(\(h2d\"b0 if(i==1)
bE&iM6JH wWX9k0  return 10;
I w"_-R7g)MS%Z"l0 else
_h'N K.z/A~1p0gz0  return 2+func(--i);
~qGx o0}

TU^.J.f&pJ/i051Testing软件测试网#P[m'_ W1?v@0e:l

void main()51Testing软件测试网S'_4y2~;|6{%o"]&N
{
b7}:SLQn'P_ C0 int i=5;
O$tm,HT#r{0p5V0 printf("第5个的岁数是%d",func(5));51Testing软件测试网XKT7x(SH {7tnZp%p&p
}

1b/S|'r$tp#aP051Testing软件测试网bY ?,M#[/w5[

完。。。

)kl G%}$hrH:}'R0

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar