我是大帅哥,擅长LINUX和C语言,还有脚本,希望和大家交朋友 mail:newhitler@163.com

《C语言期末上机练习题》附答案

上一篇 / 下一篇  2007-09-01 22:04:26 / 个人分类:C语言编程

6L{Gl4zC?S0C语言期末上机练习题
5K lpu2j Ns%p^1z)J01. 给定一个整数,判断其二进制形式的每一位的值,当某一位为1时,输出其所在的的位数,右端开始为第0位。LUPA开源社区9C;U#In};v

LUPA开源社区*O f)\ b0f%r8G2d.F

# include <stdio.h>LUPA开源社区x` K@%^*~-pYO|
# include <string.h>LUPA开源社区/dT'Uo$X
# include <stdlib.h>LUPA开源社区g4i"T1r6N_r

LUPA开源社区*O/s;YK\

int main (void)

mJp$s z"U0

_:Y@"v5Qw]cE9?0{
#Tn.x(L|AiYh6B0        int num1,num2;
B;f@o+|&lo L J'R0        int init;LUPA开源社区,Yt"mK(X3D0b&o Z

LUPA开源社区.s/T7`(Th7Heo qMx

        printf("input a number:");
z;]t.@!S'F ~ mI-c0        scanf("%d",&num1);

6q[8OSmS+c+Y0 LUPA开源社区1AU)j@E"u:o!`

        for (init=0;init<=15;init++)
&b*|gv8`3\0        {LUPA开源社区Tg0P:fy:XZ
                num2=num1&1;LUPA开源社区+pY(O!Pxd5d SA*E
                if (num2==1)LUPA开源社区(w S1x6u*yS
                        printf("%d bit is 1\n",init);
)o#b`W)RaMu0                num1=num1>>1;LUPA开源社区H*y$_.h%dc c ~&T
        }LUPA开源社区A)Vo+m+Q F
  return 0;LUPA开源社区~r)D ZMA2{.Z
}LUPA开源社区Q%F|$uQ` Bz+`

1Z#m.Zz;\ \M0 LUPA开源社区 Roby&pRPB!EV

LUPA开源社区W NBQ"o nv

2. 从键盘输入若干行字符串,每输入一行,输出行号和该行字符串到文件dx.txt中,当一行的第一个字符输入“0”时结束。

c%bva ^|0 LUPA开源社区r9kYT"cM@9N

# include <stdio.h>
L]NnN P7f0S0# include <stdlib.h>LUPA开源社区O H {[B-r*v[ bV%P
# include <string.h>

]u8m"KlS'u~0 LUPA开源社区9U c emWUe0j M

int main (void)

XU U(UJ4q*eK|X0 LUPA开源社区a$g?9n2r

{LUPA开源社区F1u!cA0[#H7v;uc0X
        FILE *fp;
i.oO/o+}0        char ch;

1h }xCsu4?s;Z0 LUPA开源社区b h2]p?8Dh/~K7_

        if ((fp=fopen("/tmp/dx.txt","wt+"))==NULL)
*gRTl\r+u2M0        {LUPA开源社区 `sZIsu gR
                printf("Cannot open file strike any key exit!");
3})\/Ay(_0                getchar();LUPA开源社区B_:\M1|q7ly9?
                exit(1);
#E7jpn1a,w0        }

J `gT o2M:K3d's ]k0 LUPA开源社区7L*Xjr3@v9lh| E }

        printf("input a string:\n");
;m1q,x%F/yqec0        ch=getchar();LUPA开源社区,c3f jqz^D
        while(ch!='0')
bC~!O+D2vJ0        {
*K][9a.n7IsG _ J0                fputc(ch,fp);LUPA开源社区%kc+J.S"ZBE'w$I
                ch=getchar();
&v:r3V7A~0        }
*H!W F/| W L V TRy Z0        fclose (fp);LUPA开源社区Z7^.M ?Di.\kH%O+u U
        return 0;
X,s7A i1I-UAp.s#`|0}

Rl"RzT:qr0 LUPA开源社区7de7F~ L1]Lz

 LUPA开源社区1K ^Q\;X;GI?(~

LUPA开源社区"b(m1N?+` J

LUPA开源社区3?a;f&[snthS9{$J7}
3. 用指针方式实现:从键盘输入10个2位整数给数组a10,计算并输出其中奇数和偶数的个数。LUPA开源社区x|!Xi.E6X+q
# include <stdio.h>
Z+ac`k(s0# include <stdlib.h>
j5fdjT2Se[0]JI0# include <string.h>

Vh l'@dC:M?0

Av#cmJXMjR0int main (void)LUPA开源社区2ft;f%jA q9\F

LUPA开源社区3y/L4uof#HI

{LUPA开源社区 a5[&H:r l
        int *p1;LUPA开源社区%u ZA7k p3L0C
        int a[10];
IF ['|l(E1C ti0        int i,n1=0,n2=0;

g3B$S:g(}z i B'x0 LUPA开源社区,p9E&D%dh6|.qd+O

        printf("input 10 numbers:\n");LUPA开源社区m2jfxVEtz
        for(i=0;i<10;i++)
6`,v _8F D2x&fn0        {LUPA开源社区/Y6b5e,Y0F#H!`9T eb8Q
                scanf("%d",&a[i]);
q"bT5GA X5?0        }LUPA开源社区vSM%C(`#[ g
        p1=a;LUPA开源社区` IQ~(m
        for(i=0;i<10;i++)
N/^[.`zr0        {
9L!i~^+X+nl0                if (*(p1+i)%2==0)LUPA开源社区%^[G8^ ]Aw9J
                        n1++;LUPA开源社区4U/|h?'vk
                else
)`0f'RuQ;R3P0                        n2++;LUPA开源社区1d5Of.m#d$K ~
        }
5O'x:s'Rq6n7rT|5[j0        printf("number1=%d\n",n1);LUPA开源社区O ]2o/L{W#EX
        printf("number2=%d\n",n2);
DM$m|0D~#imI0        return 0;
Rvq];v d7tgicJM,g N0}LUPA开源社区J)w_+g w&P4|t

LUPA开源社区`;J kY?hp

 LUPA开源社区V2KSZ H6Cx D

LUPA开源社区:Nub&qr1|p Q


:}L Y?7_ N b @1g04. 列出0~10000之间的所有其各位上的数字之和等于10的数。编写一个判断各位上的数字之和等于10的函数,并在主函数中调用它。LUPA开源社区%_g ex7|8\&E
# include <stdio.h>LUPA开源社区M[~ Fo.u
# include <stdlib.h>LUPA开源社区'dQ+[!u,Q X @I
# include <string.h>

]y!{g8B[Fh V0

Z:NtY-o*_L0int main (void) LUPA开源社区C3n^N g\

/y3xd/B'h5w0{
+lU9|G ru2_0        int i,j;
U+_ Eo6eP}~0        int fun1(int i);
C&SH RD`u0        i=0;j=0;

C~\1Xn `$E PZ%r0 LUPA开源社区U C JMK6u

        for(i=0;i<=10000;i++) LUPA开源社区 NaWd MC/A
        { LUPA开源社区F&SI4P'u\'nk
                j=fun1(i); LUPA开源社区B~r2@6e;s5b
                if (j==10) LUPA开源社区 ma%D/W9us7n
                printf("result=%d\n",i); LUPA开源社区j | u5l.|%I
        } LUPA开源社区#b'b E P4lsGof3q
        return 0;
W2W;Xc9f0}

mc,p:dr%A#]x0 LUPA开源社区5]7J8\H(ivy6V


.Gi#^8U0_`1[0int fun1(int i) LUPA开源社区L"x~;\ |$m|
{ LUPA开源社区W`N;V W
        int k,j,s,n; LUPA开源社区;bB_f7w2Fqi
        k=0;j=0;s=0;n=i;

+D&{+W9`.c(u-OUS(}0 LUPA开源社区(M8O ut0BP P9h7g3c?

        s=n%10000;k=n/10000;j=j+k;n=s; LUPA开源社区wPxd;|)B(y,q%k*b
        s=n%1000;k=n/1000;j=j+k;n=s; LUPA开源社区C ` ^8{C1j:_
        s=s%100;k=n/100;j=j+k;n=s; LUPA开源社区!E/J)A Q `M1}
        s=s%10;k=n/10;j=j+k+s;
zF&Qz"p'a&SBg^0        return (j); LUPA开源社区RwVD2D
}LUPA开源社区(@7]:~S3M$L6c Hq

LUPA开源社区a}lvSfY\

 LUPA开源社区hC\ qxxv

LUPA开源社区%v+a*tqg-F%y"rk

 LUPA开源社区:L|xZ'Q$U V/kc

J1qU:lk0 

2D `^;QL.O0 LUPA开源社区3Vs7xU4p\"r,^

5. 定义一个结构体类型book,包括成员:bianhao,bookname,price,next,动态地形成一个有5个结点的链表。LUPA开源社区7d-?q9_Yx
# include <stdio.h>LUPA开源社区g ?K i"Nu
# include <stdlib.h>LUPA开源社区eI+q#tm(n;P\4jt
# include <string.h>LUPA开源社区e VX,F-BM
# include <malloc.h>

9k~-[\$uEg0 LUPA开源社区8Vb YS2j'D"dsfT+T

# define N 5

'];s!W)BQ_b eZ.F0 LUPA开源社区${:P'b@ {h

typedef struct nodeLUPA开源社区/Z'U^-T-fhL9e ~&o
{
6k&_0{)Vp&mU[0        int bianhao;
p"R(wV[ SAB\0        char bookname[30];LUPA开源社区,?HW-qd3QE{;Q7T M
        float price;
%{i!aoW0        struct node *next;LUPA开源社区ne)hs_ b
}book;

i.j.A%?d Z2X6z0 LUPA开源社区a j}P1qj

LUPA开源社区&SoXa"W`TYs
book * creat(int n)LUPA开源社区&Q*Z/R.[#AZ$K
{LUPA开源社区%H$Rk;j[-h&f-[q
        book *p,*h,*s;
'nSg2l%jE c,ax1NC0        int i;
i9~1O Xa$t}zT5j0        if((h=(book *)malloc(sizeof(book)))==NULL)LUPA开源社区-J.TXI`!\L
        {
!q*Fvg.z:Hg0                printf("不能分配内存空间!");LUPA开源社区0EY*f1S;} ?Ab
                exit(0);
*j j,B,nmC T0        }LUPA开源社区i9tz:B'U%c:u W
        h->bianhao=0;
j,L0B f$a3xAec%n0        h->bookname[0]='\0';
0P w4q}6~Qo I0        h->price=0;
(^'}l7Z8X,s6z#z:F0        h->next=NULL;LUPA开源社区 H|#pqn1?
        p=h;LUPA开源社区|p$fr9d`_b3g
        for(i=0;i<N;i++)
O+nR,n0ARj-Ln0        {LUPA开源社区t*ko1{h%EY
                if((s=(book *)malloc(sizeof(book)))==NULL)
PY$r2L4M7xj0                {
$R,mS ja4c$Z0                        printf("不能分配内存空间!");
6b%nvkm5j {0                        exit(0);LUPA开源社区z(i~KZc
                }
z0XD D$eUP7j0                p->next=s;
'` z7c,s7iTT0                printf("请输入第%d个人的班号:",i+1);LUPA开源社区!kwA$Ze5i%@&Q(k
                scanf("%d",&s->bianhao);LUPA开源社区 d zG4E.ZoDW
                printf("请输入书名:");LUPA开源社区 t-{'q e$l
                scanf("%s",s->bookname);LUPA开源社区D}?f#aE K8e)I
                printf("请输入价格:");
`*[Nv,L8k"[0                scanf("%f",&s->price);
h'Y:qb ]{*{QN%CI\0                s->next=NULL;
*L*m5~%~t j0                p=s;
8^WFW[0        }LUPA开源社区.c9I1j~+[)K6V
        return (h);LUPA开源社区8s u/M t2l ^ iv(@1r
}

Fe.z_ |fN A0 LUPA开源社区7L@(V;cPMi

void print(book *h)LUPA开源社区8sX)T"~5`5b R;v e9k:z
{LUPA开源社区E*q(S:Ug
        book *p;LUPA开源社区i'` Q Q%duE+F2[
        int i=1;LUPA开源社区Z Kh#M @1i
        p=h->next;
'mCv)V+E;YUz0        printf("数据信息为:\n");LUPA开源社区^*| U1d*zjv

LUPA开源社区UYV"e_\

        while(p!=NULL)LUPA开源社区gr6? Nr
        {LUPA开源社区,y(\%g7['tD
                printf("第%d个人的班号%d\n",i,p->bianhao);
-m;D7}:fi0J]O g:o0                printf("书名:%s\n",&*(p->bookname));LUPA开源社区+c(B9O?%rm~
                printf("价格:%f\n",p->price);LUPA开源社区"Cl6w|:@ O/u
                p=p->next;LUPA开源社区 ^*F-GO1\
                i++;
4\H O [0u_0        }LUPA开源社区v:t}p.g U7m
}

8r,N aMm y5I0

C qP-MR'~1I#w6s0int main (void)LUPA开源社区S7_6D v4K8j4j-f4`

!Uvd*jmfq Y Fr0{
!n4blMp7u%P0        book *head;
t8P t5]4ps)B Fg0        head=creat(N);LUPA开源社区)\,Hs M;r(diI ^
        print(head);LUPA开源社区l?N J|1rg
        return 0;
Jy*v4d X:{Od0}

P/y [{6H f0

m4y"kR/^K/m0 LUPA开源社区MZil/U k

LUPA开源社区3}5R$J0?}/Vg

 

8F:C(C5Se0 LUPA开源社区o7y EN?D

6. 输入一行字符,字符个数最多为30,写一函数,把输入的字符按ASCII值的顺序有小到大输出。例:输入cdfga 输出acdfg。LUPA开源社区1?4Bd'Pkj
# include <stdio.h>
g1`dL!b0C {#l+Gg*o0# include <string.h>
L'd.b_Mk-s0# include <stdlib.h>

1}:a1[j5y.W)k%k;N0 LUPA开源社区3W5FMJ:S3X

void order (char a[],int m)
4`8U {q9a0{
:{&JyU2PiCpM0        char t;LUPA开源社区&~7wPuu;b x:[
        int n,i;

B-~xFZ(kXr,t0

D KCkG-M$Pf(g V0        i=m;
9}'y#?8z/A0g&Y0        for (n=i;n>1;n--)
'J c \Tl0                for (i=0;i<n-1;i++)LUPA开源社区%ThVY c(HGmC
                {LUPA开源社区;MfMp P?.H kXh
                        if (a[i]>a[i+1])
USw7k6A2ba0                        {
#yyhk _c%j0                                t=a[i];
q.`T!bd6W0                                a[i]=a[i+1];LUPA开源社区})vp+}m'f].N ?
                                a[i+1]=t;LUPA开源社区~#H;d c X{$A!H
                        }
~3\*TG~t4Z0                }LUPA开源社区S R o3m j:B(FO d8l

LUPA开源社区,kL8M wc[~X:k

        a[m]='\0';LUPA开源社区$lu-q kN[J#r
}LUPA开源社区4U6^-v~o2m

LUPA开源社区M}3Jn |'mI

LUPA开源社区6h4O:h9`}8y)V
int main (void)

M:yfA u p A/CUx/d0

APMQ/H b0{LUPA开源社区bsfR]"}p

y/Y:Ss0V$hDFB0        char a[30];LUPA开源社区9NYb_;j,H;l`
        int i;LUPA开源社区2|o8_)K a9@

Ou4v:iJPj0        printf("please input char:\n");
I z!C.oC M ^ ~0        for (i=0;i<30;i++)LUPA开源社区:k#r"N%M x uw#T
        {
0P p5@/|;Vl7^f0                scanf("%c",&a[i]);LUPA开源社区5f'r QTV4HNJJ/k
                if (a[i]=='\n')LUPA开源社区}pQ$w'Kg_L-A
                        break;LUPA开源社区&@pX/D R-Bl GKqzi7e(N
        }LUPA开源社区 G ] I)UnF

LUPA开源社区&P[;`J:y;wDT

        order(a,i);
YaX(~'G!B.g9C0        printf("order by:\n");
#t4]%YAw6v'?0        printf("%s\n",a);

8xy~.Y;h/y&J$H0 LUPA开源社区%h;E+H"uRJ+@cv0o

        return 0;LUPA开源社区:x"o*y&u\ hCEc
}LUPA开源社区6pT#]1H*x ~ag

S5XS2] Gok0 

"Ec {7J\1En A$b0 LUPA开源社区i[B}8V"~"U4S

 LUPA开源社区9P _r#A c

LUPA开源社区%L'|E-{~!l&t,Q

LUPA开源社区$n#IH+s+S-Fb2D
7. 写一函数,输入一个八进值的字符串,输出相应的十进制数。
\of a0fj6?j0# include <stdio.h>LUPA开源社区po`kui
# include <stdlib.h>LUPA开源社区 A*a'f.g(E(d
# include <string.h>
;~_(OEr,v&uSZc/g0# include <math.h>LUPA开源社区-ofB)w#FC&L#t

'Q IS H*O0int main (void)

n.\8O$?#x'`~0 LUPA开源社区H V`!BP ?I5S o/q

{

kOVfT&D0

$? ?"z7j/PS0        char a[255];
RJX;U5v:]0        int i,n,s;
2t#HR;n{0        int b[255];
mV ~#u(Z~7pB!f0        s=0;LUPA开源社区C~&Ew\3J7_;@3v
        printf("input oct:");LUPA开源社区!H3N%|0Z(["B
        for (i=0;i<255;i++)
]M3l` F u7Bz0        {LUPA开源社区Av+},Oazji
                scanf("%c",&a[i]);LUPA开源社区/f$rxzw+q)y
                if (a[i]=='\n')
uY2T?_|7YsHt0                        break;
4Di.D{ }6@l*Qk'?0                if (a[i]<'0'||a[i]>'7')
*XJy2{_(I(tDq S0                        {
@sp{D7p]Gt0                                printf("input error!\n");
;li UMZ1{[}z0                                exit (1);
c$XU:y8l mP!k8Y*R0                        }
JO-\ a[V(X+P0                b[i]=a[i]-48;LUPA开源社区T n'x4ZGi R(u5[
        }LUPA开源社区1z@u!R"K3H+T

x8l[bun-Q0        for (n=0,i=i-1;i>=0;n++,i--)
3Ej(R)n/pi0        {
`q"R~rx0C+~)P0                s=s+b[i]*pow(8,n);LUPA开源社区|A-@Xm5]G5P
        }LUPA开源社区WA+W?!{0nw
        printf("result:%d\n",s);

f[6fPMTp ^C*C0 LUPA开源社区2k1z j,J6@_ `6V

return 0;LUPA开源社区;H6Ad$Y@k]:vk
}LUPA开源社区M$` NJwjQ0]3R*F

#ZOPdPwAq0 

;J8UR EE ] Ei8af0 LUPA开源社区 @'e Us/{

 LUPA开源社区Ovx} X+AV

LUPA开源社区2c-G#W_|Xu

8. 用指针法处理输入的3个字符串,按由小到大的顺序输出。LUPA开源社区6S.z'T%z1ZjC'q)_
# include <stdio.h>
2W4@{[){t Bx$Jm9S8ir1{0# include <stdlib.h>LUPA开源社区6b7E8|jv6RR.xb-{;S
# include <string.h>LUPA开源社区6Y"eT+V&B)\ [7m

6@S7X.q,t?0int main (void)LUPA开源社区QB6l dfc'{.j

LUPA开源社区C(v/z[2Z4T%kH|

{

0}$c"d8Q;wbo#[$D N4e4@0

KpC+g W.PC0        char a[255]="\0";
,W4dc&az,w.G0        char b[255]="\0";
*B-X'B{`4RM J0        char c[255]="\0";
nI J&cN!i0        char *pa,*pb,*pc;LUPA开源社区.D7Yj,C)@8Zs
        int i;LUPA开源社区)yI,B)^*N

LUPA开源社区Ij5A%h*]


2v8@+k@1Lzid0        printf("input a string:");
W6q6yo\0?C-v{0        for(i=0;i<255;i++)
J`M0r ?#u0        {
$YO7? nc1wEW(|0                scanf("%c",&a[i]);LUPA开源社区3R U)uv9`V,YG
                if(a[i]=='\n')LUPA开源社区"diA)QKx'~Vz
                        {LUPA开源社区Xm!p4r1TV*l-s
                        a[i]='\0';
zn;Z,A3m4yZJ0                        break;LUPA开源社区}0~{ ck6G
                        }
;@2P$DR] NB0        }LUPA开源社区/mKSmu6l9tc|+m
        printf("input b string:");LUPA开源社区/GQR#iXL"ty,D(b A,x
        for(i=0;i<255;i++)
hN NLDW,V,ly k0        {
f~ q!N#Kz(oq:?$]0                scanf("%c",&b[i]);LUPA开源社区4Z2_jn;c"^
                if(b[i]=='\n')LUPA开源社区%W9Tv7oD;qO U
                        {LUPA开源社区}-u$c6z]bS5y
                        b[i]='\0';
uC[l/FH'F!j0                        break;LUPA开源社区?"ZW)W,}^8f
                        }
Hrg1~'K0        }LUPA开源社区w+f@4V0v+[-{|;`,Q6mjwH
        printf("input c string:");
:p'Iec4A n0        for(i=0;i<255;i++)
d8@~;tFo0        {
UFx,TG7M0                scanf("%c",&c[i]);
9i"gSUv:g0                if(c[i]=='\n')
B5CGHf5C/W4La-rtHW0                        {LUPA开源社区+^F5P#h\,V0x'vh?
                        c[i]='\0';
1I@ G6M$IG0z6Q8@^0                        break;
3HW+bx|nn0                        }LUPA开源社区4U;G(C)o D+y5?`
        }
$oWFXP ^%F0        pa=a;pb=b;pc=c;

0D-qK1Lc}oj0 LUPA开源社区 u)kq4L#QX scsD

        printf("\n*******order by*******:\n");
c9e9U d7{Ymb Y0        for(i=0;i<255;i++)LUPA开源社区k3_(d4ozy x
        {LUPA开源社区7F ig3H8f-kZ
                if ((*(pa+i))<(*(pb+i))&&(*(pa+i))<(*(pc+i)))
OY-k1}5Q9lm0                {LUPA开源社区 L&\tP5`+fj e
                        puts(a);LUPA开源社区6f5x,C-I"P8v
                        if((*(pb+i))<(*(pc+i)))
y*F$p:L.b(rbi0                        {       puts(b);puts(c);}
l,H1W6O YPyC0                        else
[ _;[ qBD0`&z0                        {       puts(c);puts(b);}
8|;sx:k wsYZT9? UC0                        break;
e;u~X__0                }
i5rT+[IXC0                if ((*(pb+i))<(*(pa+i))&&(*(pb+i))<(*(pc+i)))
U"RU5Jx-F7zd(P0                {
!F(Og6M7KO&{^,{+b0                        puts(b);LUPA开源社区\_!I2u `0v6@
                        if((*(pa+i))<(*(pc+i)))
:DE @JD2g0                        {       puts(a);puts(c);}LUPA开源社区*]|;N z ]
                        elseLUPA开源社区K _5@:?%t cH![
                        {       puts(c);puts(a);}
'fIZu;ZqRY0                        break;
.TU%G k0o%kJ0                }LUPA开源社区m W4rZ~8m"}RF
                if ((*(pc+i))<(*(pa+i))&&(*(pc+i))<(*(pb+i)))
*IA L0fSh0                {LUPA开源社区:Q)K \[?
                        puts(c);LUPA开源社区0n8Z|J2`n
                        if((*(pa+i))<(*(pb+i)))LUPA开源社区~0|#z5a,l|R?
                        {       puts(a);puts(b);}LUPA开源社区nBETF/s
                        else
dE*t+|/tWQ qX4R#Q0                        {       puts(b);puts(a);}
+E[3E:zf0                        break;
,u:~*D.M)N.@:k0                }
}M Mk$Vp m0        }
W~+~+w)S r0        return 0;

:vV7P!VRmF*u d0 LUPA开源社区0^0`"`1~7Pd(kl}O D

}

P N&B&z,z:ys0

5o HX@Ou]/_5v0 

,FK w/eG dn7O0

+Hnx5b+`] T,q*p0 LUPA开源社区.?Ix0_4`md

LUPA开源社区pL YG2@.g5}@ ~

LUPA开源社区L1o+`6A-i+vG+SK"_bH
9. 用指针法输入一行文字,最长为30,找出字母、空格、数字及其它字符的个数为多少。LUPA开源社区@;^R#MeK'lq
# include <stdio.h>LUPA开源社区"|@*I1] A4z!I/@
# include <string.h>
0~xu*q.^E"u0# include <stdlib.h>

/S WEo |bSI7l P0

n5p;S&m@-a0int main(void)

`6| \;n^5}0

,e]+\c3jA0{
QBb-W N#r `.H0        char a[30];LUPA开源社区%Y tyMvAcB%a
        char *pi;LUPA开源社区S;K:}w \8c*^K T
        int i,c,n,s,o;
c!~;s3V!C`1z p5W0H)l+B0        i=c=n=s=o=0;

;RD6y7R?y(w0 LUPA开源社区[d!NTB

        pi=a;
J`j'ia0s s0        printf("input string a:\n");LUPA开源社区X~4x4fJ6J @8ak:b
        for(i=0;i<30;i++)LUPA开源社区&{ |$~1B3C
        {
G a2[FY@0                scanf("%c",&(*(pi+i)));LUPA开源社区EP t F$c.bv4t0Xy
                if((*(pi+i))=='\n')LUPA开源社区p,[ s\%b$v-t
                        break;
&RVPi NY_G0                if(((*(pi+i))>='a'&&(*(pi+i))<='z')||((*(pi+i))>='A'&&(*(pi+i))<='Z'))LUPA开源社区 g6p5O!E-u
                        c++;
rE U%O1I$h5O Ev~0                        else
oB6U7z:tcI!S;A0                        if(((*(pi+i))>='0')&&((*(pi+i))<='9'))
S*ioV,M0                                n++;LUPA开源社区3|hi:|}3c6m(t3V
                        else
E:_c ?6G(I-D C0                                if((*(pi+i))==' ')LUPA开源社区%w1U0zp$QiSb
                                        s++;LUPA开源社区7Z5F1r4h{~4P Cc0ST
                                elseLUPA开源社区kb J}#V
                                        o++;
]pA&mS KD0        }
,@JGvEG*\~0                printf("character:%d\n",c);LUPA开源社区S6j Zc$Hw0C{d
                printf("number:%d\n",n);LUPA开源社区ED w(W o
                printf("space:%d\n",s);
P3f MUCfcC~0                printf("other:%d\n",o);LUPA开源社区%rTNS2W*_T'A

LUPA开源社区*h~4^)|s2iC[,E/Aj

        return 0;
8_af.r'cL g/a_0}

\0N L)?LJV Z1\"N0 LUPA开源社区)[0x`-etm8^p

 LUPA开源社区 kI2r#]9R']t1`

X9k(kB$X/h7NM0 LUPA开源社区aZ-YXL |

+f*? ]9gv.Jsm-A W-^#G010. 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“aa.txt”中保存。输入的串以“$”结束。LUPA开源社区^)? s8z W%K
# include <stdio.h>
[L Rr7Q(Q0# include <stdlib.h>LUPA开源社区 zh7G&~S/dy
# include <string.h>LUPA开源社区F0^(zc.|5I

LUPA开源社区+Qo ICICa(Cd

int main (void)LUPA开源社区\%S,R5o/\+Eo-J

LUPA开源社区-I%@!uZH

{LUPA开源社区;V#kIQ%v

LUPA开源社区,f1pBvQc r9I"N

        char ch;LUPA开源社区!axIm ^
        FILE *pi;

{p-CU$j HU4^0 LUPA开源社区?:d:P2CW.uj8e%d1j

        if ((pi=fopen("/tmp/aa.txt","wb++"))==NULL)LUPA开源社区._vDYO
        {
[-R m#EV9}5M0                printf("open file error!\n");LUPA开源社区@ H(x;Ls1z9R,wXS
                exit (1);LUPA开源社区mkYgF6~
        }LUPA开源社区q;y xS$wL:~(n

LUPA开源社区*E/cz1h(Iv

        printf("input string:\n");
R2|n N ~:P!O?0        ch=getchar();
[/`X7z~!lZ0        while(ch!='$')
,D4Wv9u#Qke6b6{!R0        {
)v/}(Gw@)Tt4v0                if (ch>='a'&&ch<='z')LUPA开源社区w3a TKeiS0D#oEC
                        ch=ch-32;LUPA开源社区y%s]c2J
                fputc(ch,pi);
$PZp)SJ:Z8F0                ch=getchar();
MdMKg0        }
#iP;h6dBSkSJ0        fclose(pi);LUPA开源社区/R?;ER+^{
        return 0;LUPA开源社区1VWPN9KxX y

LUPA开源社区vC'O,j9pZ R3X6z+fT(N

}

dU)P[$YN%{2L0 LUPA开源社区/[N!} \{

 

`2M})q?i0

Qq^6oz_5i@3HE0 LUPA开源社区PtSr(f,{0K1qg

LUPA开源社区7FU'h]T E_ Am/{

LUPA开源社区c.?+r9RM Wl2?Wj
11. 输入10个学生成绩,成绩取值范围为0到100分,编程实现:去掉最高成绩和最低成绩,计算并显示平均成绩。LUPA开源社区1s L|[!J @]EV
# include <stdio.h>
lIp I3\kY0# include <string.h>
m&M#K7mcl7A0# include <stdlib.h>

,PS*bo w8j0 LUPA开源社区 yn$p }L{-Mqg

int main (void)LUPA开源社区 s$Z rrh)Z

LUPA开源社区rv5jl9LLhL}

{
3?)~ w| i6r4xX%h0        int i;LUPA开源社区8Vr\.D(f7F
        float max=0,min=0,avg,sum=0;LUPA开源社区k(N.N_#V5uw!B
        float a[10];

E |8WP3C6|%z3t2k7b0 LUPA开源社区~*l:n jU7_

LUPA开源社区8Y$Q1l1N3VQ;Fv
        printf("input student score:\n");

"iYen)Li} m^]K0 LUPA开源社区.Z'F OWu.~2]@RIN

        for(i=1;i<10;i++)LUPA开源社区| wA0VB[
        {
/HdY$I)H'd0                scanf("%f",&a[i]);LUPA开源社区 uzAq IvD/f t/Q
                if (a[i]>max)
%^@(m3C+^0                        max=a[i];
]/k w'P F [ZGb_0                if (a[i]<min)LUPA开源社区9jL r!MJ%cCYa
                        min=a[i];
+tXL Bd0                sum=sum+a[i];
1Y!c6_"zj#qYIo?0        }LUPA开源社区8[ J0}8QO1R
        avg=(sum-max-min)/8;
/^'_5N v2Mp }0        printf("average:%f\n",avg);

~i5}R)P7d9i0

W:T:T.v7RWA6]0        return 0;LUPA开源社区Bg]Ph#MXm
}

V!F3ps C |0 LUPA开源社区%Lh6K Udf H

 

\}]:q7X0

HBP&|U4ge8N/NQ0 

\1R r7@a}DO`.x0 LUPA开源社区J.Ta b:cX\n


a^oIL1{ r?012. 先定义一个排好序的数组, 然后输入一个数, 插入其中后使其还有序并输出。

4Ke-k|E%J4\)I0 LUPA开源社区'R/g\|?+a

# include <stdio.h>
4Aj3h\ Jx0# include <string.h>
V}3CN q/i0# include <stdlib.h>

2_/j{/r yW9I"V0 LUPA开源社区 zsAM@F[z0i

int main (void)

0rW*[3c-|qc0 LUPA开源社区E T e5QKkwl*J/|

{LUPA开源社区/g|gPr#}PW
        int a[11]={0,1,2,3,4,5,6,7,8,9};

2E|m7^KP \/N0 LUPA开源社区8qRBpC,{r:]

        int i,j;
M:c6X}3{!eW0        int n;LUPA开源社区 Fw5`%lB5O

C rTGl.y8J/P6t0        printf("input number:\n");
g ? k s4GM;K:s0        scanf("%d",&n);

5r jiAg}zw0v0 LUPA开源社区2P%`@3xGJ

        for (i=0;i<10;i++)
2c1P2x3mB#I j;P o8W0        {
/A/AR o1q,^5z(Uv0                if (n<=a[i])
P gnD)[U0                {
;[R0n!Z `)sl)l0bg0                        for(j=10;j>=i;j--)
{I Gd+Z0                                a[j]=a[j-1];
y} w1S%K@ Y.e0n%e:|{p0                        a[i]=n;
/F,g4F A$V|,?s?0                        break;
5f O!wU}0                }
p,TIsZ0        }LUPA开源社区~V"V.kcc g

,^8US@6u0D"O0        printf("order by number:\n");
.~k9hz|8`R h)NIC0        for(i=0;i<11;i++)LUPA开源社区.P+[s!st N
                printf("%d ",a[i]);LUPA开源社区!gZLc&Gb+d
        printf("\n");
e6k1GsqI`4`O9L0        return 0;LUPA开源社区7Mj6[#K"]1HQ
}

LmTJcJ:fq4Gr0 LUPA开源社区1P b1s/c;tE!hd*}zl@

 LUPA开源社区nJ{)w o5d6p4j+o

0YNO"R^0 LUPA开源社区_D*K^Y

/F!wWW7\.rV0 LUPA开源社区%q {/ap:F'{]P/K

LUPA开源社区L0fV1OF0W

13. 用主函数中输入一组数,调用函数用选择法排序后,再用主函数输出排序后的数。LUPA开源社区 I!rh9_[3F3L
# include <stdio.h>
e2C+}!S8O q0# include <string.h>LUPA开源社区t5l,iV7mh [
# include <stdlib.h>LUPA开源社区 tp"^_ d D.Y

1~d4@4~C0void sort(int b[10],int n)
!r|WuS'@:t0{LUPA开源社区pc*H5n~i qH
        int i,j,t;
PH+[{ @UU0        int min;
?b!u:W%D?bP0        for(j=0;j<n;j++)
9MsOhMl\ Q0        {LUPA开源社区0^!UZ[1H ^)E
                min=b[j];
*TM5b(X~FUV0                for(i=j;i<n;i++)LUPA开源社区({8v&JG+@'jt"Q
                {LUPA开源社区%_0z,al+h[n
                        if (b[i]<min)
f2YmHv0                        {LUPA开源社区p E"gU6`5}IT ~
                                min=b[i];
&|;r4D'P0OJA,d"O ?0                                t=b[j];
d C G|"N0                                b[j]=b[i];
Y r9~ ~K0                                b[i]=t;LUPA开源社区 } ]'} B)Yr
                        }
gU9J8z,T2n(M0                }LUPA开源社区?QUP,TZYD
        }LUPA开源社区b Y2q^ E$V3[T
}

6I"QM7V{0

P3A2ayH [ D,Z#J0int main (void)
Y[e6Ux~ {0{
(m!VA9x:fb~;p0        int i,k;LUPA开源社区8I\i ZUA1EG k"\
        int a[10];
nQ1X ` w8_U x%bPyC0        printf("input 10 number:\n");LUPA开源社区9V5m;L*cn!yk4n
        for (i=0;i<10;i++)LUPA开源社区"h2Nsh4P7NCiGj
                scanf("%d",&a[i]);LUPA开源社区1g?"mn!u Qp
        sort(a,i);LUPA开源社区S]t3gt4O7Eq

LUPA开源社区~Q1Tba-B8n

        printf("order by 10 nums:\n");
j A6G J qsu*\ ^u0        for (k=0;k<10;k++)
.X O#v:c5S0        {
t1F+Rqi&cT5| sx(|.gP0                printf("%d ",a[k]);LUPA开源社区9?a;B0N2jzyRF!S
        }
$I s)? V`*d]0        return 0;
},aJg'|0c2v0}

&c9~_&N(bH E+CF z0 LUPA开源社区{j*EF/w$N'U

 LUPA开源社区&Z qq h#fN X!Q

(zx%Qk1VW0 LUPA开源社区L(C l4Uj

;P'q,H#bx(Pd014. 用主函数输入4个字符串,调用函数用指针的方法由小到大排序,再用主函数输出。

Y?(w*B FPq7tS$]pT0

)]Y(}9YQ-Gt0LUPA开源社区1t;F2d.G9J9sT5cl
# include <stdio.h>
(D(J(SjAi0# include <stdlib.h>
M9Yg Nh"u0# include <string.h>

;j(Fww2ng0 LUPA开源社区0ZWs;mo#~t5d"a

int main (int argc,char *argv[]) LUPA开源社区j:|z\%b%L.w M
{
j5p&NmlPJP0 char a[4][255],t[255]; LUPA开源社区i"q4i/\xgA
 int i,j,k,f,n,c;
:U_}$v k0 for (i=0;i<4;i++) LUPA开源社区)c$a g p7n1l7X
 { LUPA开源社区6N+n6T1Q4W
  printf("input a[%d] string:\n",i);
m;K*h8G G8k%aYC0  for(j=0;j<255;j++)
-_ w4DP(paL0  { LUPA开源社区4H4Ld,z$E~c o$T#B[
   if(j==254) LUPA开源社区R s~{+Y2aV)S)r
   { LUPA开源社区D0}.f,uZ:t4N n1o
    a[i][j]='\0'; LUPA开源社区'C W'KF(@@
    break;
2Iw S ?u2qz0   } LUPA开源社区"g;z H gw Y
   scanf("%c",&a[i][j]); LUPA开源社区X9uf Hkg&zM
   if(a[i][j]=='\n') LUPA开源社区%XB5z4GWsb
   {
|f+`/x)r Zxv2lm0    a[i][j]='\0'; LUPA开源社区[5@(h*t,|2\(T.\P
    break; LUPA开源社区2Z8mx{0? O#T/b
   }
.@2E#F m"Y0  } LUPA开源社区j)`*t!gJ
 } LUPA开源社区F#o EacG
 for(n=3;n>0;n--)
q)pS+Ia)M(c0 {
~:R.M~/C(} \0  for(k=0;k<n;k++)
D \8i2qC&v/M&le0  { LUPA开源社区yW;};L"p&\(C
   if (strcmp(a[k],a[k+1])>0)
)v S h TBmQ![0   { LUPA开源社区*D6U"p R z6g"Y
    strcpy(t,a[k]);
HHI3Nacp0    strcpy(a[k],a[k+1]); LUPA开源社区%v#e'Wjm)i
    strcpy(a[k+1],t);  
R9nX$S:d/DD0   } LUPA开源社区2g2_-G'w!u
  }
&vK7\7ekY;@,G%q0 }

4B&z&keI1T RDc8g0 LUPA开源社区\\#|0Z$_!S)e

 for(c=0;c<4;c++)
t0]`p8T/q Y0 puts(a[c]); LUPA开源社区s'|lo4cF

LUPA开源社区0i6\-['h'lGg|


0Z1B*?,ZTU6W0 return 0;
m*cXZ2X v5@0p0}

wu(C/J DC0 LUPA开源社区*gf W(J?"H,P

 

'I.NO,Mj1ma.S7]B n5n0

3o"G ]-xJVI]0 LUPA开源社区fxX9@S lA6A~p:hB

0w3~ZJy lPtlq0LUPA开源社区'M&f(^FH
15. 建立文件“FT.DAT”, 存放一串字符,长度不超过80个字符,然后再读出后统计显示字符的个数。LUPA开源社区0n9}z,C(Uj7eF4As
# include <stdio.h>
/Y4a#xIF0# include <stdlib.h> LUPA开源社区1e}6_K3c
# include <string.h>

`/v,W1?2C0

N2[S'}7^ja0int main (int argc,char *argv[]) LUPA开源社区2fO#X s#V#]
{ LUPA开源社区#d,Q}ZboCO
 FILE *fp;
Z?%DF"Y{,@e3g0 int i,k=0; LUPA开源社区FW4^8_P(m
 char ch; LUPA开源社区Z:Qi(bu&Y c-Y
 if((fp=fopen("FT.DAT","wt+"))==NULL)
+`7N+NO8\D0 { LUPA开源社区&O{H;cF#N5S
  printf("\nerror open FT.DAT!\n");
[B^8FF&a3g;C-F0  exit(EXIT_FAILURE);
j%O$XI;WDpd0 }
c;qG$u7k1P0 printf("input a string:\n"); LUPA开源社区v)G$he` q5e0|4C
 ch=getchar(); LUPA开源社区K5F T;q0k;B

LUPA开源社区%JRm3|!f9cFb v

 while(ch!='\n')
J+CqDhv0 { LUPA开源社区)?nd2z!L@E
  if ((++k)==81) LUPA开源社区8d]'^,e[~,|}
  break; LUPA开源社区0_ d$C1m:[9jk
  fputc(ch,fp);
C'vW9\6A,~%|0  ch=getchar(); LUPA开源社区?;w {M~#s'gY/l R
 } LUPA开源社区cn6{&y4V2L$avb
 rewind(fp); LUPA开源社区R[^ ^1p wAj
 ch=fgetc(fp);
X[V2V"W"Q%g/M0 while(ch!=EOF) LUPA开源社区w+{#d F1_$D4DZO*A
 { LUPA开源社区(EUOP6eU(DW
  putchar(ch);
"dY yCAc0  ch=fgetc(fp); LUPA开源社区3yn8HO;N(E5S M9]9c9K
 }
i/O5Z Jj!dh8}0 printf("\n"); LUPA开源社区&qJ@se
 fclose(fp); LUPA开源社区'c@ X h|Ta[.D
 exit(EXIT_SUCCESS); LUPA开源社区h)H7P ih.o[
}

/V%],~7T|(@V0 LUPA开源社区&[s4P c,m ~7j`

 LUPA开源社区$SL/g&tR

LUPA开源社区@n YR4V

 LUPA开源社区 ZNiIp

!CQ/hcJ@0
2d}R8MS nH016. 用数组和循环实现:统计输入的一个字符串中的数字、大写字母、小写字母、空格及其它字符的个数。
@?"^TX^6kI0# include <stdio.h>
~ G1vcX/]T"h0# include <stdlib.h> LUPA开源社区'SmUM#Qay
# include <string.h>

A-CM"b _\Ck9e0

.c d]$qN$S-AG0int main (int argc,char *argv[]) LUPA开源社区n.r*k|-D6p'nu.f _ m/E
{
0b _y0?~L"r0 int i,j,n=0,c1=0,c2=0,s=0,o=0; LUPA开源社区(Yk1b9`H&B
 char a[255];
{:wo B!h&@IB0 for(i=0;i<255;i++) LUPA开源社区E tHl'J8rM|
 { LUPA开源社区1^%K$O6I:E#DS:I
  scanf("%c",&a[i]);
)wkGs8NVL0  if(a[i]=='\n') LUPA开源社区2G-a1M&p2],@t
  break;
Cu(y5VdN N%Y0 } LUPA开源社区,V8VKYQp
 for(j=0;j<255&&a[j]!='\n';j++) LUPA开源社区&T/c N X-I|
 {
H7FD G z } Y+PyO0  if(a[j]>='0'&&a[j]<='9')
$Bk3O'I j"o0  { LUPA开源社区YTU*{CK&j~.O'P
   n++;
q t)}WX#eyd#Ys9I0  } LUPA开源社区YN/`"Jd
  else
#M6T3j2gZ:y(u0  {
\ T p'p$k5nd+Yg7VS0   if(a[j]>='a'&&a[j]<='z') LUPA开源社区&S7d O&VO+u(m
   { LUPA开源社区(B!_S5ti0[Nv7@D1K
    c1++;
b.t-Xu$dSy [0   } LUPA开源社区2l~t.q3xp,L
   else
;F#PZ,Q9e2W b0   {
$?W|G3M M R ]+| IO&fU0   if(a[j]>='A'&&a[j]<='Z') LUPA开源社区ttcMB0{1F1{!h
    {
!Ee c'r4Zr-Vb"r:{0     c2++; LUPA开源社区%oX u$S,RO_0o[o2O
    }
(JO,JV0v9sz}0   else
}&P7B*k t:C+z0    {
3n#t:uC;F0     if(a[j]==' ')
.|I ],Hs0     {
(z}'E6k.y(h)G0      s++;
*q2MS@f]5q"N%`0     }
q6eRM l0vTG$S0     else LUPA开源社区8qTq:_J
      o++;
K3~ Mk&pQn#@^;Im0    }
!d@;n~8zKx_0   } LUPA开源社区%g7K ? tr O
  }
#Cy U6m;D D/V0 }
4W:W4J)D-t bC0 printf("number count:%d\n",n);
!h?7\2EIz0 printf("(a-z)'s count:%d\n",c1); LUPA开源社区P$\pIh+@&H K s
 printf("(A-Z)'s count:%d\n",c2); LUPA开源社区$?(LLbqM7~*ddAH
 printf("space count:%d\n",s);
lo6Y2H7s u0 printf("other count:%d\n",o);
wmz7mk ro`0}

pN.KM^.tTNpt0 LUPA开源社区Y}1e4t%t

 LUPA开源社区@ A-Pq$A3\{

6?p,|%w6v ` AT0 LUPA开源社区YQ(l4yA ^

LUPA开源社区9|;m p;F8?+AOP/m$V


M-w.o#}0nA9VX017. 用函数实现:输出2~100间的素数,每行5个。LUPA开源社区)s;J_&_Blb
# include <stdio.h>
4q%W k*W r+p$Oh0# include <stdlib.h>LUPA开源社区%r]*v*H3Ok
# include <string.h>

,gt4~ wm Ld0

7|v#w]ywh0int main (int argc,char *argv[])LUPA开源社区H;v3E2FS+AQ P H.J
{
:iq.s x XH(Fr|]0        int i,j,f,t=0;

#Tu,OW0Va0

!Zp&nmQN0        for(i=2;i<=100;i++)LUPA开源社区(RX;E;Jm[%]+k#_
        {
y4T-K LQt8E@a0                f=0;
{:A{ bm~;E*W0                for(j=2;j<i;j++)LUPA开源社区x.}[ p+vV5E? G4E
                {
m7BWzD#~0                        if(i%j==0)LUPA开源社区l8V:Uk1_D
                        {LUPA开源社区*T v;n-D.[mk Ko
                                f=1;
j|k&ogY4ncN Q0                                break;LUPA开源社区:iTWv.`)Yh
                        }
mU6d#wLI"J0                }
^0h2u s:_:z0                if(f==0)
i] `{b P']:d0                {
qwh+L6O"d&J7IJ0                        if(t==4)
zC/ll0IT N0                        {LUPA开源社区KMkPNGw
                                printf("\n");LUPA开源社区8H*B+d,o!RpL"o2vmO
                                t=0;
"Z"} wIc0F5t0                        }LUPA开源社区bFnO,HG
                        t++;
5E:oZ9M}@P+S7@0                        printf("%d      ",i);
d)h5DEf$Z3K,p7w_7h/v0                }
a%Vz,g.Af-D/L/~5k0        }
;b,~WdL#y6ua0        printf("\n");LUPA开源社区[ml-Ie4\Z @
        return 0;LUPA开源社区3]*m&`\+?
}

9U3v-N0TQ0 LUPA开源社区0H S.gL)m%n(M/v3c

 LUPA开源社区WN-U B`+le c

'k%yE'wLA'll.L0 LUPA开源社区)wRz w^Na7\3A)G9J

LUPA开源社区3Ejp1W)n6|0vG:vgd

 

4_ ~$pfQEZp{0

I5^0zCDC?;E018. 用指针数组实现:在主函数中输入10个不等长的字符串,用另一函数对它们递增排序,然后在主函数中输出已排好序的字符串。
k%_)V t~%[0# include <stdio.h>LUPA开源社区\7Y^'` v
# include <string.h>LUPA开源社区5z$qI8vt.laZ
# include <stdlib.h>LUPA开源社区@v @_u'k;@7p1P-G:B @

"an \.zoj.J0void sort(char a[10][255])LUPA开源社区 NA_}%I9B"\
{LUPA开源社区;[0~v[ m _ Z&K
        char (*p)[255];LUPA开源社区g'pSmDo%}
        char t[255];
x#H vN ]0        p=a;
B&p/mYbe0        int i,j;
P.Y'Z7C(`l } @)C0        for (j=9;j>1;j--)LUPA开源社区U&z;f\:W/e3N8W6]p
        {LUPA开源社区r{1b*WTy5b
        for (i=0;i<j;i++)LUPA开源社区2n|j F3s~)K
        {LUPA开源社区(Ij#PJZGx
                if (strcmp(a[i],a[i+1])>0)
/}+hzu-x"n~0                {LUPA开源社区0kp]8P:[*U
                        strcpy(t,*(a+i));LUPA开源社区dZQdi"_d
                        strcpy(*(a+i),*(a+(i+1)));LUPA开源社区1]:|7wQP6`A&~
                        strcpy(*(a+(i+1)),t);LUPA开源社区s:K1CvGU
                }LUPA开源社区^q7zOB7q V
        }LUPA开源社区9k"rK%f7rc2v-s
        }LUPA开源社区z}2kK)}6~x(L'Q
}

zHo+b x"|;t0 LUPA开源社区4Zu%Qd^ B6Vr5D!H3x

LUPA开源社区 l#K"JcE"},{]#F
int main (void)
`%@f){2E.E V0{LUPA开源社区2Xv'VQdlL
        char a[10][255];
x R6Ld{&U6d!co/]g2z0        int i,j;
%t;s ]ba~0        char (*p)[255];LUPA开源社区1iKBf(B0ptS1CD
        p=a;LUPA开源社区w']oO#B^

g,{!f$UE+I Q0        for(i=0;i<10;i++)
!m'S.Sw%M F8vT#UQ5V/\1k0        {LUPA开源社区5bpQ4x&J|$R|K
                printf("input string %d:\n",i);LUPA开源社区R2zwUEY
                for(j=0;j<255;j++)
hy(b4NU&Nad3@0                {
$T.t2I_-V dB)_;y E0                        scanf("%c",p[i]+j);LUPA开源社区9y*J:fl$Bm2m y
                        if((*(*(p+i)+j))=='\n')
"{:O,I`o0                        {LUPA开源社区$rJ0B%H7]y)V
                                *(*(p+i)+j)='\0';
D2]'e(i+w~6G O0                                break;LUPA开源社区jZ c Y1x1X2q?
                        }LUPA开源社区f-X9q1p~.@n+kUc_
                }LUPA开源社区{(w}.Q ?PW&tMsW
        }LUPA开源社区X} FFd|
        sort(a);LUPA开源社区F8xNL$g%q*E

{z$Q3g3J G(YQ6N0        printf("result:\n");
6R%iNJ+[ G5}y0        for(i=0;i<10;i++)
8iGn Ry+B.e \9ZUq0        {
Un1Z_|0|,{0                puts(a[i]);LUPA开源社区,m6[2a+qNXgg
        }LUPA开源社区N*\^-W Zb(VI h.]s
        return 0;LUPA开源社区9PeIc0Y
}LUPA开源社区zT.vq Ku,S`7x

4vPg k^,VS0 LUPA开源社区/vt!X(] [BM

Rl[DsF F4E S'_ O0 

x(_*? g*b(~-al^w0

U jU'|:J!O} F _0 

um N \ S4h;p!SgR0

9u~.CFI&pz019. 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。 已给出函数的首部,请完成该函数。
%H]i3|!SF Bh9m:WH0    注意: 部分源程序存在文件PROG1.C文件中。LUPA开源社区d0y`-RKE%vc/z7hR5m
    请勿改动主函数main函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

2AM)x0}d)]f ^uQ,~0

8\ \US@V0#include <stdio.h>
+U1?Tx.GG;Z[0#include <string.h>LUPA开源社区7Q&k+K|]!}(O
#include <conio.h>LUPA开源社区&t)I0k0]_9aY
#define  N  10
FL R$t3eI(Ui/J[0typedef  struct  ss
?&`X%m!Ur*y0{  char  num[10];   int  s;  } STU;

7z"`r q"Jw A4P"A0 LUPA开源社区&u ^iB[I`6W

fun(  STU  a[], STU  *s  )LUPA开源社区wJUyj7mTy
{
Y@&kn a8P O5Q0int i=0;LUPA开源社区;Qo*a([-VjX3x.m
        (*s).s=a[i].s;
/gLMd0JKh0        for(i=1;i<N;i++)LUPA开源社区o KZ$GxN"`
        {LUPA开源社区(w#}w oEB-\7nI
                if (a[i].s>(*s).s)LUPA开源社区8x(f9G0s6hZ N
                {LUPA开源社区#m`/To{^!|
                (*s).s=a[i].s;LUPA开源社区 t!Y'U#Ibi}
                strcpy((*s).num,a[i].num);LUPA开源社区\9m @2@LBVD'a
                }LUPA开源社区!t#j0m V.J/T/z.k
        }LUPA开源社区Z w7x5K,`6Q(o&w)w0K
}

:V^"{m;O&C0 LUPA开源社区"Y RiT7^&~T-j

main ( )
$y1D{ `Q0{  STU  a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},
n"w-zf yG0        {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m  ;LUPA开源社区] A]A)lzhQ
   int   i;
S`f6gyDj_0   clrscr();LUPA开源社区J)F#ct*T F3LK6r\
   printf("***** The original data *****\n");
O8r'G3YX |&]+K5C0   for ( i=0; i< N; i++ )printf("No = %s  Mark = %d\n", a[i].num,a[i].s);LUPA开源社区_?6LEcn9X2g
   fun ( a, &m );LUPA开源社区-{(Q9`3iE#KH3|E
   printf ("***** THE  RESULT *****\n");
J(l?n&N0   printf ("The top  :  %s , %d\n",m.num, m.s);LUPA开源社区6hH'LwF
}

B\Hv%k0bs| M5k0V0 LUPA开源社区:Q/gt&dM4f

 LUPA开源社区{pX_$]

+^ QGBKru+N{TD0 LUPA开源社区0Y,A:z.Xc)Q1GC

`u;Abd Co!`020.从键盘输入一个字符串“Welcome to Heilongjiang University!”,将其存入以“well”为名的文件中。并将刚保存的文件的内容输出到屏幕。
,uX+AxC{u0# include <stdlib.h>
5\#r%cZzy-z do#U o@0# include <string.h>
Zb)F-N}0# include <stdio.h>
6aJ#_J^RE W\0int main (int argc,char argv[])
H |x0w"s6]-CS:w'o0{
[!\ T {C|_%U9F0        FILE *fp;LUPA开源社区4\` k+Z~9Xt
        char str[256];
d&mEX3Rj"t0        int i;LUPA开源社区 WOh$J f!Fh k"cg
        if((fp=fopen("/tmp/abc","wt+"))==NULL)
6jp(t9Id5[4O v0        {
R.{2zm w0KhB;Pv0                printf("File open failed!\n");LUPA开源社区 N-U:R [5g2{
                exit(1);
8jI'j#[D0        }LUPA开源社区#w3lMr6uH1P%W

LUPA开源社区-N;~K%[ F-] h[4V

        fgets(str,50,stdin);LUPA开源社区 S;nF$C&j4L
        fputs(str,fp);LUPA开源社区o;q,b g%gW
        fputs(str,stdout);LUPA开源社区Q7Q\,f+Z a9JSg:K
        fclose(fp);
t{&h8D by7~:bn0        return 0;LUPA开源社区2N3NW_ j
}

/PDWH7aZy0 LUPA开源社区i#L Qf1J

 

~5`0o8j_0 LUPA开源社区*Dbl [\S

 LUPA开源社区hRIk}!@'U#g

LUPA开源社区)ya!DP-aQ4Sr$r ? h+L

LUPA开源社区 l YJ {q0g A;['w
21、 编写程序,它的功能是:计算并输出下列级数和:LUPA开源社区#~Nr{4G1j
          1      1            1LUPA开源社区1bK@uU-T
    S = ── + ── + … + ───LUPA开源社区'M \7ix'k#LmI
        1×2   2×3         n(n+1)LUPA开源社区6T Y m;].|8h
例如,当n = 10时,函数值为:0.909091。

JeYB(]j&@%B~\0 LUPA开源社区1U o Jw,qc

# include <stdio.h>LUPA开源社区;S w(cy"rRwO6u
# include <string.h>
A,| gV#fen i(R0# include <stdlib.h>

)x#O2A4l O2?0 LUPA开源社区$TgYHyR'^?/p N

int main (int argc,char argv[])
yah@X2h_f0{LUPA开源社区v9VO-eG(B0\
        float s=0,i;LUPA开源社区W6g6R8esH
        int n;LUPA开源社区 ef;cTy9c K
        printf("input n:");LUPA开源社区 D9a8BG%E*I.w0?
        scanf("%d",&n);LUPA开源社区 Q}S4{ Ms@w(w
        i=1;
Px#oEp0        for(i=1;i<=n;i++)LUPA开源社区4}1j&v$IO*rM.u.x
        {LUPA开源社区OF%{)e8i2etam
                s=s+1/(i*(i+1));
0s N+A*[!^&C.l+s4[5M0        }
"Ljh7[#h`/z&K+x0        printf("s=%f\n",s);LUPA开源社区kWFc B/K7z
        return 0;LUPA开源社区 sAd l\
}LUPA开源社区/F]5nH3Oc,ip\ {

LUPA开源社区y5d-z R*\-I%Z3A-Flp

 

_'Q0Ge!Z,o6d:Q M0

#ya#gF\4i0^(X0 LUPA开源社区CWN6n8E

LUPA开源社区(@mY%wE|n$J

LUPA开源社区:m#PX9Xg
22、编写程序, 实现矩阵(3行3列)的转置(即行列互换)
CPt f6L v8W+g8V_.}0    例如, 输入下面的矩阵:LUPA开源社区T7H4xp9q!g;j
             100  200  300
QE` GX(kF0             400  500  600LUPA开源社区Xr(jQ"]k Q U"\0t
             700  800  900
;i(^!U`7GEXB2Q0    程序输出:LUPA开源社区9n/s0e*Z~A#d!Y
             100  400  700LUPA开源社区M#n}8Z};nw
             200  500  800LUPA开源社区R"\LR2OI
             300  600  900LUPA开源社区 } ^e Z\"BR!^M

LUPA开源社区t#zb2P&~*Y%l(cl

# include <stdio.h>LUPA开源社区4R7dAT+i+Sv-l^
# include <string.h>LUPA开源社区'R(L#QP\
# include <stdlib.h>

T'G)] Na j0

4Om vid/i_8K1`F2s0int main (int arvc,char *argv[])LUPA开源社区3t*O GY WV~3l&A X~
{LUPA开源社区W `i7xT(@-ng!g@:Xv
        char a[3][3];LUPA开源社区Zkh2Z\l2h2a
        int i=0,j=0,t,m=0;
*_7r$C*b Bh%VHX"h0        printf ("input source string[3][3]:\n");LUPA开源社区.|k9OQ8]?w

LUPA开源社区U!r^4ci6f\

        for (i=0;i<3;i++)LUPA开源社区z ~S&|e
        {LUPA开源社区&cujhe`
                for(j=0;j<3;j++)LUPA开源社区$o6p\4b7{E
                {
8`B]7wnw Hl0                        printf("a[%d][%d]:",i,j);LUPA开源社区:R kdV U)x
                        scanf("%c",&a[i][j]);LUPA开源社区#L[(hU;]P4e;c%z9v%E
                        getchar();
L!FC&g7P&` R uN L0                }
0XnsIh K0        }
_}R3Y'e U0        for (i=0;i<3;i++)LUPA开源社区o%yJDF|q7M
        {
C'D^ y8H0                for(j=0;j<3;j++)
$E-J&NyUxuYy Cg0                printf("%c\t",a[i][j]);
/LO:DhP;iS/J0                printf("\n");LUPA开源社区%BZU @mx!N-BI }
        }LUPA开源社区QO^+P0W En'b3U!^

b]$PG9HZ}0        for (i=0;i<3;i++)
'rcE]@E4I"d0        {LUPA开源社区[Y ~#a?D(T
                for(j=0;j<3;j++)
n:Go6YQ0                {LUPA开源社区*V:Q.K x2@d
                        if ((i+j)>m)LUPA开源社区F/H0d*FM k \ sJ
                        {t=a[i][j];
T9j!|8o#X\CWQC0                        a[i][j]=a[j][i];LUPA开源社区$no m0K^m
                        a[j][i]=t;
/j'l@2d+N Ad7^ G+Q0                        m=i+j;}
5cQ&{Qw p0                }LUPA开源社区|^ab)i:o:xy
        }
*~lI7D$yTk0        printf("turn to.....\n");
'O0R"HcT;g[-Q8pre0        for (i=0;i<3;i++)LUPA开源社区l;e9IZ&Ic3|5l h
        {LUPA开源社区gzob*y'j/f7~
                for(j=0;j<3;j++)
P3ZT7tI]9V'O0                printf("%c\t",a[i][j]);
E[Be5`0                printf("\n");
+_^$dJ gZ"U0        }

6O&P"JI8}5vH,o/D9y5\0 LUPA开源社区(d+D'FO+h4E8M NcZ j

        return 0;
Fy\M3sS0}LUPA开源社区4c\ k;IC+V W

@(H`B.`a0 LUPA开源社区|)m-@ \&P5@ n SR

AXg)RuO"s0 LUPA开源社区#Ir B h |x V9p/L

LUPA开源社区 R%dI7y7tv2h M@


hv:JM!u$M023、编写加密程序,输入字符串,按照如下规律输出字符串,A->E,B->F,C->G…W->A,X->B,Y->C,Z->D,小写也按照相同规律变化,其它字符不变。LUPA开源社区*D0h)YEV"tZ }

/C9ID_!R z_a7E#[0# include <stdio.h>LUPA开源社区{+g7I"{9H[S Yi
# include <string.h>LUPA开源社区&[n?j+G"s:f2n
# include <stdlib.h>

2ar;`X*T2rl3i0 LUPA开源社区l%_LDjhp

int main (void)

5a ](tP$m%RCF0 LUPA开源社区&j6po5H%_

{
a.k%l J8hu1U,B0        char s[255];
-K^4U;~ UP [:f0D&W#o0        int i;LUPA开源社区*i$Et'{0O8MN c
        fgets(s,255,stdin);
1y9SJ_l2m@T0        while(*(s+i)!='\0')LUPA开源社区7S({7|pt;g{F^&B
        {LUPA开源社区ga!~9U"gz
                if(*(s+i)>='A'&&*(s+i)<='Z')
H+wt pLUR!P0                {
UZ+z7Rc3rr0                        if(*(s+i)>='W'&&*(s+i)<='Z')LUPA开源社区|:bq3}j X{J8O1e ~ X
                                *(s+i)=(*(s+i)-87)+65;LUPA开源社区dv%l Z7mg|(bk
                        elseLUPA开源社区_k;_*pk H3VS fU6y
                                *(s+i)=*(s+i)+4;
mV k]!aRq1]W/T|n0                }
}QY @.i0                if(*(s+i)>='a'&&*(s+i)<='z')
)r#^-B ML;u[2B-m(c0                {LUPA开源社区 ~W h-iLdE
                        if(*(s+i)>='w'&&*(s+i)<='z')LUPA开源社区)Oa,Nt2FG!x9f!Y3n8X2W
                                *(s+i)=(*(s+i)-87)+65;LUPA开源社区 ~:Dy LZ3|.O6v
                        elseLUPA开源社区@%[u/]{
                                *(s+i)=*(s+i)+4;LUPA开源社区R#l5Z h3]2_uE
                }
u%W[(@:T/O0                 i=i+1;
H7|&_*x m*u@b0        }LUPA开源社区h@z8s:w3L
        puts(s);

/ma iK-I0 LUPA开源社区-MN.Gl|-Q

}LUPA开源社区s2rq!FI cs T

hV9Az ZE6xs4i0 

!~.} [r)l'm0

.K!K Q!zJ&IFu Jm0 LUPA开源社区/Q%t&O$garYw

h2x_CcD0 

m_:}3qe P/h-dt1P U0

M#e'D3b \(U(Vko024、本程序的功能是,求十个浮点数的平均值,要求,实现fun函数(包括形式参数的定义,不要改动主函数)。LUPA开源社区 w`0q&Tf_
#include<stdio.h>
R;U$JW3|Y4Y0fun(float b[],float *c)
,P+s'm9e;[w.U0{
zCA3p*F0        int i;LUPA开源社区vATi4] Dtm K4ZI
        float s;LUPA开源社区;tv9V+w'X ^2u
        s=b[0];
$^a9Mdy(t0        for (i=1;i<10;i++)LUPA开源社区G/}llFyv
                s=s+b[i];LUPA开源社区i @)\1l rH&X o7i-n
        *c=s/10;
l7T;}y\(G vTA e0}LUPA开源社区3{ J0Pg7X(B
main(  )LUPA开源社区8lDv#^wy8C)JE$N:E
{float  a[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0},ave;LUPA开源社区~G)L `c+x)o!`/z_
 fun(a,&ave);LUPA开源社区U8Yz J:i`5K
 printf(“%f\n”,ave);LUPA开源社区8R u.E&F`)l4E
}

gl:}Of5ck1[0 LUPA开源社区ng"z y K0]4bj

 LUPA开源社区P%Z L%{.WY\:y

'mDjo3Q2c ?0 

u)|H!MM tLR9t)zMp7C0 LUPA开源社区)T wq _*qK#a0iF

LUPA开源社区.E }r7I3ttCtg
25、编写程序,功能是将输入的任意字符(输入时遇#号结束)保存在以TEXT1.TXT为文件名的文件中,该文件保存在学号文件夹内。LUPA开源社区,?G j+^,rE:{z~4o
# include <stdio.h>LUPA开源社区@IG2m o)FW
# include <string.h>
"p.kqw+?b0# include <stdlib.h>

"R+{9I},Y me$n&W!X0

._7N"bTX!u7P0int main (void)
EwZ:B QY_(BL |n6}0{LUPA开源社区4jvOo{1R1\7H
        FILE *fp;LUPA开源社区;F7A-c"fCn
        char ch;

v(l!NJ Z0

(P3T?S&D6HS;X T0        if((fp=fopen("/tmp/chen01/TEXT1.TXT","wt+"))==NULL)
_9i:t'f*Zk_0        {LUPA开源社区3w.?{.rys
                printf("open file failed!\n");
.}f0j]$n9J:^!Y0