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

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

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

7Vv}C.^1U0C语言期末上机练习题
v$N](@kK,e01. 给定一个整数,判断其二进制形式的每一位的值,当某一位为1时,输出其所在的的位数,右端开始为第0位。LUPA开源社区k6s xQQVK j

LUPA开源社区U:Uhlw!En

# include <stdio.h>LUPA开源社区H si5vi+tQf
# include <string.h>LUPA开源社区o @'m g"_-ka0i)^
# include <stdlib.h>

cc L k#M(B:[0 LUPA开源社区S#RKaH(F

int main (void)

xHnp*y`T8fb0

T*NTB?c)K1D0{
,Y2E1H,XTG!Ys_0        int num1,num2;
&d+A+{C8lNT O)r s0        int init;LUPA开源社区dMYt jgV"@

LUPA开源社区N&U,q&_a*A [ M

        printf("input a number:");
6PA.GjY3},T0        scanf("%d",&num1);LUPA开源社区^\.d{WVU;Q e

LUPA开源社区Q-yqQ0Q/~r

        for (init=0;init<=15;init++)
LV:W(k[2D0        {LUPA开源社区j+qb;A5wq
                num2=num1&1;LUPA开源社区:TUb%vT P
                if (num2==1)LUPA开源社区5K1F,T8d[ s_
                        printf("%d bit is 1\n",init);LUPA开源社区A)k v lTFI
                num1=num1>>1;LUPA开源社区c8[D^,_
        }LUPA开源社区,zL$a%D#II T5@%P,p
  return 0;LUPA开源社区 CUsV1~v"a
}LUPA开源社区 bNC;p5g6K

LUPA开源社区*Lz^-N0B_ Ep

 LUPA开源社区7SE(v;U1m4RE!D

LUPA开源社区3t4Yf-Su K

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

)C a^ t e ?O A0 LUPA开源社区8C8f*WI@m#D'J#X*F

# include <stdio.h>LUPA开源社区 nM(Vz%K&{5p9_+N
# include <stdlib.h>LUPA开源社区a&sc|,D-Ifai j S+K
# include <string.h>

$V0h5zF oQ[0

c _9tX*?+|V/@Z o0int main (void)LUPA开源社区-I(~?-t6a7[P+m

LUPA开源社区&V"}2],~SY

{
LCd"n@Gu3C0        FILE *fp;
.B+GzId0        char ch;

Koc/YAz @$I"h0

+vV'{r~0        if ((fp=fopen("/tmp/dx.txt","wt+"))==NULL)
:e3Y0i8{.o0        {
(GK9K5ifVZ*kK0                printf("Cannot open file strike any key exit!");LUPA开源社区0xH9{D%[.m^'O
                getchar();
&z Zebc0                exit(1);
p5K.r0J(n$o)P%aW0        }LUPA开源社区+uO[%K'Jp Q!\

2C{%^*P"f K5f)U0        printf("input a string:\n");
!yW l.Jty6x$z!H0        ch=getchar();LUPA开源社区PE;?%} |&x,i
        while(ch!='0')LUPA开源社区XI{7{u4QV7Y
        {
WXoii&O2um-S0                fputc(ch,fp);
&f#x'm1B!ii8Z0                ch=getchar();
.E*OmM},v6K-td9E0        }LUPA开源社区i,M6ZB+Y C*w!a?-_c
        fclose (fp);
gi$\_;KJ Z O'wQ0        return 0;LUPA开源社区Q u"NoXm
}

0H(s-|uw.b0 LUPA开源社区Dq0m&T9S1B Y

 

D`5X]4Qn0

1@Gb4hj0LUPA开源社区\1pSa(xs:@:i[
3. 用指针方式实现:从键盘输入10个2位整数给数组a10,计算并输出其中奇数和偶数的个数。LUPA开源社区XD Js$w)w
# include <stdio.h>
5b5j v5~0?R0# include <stdlib.h>
4Ubl+Q6Y0S0# include <string.h>

Sm @dOk&s0 LUPA开源社区%P{.W(` g.?

int main (void)

S#\M0d#hebz N7N%P0

lKwJ$Y'}4}K$B-Dr xx0{LUPA开源社区:zO*LV S4dTP
        int *p1;LUPA开源社区.K0D^HP5{ph
        int a[10];LUPA开源社区6\2E{;Z X.tf
        int i,n1=0,n2=0;

~ aFW\0 LUPA开源社区m G%|K#C_

        printf("input 10 numbers:\n");LUPA开源社区k8Y3JD'aT
        for(i=0;i<10;i++)LUPA开源社区@#K$Z NU`ua)|
        {
"J7PC-^w&D0                scanf("%d",&a[i]);LUPA开源社区S Z(Nlbt,Z0h`X
        }LUPA开源社区c-Dwx:YkiOe
        p1=a;LUPA开源社区\}tDw0\SW
        for(i=0;i<10;i++)
s*[)r d6i9e ^0        {
1V,Ysi gG0y*CV0                if (*(p1+i)%2==0)LUPA开源社区"~ X4Quo\0ur
                        n1++;
_%T6};k"u`,t(d/Qj(N|0                elseLUPA开源社区]*`g#LuK }
                        n2++;LUPA开源社区j z)} vG J u3}$]
        }LUPA开源社区q$?+U,?T0c@Wg
        printf("number1=%d\n",n1);LUPA开源社区;l ]e8F4XNP2p
        printf("number2=%d\n",n2);LUPA开源社区nE Tj;VebK
        return 0;LUPA开源社区:W[.~\B,A [
}

+O/x`5[X0 LUPA开源社区E"JXPP(b1`~@T

 

']Z1E GN+gW0}D0 LUPA开源社区JE P(aH `

LUPA开源社区 PqKqfR\.d8yL+N:y
4. 列出0~10000之间的所有其各位上的数字之和等于10的数。编写一个判断各位上的数字之和等于10的函数,并在主函数中调用它。
@K/VA$w.T6m0# include <stdio.h>LUPA开源社区.|wI t N;rHN/EjY
# include <stdlib.h>LUPA开源社区,qgX"? uPu
# include <string.h>

L q6qeO!}"Ig0 LUPA开源社区Z*S?r3h2c:hM

int main (void) LUPA开源社区*j8RggP'p$E

LUPA开源社区B(ReW{P

{
J;R5uR;y3|%~ e0        int i,j;
8HE^|/v+A_0I0        int fun1(int i);
zrzu[w\OZ0        i=0;j=0; LUPA开源社区+O A(M7TY-Q\

N6p,i.hpn0        for(i=0;i<=10000;i++) LUPA开源社区#f Q'F:L)^o"_3R/Hnm
        { LUPA开源社区/DL$V$]1O+Cl$R
                j=fun1(i); LUPA开源社区'\L'iORE3j
                if (j==10)
t^ i w8Y5U0                printf("result=%d\n",i);
Tc$NkF0        }
R/Zju M{0        return 0;
fT(_#x[u#Sz0} LUPA开源社区|)` r:po.T

#k2^+D'_ p0LUPA开源社区MoN&Fp'klb$K9bOq
int fun1(int i)
8E D-oQoT v-Y0{
g$Ya,\ h%hNY#iA.f sI0        int k,j,s,n; LUPA开源社区t5K S9X0n4M-B
        k=0;j=0;s=0;n=i;

$Q8A\6swh7A~2\0 LUPA开源社区F-rSE'J

        s=n%10000;k=n/10000;j=j+k;n=s; LUPA开源社区-|!{3TzM3t%d5H"C SEh
        s=n%1000;k=n/1000;j=j+k;n=s;
\"B/j5Ze0        s=s%100;k=n/100;j=j+k;n=s;
6_)W6m._+P c0        s=s%10;k=n/10;j=j+k+s; LUPA开源社区0qrzE8B.q
        return (j); LUPA开源社区F_ mUY W-bu
}LUPA开源社区4Q(t4~2Pu+iv

LUPA开源社区2^e0h UBX1zFr'm

 

t*E#zC;gT1o~5}0 LUPA开源社区 n^`5g$cd(N)i.D6`W'_

 

rP3ws?0 LUPA开源社区2K6eZ&JBi^a)zi$?6}

 LUPA开源社区6[ pe"kM~&qG)Zc

,VY#E;Y[;z05. 定义一个结构体类型book,包括成员:bianhao,bookname,price,next,动态地形成一个有5个结点的链表。LUPA开源社区*Z9m"`jxX;}
# include <stdio.h>
Vz)|#^P-fO6| cz0# include <stdlib.h>LUPA开源社区;z DP2nc W1w-P%KK
# include <string.h>
U na'vH/O0# include <malloc.h>LUPA开源社区!g(]w5[n

LUPA开源社区_d ^0\*HY;R:D ERh!a

# define N 5LUPA开源社区/S"Y1O#lpp'BR&br {n

LUPA开源社区1u8W3FoEez

typedef struct nodeLUPA开源社区.T-d#AZwM6Ogp
{LUPA开源社区|jd2zM a
        int bianhao;LUPA开源社区\:{y e8X*Q*G
        char bookname[30];
5c8_\ uW^ FC9G0        float price;LUPA开源社区K.vO2k(i8z
        struct node *next;LUPA开源社区I.v'j M NQ#KL
}book;

_mpA3q"y5A?DcU'w0 LUPA开源社区&@7G|9y!yN!Zy


S d4t#^J{0book * creat(int n)LUPA开源社区d b*S\-fT6}z&Z
{LUPA开源社区P:V\U,C4T'?
        book *p,*h,*s;LUPA开源社区F"Q ^0r_;srs S }~$n
        int i;LUPA开源社区f7yvk(S_*S`
        if((h=(book *)malloc(sizeof(book)))==NULL)
2^#Td*L7f7Wz Fz0        {LUPA开源社区x1E1H$Y(^4g
                printf("不能分配内存空间!");LUPA开源社区%I;x@f]m
                exit(0);LUPA开源社区,M$Z3i4x(eHqu1u
        }
:~'p9A`6J#CF0w0        h->bianhao=0;LUPA开源社区 ^aG?c
        h->bookname[0]='\0';LUPA开源社区f6PM~R`(Q4}
        h->price=0;LUPA开源社区s YzL$yiS
        h->next=NULL;
JKMS@YU0        p=h;
@` b c5bs)l#B0        for(i=0;i<N;i++)LUPA开源社区Ah2Vu1c d6_
        {
3A5~ Z F |o0                if((s=(book *)malloc(sizeof(book)))==NULL)LUPA开源社区0?g3E+t)J.xf!`!I
                {LUPA开源社区%S7CLh2^(x)b$z
                        printf("不能分配内存空间!");
&^R-u,f!]OQ!k*Bp(} S%u0                        exit(0);
%Hp7T3n2]0                }LUPA开源社区J U^|A5rTd
                p->next=s;LUPA开源社区+cow#rKU
                printf("请输入第%d个人的班号:",i+1);
|L[5H%yF O:{$^m[0                scanf("%d",&s->bianhao);LUPA开源社区:O(_/X{ip!zP
                printf("请输入书名:");
bzBlrb5S4?*p0                scanf("%s",s->bookname);LUPA开源社区{H&|SH5OP
                printf("请输入价格:");LUPA开源社区%W/nfK0}2s'l"p
                scanf("%f",&s->price);
9Y6{4y.f}(DGtj+h0                s->next=NULL;
5h?$IzQ/Rt0                p=s;
tW$rj1EMO0        }
ys \ x9V7q5q0        return (h);
Q _FCV0}

&Au._/R7S@0

6u])V[ A^/B%{.V9Ie0void print(book *h)
M Oj`UQ(f"Q0{
*syy)ZVZ'|)|_X*QM0        book *p;LUPA开源社区jU#X]_Y@x4[
        int i=1;LUPA开源社区 Iw O*qC;E%`w
        p=h->next;
:o)jT8G4x"?+O O@^@ r0        printf("数据信息为:\n");

-d9wLN!m0 LUPA开源社区Z8pw @9Dg7V9TG

        while(p!=NULL)LUPA开源社区F a r0z+u/| A*`Mm
        {LUPA开源社区EE{,?zY*N4b
                printf("第%d个人的班号%d\n",i,p->bianhao);LUPA开源社区O NFp~c$Zx+N1z
                printf("书名:%s\n",&*(p->bookname));LUPA开源社区UR5L(P+o6g;Bm
                printf("价格:%f\n",p->price);LUPA开源社区~tzDWm
                p=p->next;
r f&`"r%[#|$V0                i++;LUPA开源社区9OE8L[nJ*e
        }
9Ex&e8I9C Cvq(x0}LUPA开源社区H(K }2E4ajs z7J-|

LUPA开源社区~b;I4F&z5]/_

int main (void)

5M_h^-ueC2[9Q0 LUPA开源社区"Y)~N.f-T!Q

{
[cR4?lBK:@0        book *head;
jB'G[ Hu7[.TR"QX?0        head=creat(N);LUPA开源社区,eEV#W'Q^Y
        print(head);
XuW(`i~$P0        return 0;
y2AJ%~ng)m0}

E"l u)`;y~0g*n:m9C#s0

-\y8?a#n2G0 

#hB2MT]6Ihj0 LUPA开源社区 N+b2|Ep-Z)uos_

 

_w}NN"g` fK$OL0 LUPA开源社区!X`)Dro Z)c/J

6. 输入一行字符,字符个数最多为30,写一函数,把输入的字符按ASCII值的顺序有小到大输出。例:输入cdfga 输出acdfg。LUPA开源社区,}1Zy:v8C Su2T6R
# include <stdio.h>
4b k3S [Q8g0# include <string.h>LUPA开源社区3|*A)_TDW
# include <stdlib.h>LUPA开源社区;zc8}g~|(L7T T

LUPA开源社区&h5o+e3Fnt4H~~8Y

void order (char a[],int m)
4dW9YWp+sh0{LUPA开源社区GH;Ft7Wq5{
        char t;
1@9b3l JjmVT#q)TU[0        int n,i;LUPA开源社区/ji'K.E+N7j(P? ^"p

LUPA开源社区(n.eElO K?

        i=m;LUPA开源社区$EhBa h'D
        for (n=i;n>1;n--)
5X[j6h\S/~RA+c_ r0                for (i=0;i<n-1;i++)
.PPP4Q;`Z0                {
]5~:J3T1k2Y}0                        if (a[i]>a[i+1])
[k Q%~A)M0                        {
["[%H\ \ _%S0                                t=a[i];
BKOy2D0                                a[i]=a[i+1];
TVs0?VQ/U0~0                                a[i+1]=t;LUPA开源社区 \2q'Y8WgJ)^ TH
                        }
(E0n gdaD1@.r}0                }LUPA开源社区%H,l:k:X;W}{Q%G

AFi!_:CC0        a[m]='\0';
.c"J7ij nv,Y0}LUPA开源社区VI C tWev~@jA

n!u&a]i[{0LUPA开源社区!q3I#[$x I0gT;uN
int main (void)

ga!H%t tS3@0

/J B2V;?tB|a)\0{LUPA开源社区+o,~0M)B{

$^+YrV7z1@7h0        char a[30];LUPA开源社区M%\"b)]+S
        int i;LUPA开源社区jUTfw ~7kI/A

SR/E0s Ka0        printf("please input char:\n");LUPA开源社区 }Yu5O%E K q?s3f3~e
        for (i=0;i<30;i++)LUPA开源社区/n/B0Qfx8D"h^
        {
5{7bH;}P NCr0h0                scanf("%c",&a[i]);LUPA开源社区3?S0aEtl\0v
                if (a[i]=='\n')LUPA开源社区5c6C$mBCmb0x bo+V
                        break;LUPA开源社区A:X/i(o*L#G
        }LUPA开源社区`Yy`e O)Fge1L

;u.j;E4Nv8\0        order(a,i);LUPA开源社区a'}/_nG
        printf("order by:\n");
4RWv:J m/J#I0        printf("%s\n",a);

!j4|K~8[C/}&Zl0 LUPA开源社区%cjl2^(Zhv%F9T!o

        return 0;LUPA开源社区 {X)~1u!O-I8{UjK6I
}

FZ'dal:U!b5`0 LUPA开源社区2q`] AU"S8B

 

TgF A[-g)ZA` w0

3A"v r Z(F ^?}a0 LUPA开源社区6t fX7jv8O/m,IJlx Q

LUPA开源社区)el Sr\0VN|C-} E


X*D&O7t)]-u \07. 写一函数,输入一个八进值的字符串,输出相应的十进制数。LUPA开源社区 Pa |f{ j
# include <stdio.h>
Z N-g7eB2q4[0# include <stdlib.h>
U,o dy8o;^l0# include <string.h>
ur3k,~1R'{0# include <math.h>LUPA开源社区.O/dC:]!k Eu Q

Csh P ?N0int main (void)LUPA开源社区0m!S x&_$pc2F

LUPA开源社区)]wUWc8tOb4f

{

.X vZ7?2S7\5io0 LUPA开源社区 ^ w-?T'u)h)f

        char a[255];LUPA开源社区N1n9y;m"}uu z
        int i,n,s;LUPA开源社区iaj bR7Di1w
        int b[255];
/~1l*M)RE~7CE0        s=0;LUPA开源社区VOw#}:Mdb6C"b
        printf("input oct:");
yPKham6C-Ljk?6R9B0        for (i=0;i<255;i++)LUPA开源社区otJGR%ltI
        {LUPA开源社区_9ja@ \@N~J
                scanf("%c",&a[i]);
N,M}6V[*O6el+Aw0                if (a[i]=='\n')
1n]O#T0i^xH0                        break;LUPA开源社区b2Y"N|9V$B)fE8o8[
                if (a[i]<'0'||a[i]>'7')LUPA开源社区y"A!Mh s5qwl
                        {
b0~z{m:^8Z$w0                                printf("input error!\n");LUPA开源社区^(|#|u$c
                                exit (1);LUPA开源社区iHo;{9`&aF:e6P
                        }
c"v-E2p?4y|dR0                b[i]=a[i]-48;LUPA开源社区(Cr.|(G)df-m
        }

B,wQv?w^ R0

O%YctBA"v0        for (n=0,i=i-1;i>=0;n++,i--)
oB2SO1hfth0        {LUPA开源社区&M9v&n-yG%v
                s=s+b[i]*pow(8,n);
t9g!p+uh0Fy$m0        }
)~M7Q,}Zfz0        printf("result:%d\n",s);LUPA开源社区)w$[k l9`

LUPA开源社区Q:q aQr"M8`

return 0;
Gtr'N{U'{W0}LUPA开源社区"r-N}2WL0gp

LUPA开源社区 }hk"_To

 LUPA开源社区4kRSvC

LUPA开源社区5F*ny1e`+Bb

 LUPA开源社区'gx bS't'j ])N

*a8H/D-Oy Nals08. 用指针法处理输入的3个字符串,按由小到大的顺序输出。
3Q K)n)A!q lS8H0# include <stdio.h>LUPA开源社区*}}"o0p/X+].D8g
# include <stdlib.h>LUPA开源社区*XgqJ'SW+O
# include <string.h>

:a^3w(K,|l`7Y0 LUPA开源社区nm$H)e%?P+V+P

int main (void)

3P6UFu-fU0

"h Ze?J f0{

`9kD~3~sX0

{snn!eN3F0        char a[255]="\0";
M1h)rS\@(b0        char b[255]="\0";LUPA开源社区 wi#W7^mpf$Y$h
        char c[255]="\0";LUPA开源社区)E)DS*K1J
        char *pa,*pb,*pc;LUPA开源社区\2s:Sl#K }
        int i;

\:O"unv\1O0

u9j+oU$Y V0LUPA开源社区$^ md&^*D8I
        printf("input a string:");
9Lg;v{4I0        for(i=0;i<255;i++)
!c-x q2Z Xy;lJ0        {LUPA开源社区5r3p R$^2PC*j
                scanf("%c",&a[i]);
(s` sE6[A-W J0                if(a[i]=='\n')LUPA开源社区3N$qbY @&S F{d
                        {LUPA开源社区 hY0W'q)sF`w
                        a[i]='\0';LUPA开源社区j)It(@f/U
                        break;
z}+TZ5R+ut4Y0                        }LUPA开源社区:o(q5d6Oq*{
        }
4{6X"y8NPY(g r1K0        printf("input b string:");LUPA开源社区a RK(U+zXa5V
        for(i=0;i<255;i++)LUPA开源社区0MP l/F!l!N"Q!s*\
        {LUPA开源社区`9XSPFSM!G Jb
                scanf("%c",&b[i]);
!f8UJ^wq0                if(b[i]=='\n')
C)NOL-U7cF/d1C0                        {
o0e k k!kA7\%r0                        b[i]='\0';LUPA开源社区-Hc wg%u6[+i
                        break;LUPA开源社区u G]&t9l_ K,}
                        }
2`"q0y~:DYE*a N%Qo0        }LUPA开源社区5tM_ L+wc"O4y G{B
        printf("input c string:");
"D;z$P:l],J0        for(i=0;i<255;i++)
S }Vr8p AG/O0        {
!S9_8wzr0Uuo0                scanf("%c",&c[i]);
*qy*vH4L%Z v6}+[0                if(c[i]=='\n')LUPA开源社区mv"r7_R
                        {LUPA开源社区t r.pD]:\5wNYC
                        c[i]='\0';
(M3F?;{*iI7J:\4H0                        break;LUPA开源社区v rVZ8Nn,j?4I
                        }
u%ZG.I1U$p0        }
JbU1hV9q#`'~ Q:k0        pa=a;pb=b;pc=c;LUPA开源社区1n,r8r~ XX p

LUPA开源社区2M8lB4s5oj)b

        printf("\n*******order by*******:\n");
H6L#g[!K0        for(i=0;i<255;i++)LUPA开源社区[1x[:f S2B9y t
        {LUPA开源社区"yC$j,I-B6MW N#Ca
                if ((*(pa+i))<(*(pb+i))&&(*(pa+i))<(*(pc+i)))
og,xO3x6{nSdt$a0                {
gj2q+WC0                        puts(a);
,lcun/P.X/D"v }0                        if((*(pb+i))<(*(pc+i)))LUPA开源社区z-g)T6W:K3Q)b&Fq(r{
                        {       puts(b);puts(c);}LUPA开源社区5j O(Wl g-W
                        elseLUPA开源社区?5x\dB0O
                        {       puts(c);puts(b);}
'TT-d0V6|9}!E0                        break;LUPA开源社区]G J e)I
                }LUPA开源社区j{uA4s q
                if ((*(pb+i))<(*(pa+i))&&(*(pb+i))<(*(pc+i)))LUPA开源社区8Ch+v mJ8J!o7c0}(b
                {LUPA开源社区2i%O @dm"s!i
                        puts(b);LUPA开源社区3TX F{P l
                        if((*(pa+i))<(*(pc+i)))
.~(t"kf,S O0                        {       puts(a);puts(c);}LUPA开源社区0z)Gt2z Jd#oB?6@7ag
                        else
1|*hNeT0E8Z.m0                        {       puts(c);puts(a);}
Y-H }7K8b5ua0                        break;LUPA开源社区d VnwI1?wY&o%v
                }LUPA开源社区[+W*VR~ u4j9Q
                if ((*(pc+i))<(*(pa+i))&&(*(pc+i))<(*(pb+i)))LUPA开源社区8q7f U ^1Pk g,w ge
                {
8}'B`CP/T0                        puts(c);LUPA开源社区L:?N@6? y*l]1o
                        if((*(pa+i))<(*(pb+i)))LUPA开源社区IT(T1Y b_?
                        {       puts(a);puts(b);}
T9{p(T9Nc0                        else
4E!I g Z&u0                        {       puts(b);puts(a);}LUPA开源社区~ Y]-q6n(q2?%`
                        break;LUPA开源社区D1z6@5~5[;OfA cE
                }LUPA开源社区gA kBp#?*~$h5c
        }LUPA开源社区 z#V'g F ma3q
        return 0;

iU]}0{#\w-nK0

X&B M,pb(Gf iX0}

M*c6}!Q@jY4@(CU0

'\U*i"]}&{ VgZ^ S0 

&Eoo"zY gK1y0

m1z ^q8G V+\3P0 LUPA开源社区bf_?)I

LUPA开源社区nr1k]xF:d%e

LUPA开源社区uy2hW4@
9. 用指针法输入一行文字,最长为30,找出字母、空格、数字及其它字符的个数为多少。LUPA开源社区$h~kA/D
# include <stdio.h>
]/Wes6|a`0# include <string.h>LUPA开源社区4W4|&hE?&oo
# include <stdlib.h>

I!K%wxd0 LUPA开源社区9HMp5xVI

int main(void)

9D!k6W hT/~K+Z0 LUPA开源社区g7k#U#X xMn3S#z[ E

{LUPA开源社区3C[Y9t-z[*D Og
        char a[30];
7^ zH _;K,F2\p|0        char *pi;LUPA开源社区OgO_ |#HL
        int i,c,n,s,o;
R#s,Tu ~Q0        i=c=n=s=o=0;

p pU"{{0i6]I0 LUPA开源社区#z^;IO%GJ

        pi=a;LUPA开源社区O5n!g-G5F7F%GqN
        printf("input string a:\n");LUPA开源社区za8I+k`N
        for(i=0;i<30;i++)LUPA开源社区mZw7^X
        {LUPA开源社区a'EC7?k M)s p`4D
                scanf("%c",&(*(pi+i)));LUPA开源社区J{5j_#X4^yI
                if((*(pi+i))=='\n')
sJxR-D!w\(]0                        break;
r2jMeWh0                if(((*(pi+i))>='a'&&(*(pi+i))<='z')||((*(pi+i))>='A'&&(*(pi+i))<='Z'))
3d_:o@7lR3f'Q0                        c++;LUPA开源社区8I4KO:j { }*R5IG h
                        elseLUPA开源社区hi `(p}t,J+f
                        if(((*(pi+i))>='0')&&((*(pi+i))<='9'))
q)Y#r1Vyo%c0                                n++;LUPA开源社区\wKb8S@2h
                        else
-S/leg _XgL0                                if((*(pi+i))==' ')
*t,x7S f+@0                                        s++;LUPA开源社区hih9` @
                                else
!rMu!e#H U0                                        o++;
I6W%^~2Qx/B-aZ0        }
7nQ.J4DkhW0                printf("character:%d\n",c);
1gqfW:N/G[R N0                printf("number:%d\n",n);LUPA开源社区2S'_9|%k!N{h)k5l-e
                printf("space:%d\n",s);
h4bd{ PG%wAL@P0                printf("other:%d\n",o);LUPA开源社区M%o'da U!m v

LUPA开源社区}"M7M2N@ }1N(R

        return 0;
0{mA rg q0}LUPA开源社区2J1{%Q!Z_

LUPA开源社区F"aL-`c `+z(d z

 

c)Z boL2~0

oJ5N5@!M,]4y0 LUPA开源社区4w:XAlt o9Gj

v4Hw5f]"\0@ IA010. 从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件“aa.txt”中保存。输入的串以“$”结束。
B f;]_$F3tm-sM$xnL0# include <stdio.h>LUPA开源社区+n_"?#gdH
# include <stdlib.h>LUPA开源社区,DLx-f|&g0H)~
# include <string.h>

w&t6ASinE;o1\h"I0 LUPA开源社区iJwqfVE)m*]%W3n

int main (void)

+d"k4T*eL0A;M,U8\#c0 LUPA开源社区!ao3w:^N!PiF

{LUPA开源社区{J6`*y w'J g[4z

LUPA开源社区 O;f.ko^ t9s1z!Al

        char ch;
D ?_,[2v`W1c'o'H1W0        FILE *pi;LUPA开源社区FBn3dE d*r

n;|~{2lDT0        if ((pi=fopen("/tmp/aa.txt","wb++"))==NULL)LUPA开源社区|P5K3l{&D
        {LUPA开源社区 sT$?C)O5A#Vx ?
                printf("open file error!\n");LUPA开源社区 W'}2u n9L'pQ'`[
                exit (1);
x-{O'q(C*ny0        }LUPA开源社区/w+ym9B?2] ` ~3G

W1_0LC"z QyZ0        printf("input string:\n");
w@9^*}W.i5t:MKsY0        ch=getchar();LUPA开源社区*P5PVc#R+Yc
        while(ch!='$')
)ll&H;w"DOPif gw0        {LUPA开源社区Hmq:z:z#V
                if (ch>='a'&&ch<='z')
xAIm-T,\0                        ch=ch-32;LUPA开源社区+s3w(Yx#Q^
                fputc(ch,pi);LUPA开源社区2r_s-u'C+F
                ch=getchar();
|1w tk&d,|0        }LUPA开源社区0~4]m q j*?]p.Z
        fclose(pi);LUPA开源社区6Y)G7i/zG
        return 0;

A@/g+H"w;@0 LUPA开源社区i?R"x K:Hr3Z

}LUPA开源社区cw-u&Z:O'w2L\

LUPA开源社区0rp8W;[9{

 

zW%J r(^+{'l]0g7l0 LUPA开源社区iUi5U4DC"]2b;A~#o

 LUPA开源社区%^2} ^3h ?{]

z S_s~%Rw4z0
I5DV9\.BX1t$V011. 输入10个学生成绩,成绩取值范围为0到100分,编程实现:去掉最高成绩和最低成绩,计算并显示平均成绩。LUPA开源社区5V&N,R0w6H[6|5xpf
# include <stdio.h>
7mZ8}Q/Y.F.t0# include <string.h>LUPA开源社区/m:a4MHs/um
# include <stdlib.h>LUPA开源社区a-vhW2n

LUPA开源社区4_0Di'A!D^ S

int main (void)LUPA开源社区l0T3z*cC6bw Z]

BrK0?}W0{LUPA开源社区 Vp$QF7W#E
        int i;LUPA开源社区(gJp h+E)tF
        float max=0,min=0,avg,sum=0;LUPA开源社区[H0WbL0N
        float a[10];LUPA开源社区&z%E:jO JXl/l;G

LUPA开源社区 O!ID1yS:t+a5o.e

LUPA开源社区gIH8blkE+{(D
        printf("input student score:\n");

1MWe"C-fC P0

jK-M @w&R1_L0        for(i=1;i<10;i++)LUPA开源社区8tT0{1]Zf.WaC
        {LUPA开源社区gx*J[$GJ9R
                scanf("%f",&a[i]);
?At y q6@#S.FVc!W0                if (a[i]>max)LUPA开源社区t+{T"o0a
                        max=a[i];
/D k$B/m-})[q(eW0                if (a[i]<min)
_|"oC$J6r0                        min=a[i];LUPA开源社区U y-d@Cy9_
                sum=sum+a[i];
R^Bn9e\Jq N0        }
!HI5F"~]Y0        avg=(sum-max-min)/8;
3z_ g5S Yje2a0        printf("average:%f\n",avg);LUPA开源社区} y-DcQ

LUPA开源社区M+F3f!YzoX9NlP

        return 0;LUPA开源社区"Y2M2o K0X k3q
}LUPA开源社区:sq V ^/h+[,~B

cZ&ZIw#oNA*K,i0 

)ZwE([N'W0@0

+X-h_2x3m9z(nV2k2j:P0 

t^y4dL L0 LUPA开源社区:^?!a C+Z~}+w7W

LUPA开源社区J KU9@S
12. 先定义一个排好序的数组, 然后输入一个数, 插入其中后使其还有序并输出。LUPA开源社区!q(Y#h dF.D

LUPA开源社区O[EI0zo

# include <stdio.h>
?$E M X0?U Q9s0# include <string.h>
Jj @8TIE/n0# include <stdlib.h>

lQ/m"B1M5J.F4Wh&A0 LUPA开源社区D m:Zm o

int main (void)

$dVi]b ~ U)pQ2W%yhr0 LUPA开源社区_8xW6S'b\~

{
)_7QBDe2N0        int a[11]={0,1,2,3,4,5,6,7,8,9};

"[!]7CP+X0 LUPA开源社区GR4RA:I3K9h P"dM+r1U

        int i,j;LUPA开源社区Gl5w S|Alnc
        int n;LUPA开源社区%u:o0J*F,f

LUPA开源社区 ^lN d+x

        printf("input number:\n");LUPA开源社区6L"Au*Hc"M"{W
        scanf("%d",&n);LUPA开源社区)Q+j gM,V#M!O:W

LUPA开源社区2HPx#^&b

        for (i=0;i<10;i++)LUPA开源社区-R` Phi
        {
6\ JKw!wcYS-]0                if (n<=a[i])
"_u i#P\0                {LUPA开源社区8Q3g.S Lt7kH@,?x
                        for(j=10;j>=i;j--)
@ d)f.E9~ gv'\B P/C0                                a[j]=a[j-1];
GC:a#MK0                        a[i]=n;
z'F2]K,c Hh0                        break;LUPA开源社区VQyj#bq$`O`
                }
'[#@7Wp9w.E MR0        }LUPA开源社区#h&_h;J9E"u_!@

"s dY6s v`Y8CSq0        printf("order by number:\n");
N dq8o4t;z0        for(i=0;i<11;i++)
U/S N,F7B6|.{0                printf("%d ",a[i]);
#Y Lk;E2d7zi/B&Mo S0        printf("\n");
|E0x/b"H } A2jX n0        return 0;
!QA{1mrt#B0}LUPA开源社区6~KS)`R6i*B

e[ f:LGs0 

b0w*X,dxcko(B0

9FX N;w[$E\6m2{a0 

#{(bb3yR:f `s6j#L0

"\,Z:C+c5`"@1M~0 

I fZX3Z]sX0

w{H|T/h+i F5]013. 用主函数中输入一组数,调用函数用选择法排序后,再用主函数输出排序后的数。LUPA开源社区a7Z:`["U5S
# include <stdio.h>LUPA开源社区~$s!| N,KG#s {7zJG
# include <string.h>LUPA开源社区({feB\O'gY
# include <stdlib.h>

2L4YJi FEL8?0 LUPA开源社区u*E| v0QS4s @

void sort(int b[10],int n)
af[:H;D(_!m*~-f0{LUPA开源社区%RvbF9BdT8NM
        int i,j,t;LUPA开源社区%v!W(X3V q
        int min;LUPA开源社区;Ru A ? dq
        for(j=0;j<n;j++)
,~M n8n KJF0        {
N2U2~a_#~"R0                min=b[j];LUPA开源社区*rQ:o;f(uki
                for(i=j;i<n;i++)LUPA开源社区*N g6d)g2|
                {
^ {M/nk$Ve0                        if (b[i]<min)
z1v+|L;y_9o8m|t0                        {LUPA开源社区C%WzU Ved'r
                                min=b[i];LUPA开源社区 Z]9HL3?*~v
                                t=b[j];LUPA开源社区h"W#{c5T_ ~4q5^
                                b[j]=b[i];
X'Q hv#m1t9]-Dq0                                b[i]=t;
`n^y$d&Om-A'?0                        }LUPA开源社区h\(^B'e{}+Uz
                }LUPA开源社区Ee\2^ k |:MR
        }
8L ?C4un7GG!Jn%c:u0}LUPA开源社区r])Sw cZ

+L`{f `A}\3\#rE0int main (void)LUPA开源社区 [ S"OGa/mB9Pb
{LUPA开源社区)z FeC#P
        int i,k;LUPA开源社区uY%R`tp O.|,WV
        int a[10];
bH7u jJ:Q)@0        printf("input 10 number:\n");
_/e,?lq/BB'b+ms5db0        for (i=0;i<10;i++)
B-_T[8kq `W,H)x0                scanf("%d",&a[i]);LUPA开源社区W#E'i hs8b*Tz2_
        sort(a,i);LUPA开源社区8x8QQ,N_ Q

3OT#|6i8CVB0        printf("order by 10 nums:\n");LUPA开源社区0a?W'SX'a[(eI}3H0U
        for (k=0;k<10;k++)
+?}2b)h'_-cP.f0        {LUPA开源社区~] mQ }$m[n
                printf("%d ",a[k]);LUPA开源社区g:JSX#z'Xq7K
        }LUPA开源社区8[%K \(U;]U
        return 0;
0wD4lh c7U2P?0}

y zd e&dd0 LUPA开源社区Df``(v

 LUPA开源社区"Y5_;oxc I2y![ z

LUPA开源社区y!A#u2}5C2`h

 

.B!D/B!z^d5B0 LUPA开源社区z,v&u(o q

14. 用主函数输入4个字符串,调用函数用指针的方法由小到大排序,再用主函数输出。

nmv${zJ:?A:sw0

{7e4` g/VoE0k0LUPA开源社区sWK F3y2Z
# include <stdio.h> LUPA开源社区'\0Vpg_x9jo
# include <stdlib.h> LUPA开源社区'^nAZf8_
# include <string.h> LUPA开源社区y_V){"@0pR

LUPA开源社区Vd T,J#Y[ K

int main (int argc,char *argv[])
:{#yx|)Z7Y,b0{
tORm-k{0 char a[4][255],t[255];
{|:N_pN4EB8D8a;c0 int i,j,k,f,n,c; LUPA开源社区V+Twu i*eE _B1r
 for (i=0;i<4;i++)
a&n+yR5G0 {
*qA@Q0J(^_Y E0  printf("input a[%d] string:\n",i); LUPA开源社区;R$VG#P)gvh
  for(j=0;j<255;j++) LUPA开源社区7UF5`Yt s;[&XQ
  {
QoR aOp.C_M0   if(j==254)
{7K` c[9msFH ijHW0   {
)Dw\(}Q4Uk]1Qp0    a[i][j]='\0';
3ezIW gQR0    break; LUPA开源社区hC/BVS R
   }
%F1V#Z lp lJ0   scanf("%c",&a[i][j]); LUPA开源社区*exVG#M.^
   if(a[i][j]=='\n')
1q_{;y3s6wo0   { LUPA开源社区T C+f"UO-|%ltH+d M
    a[i][j]='\0'; LUPA开源社区(o9I[;kJ Q[yrEE
    break; LUPA开源社区Xl`0AvK/W2C
   }
G Oh,G+Vd0  }
Y)St`D|0 } LUPA开源社区y]H&XWJn
 for(n=3;n>0;n--) LUPA开源社区+dy.p2^%Us[M6F6d
 {
9C@&uF(Sr R D z{0  for(k=0;k<n;k++) LUPA开源社区-~ Vcw3F{
  { LUPA开源社区d:tXHq%d!S
   if (strcmp(a[k],a[k+1])>0)
/U9ow!S*^O0   {
*b8j J*Q2M0    strcpy(t,a[k]);
%|.`5Qh-J0    strcpy(a[k],a[k+1]);
'K qPS4K3R I?0    strcpy(a[k+1],t);  LUPA开源社区!u2j;?Br&N
   }
;\ ?"g V_?*p4L.jq,Rl0  }
A0IXj[0 } LUPA开源社区5Z#z$[5N"F6NdpH:O X

LUPA开源社区0q!W`0Q H o-Z{`x@

 for(c=0;c<4;c++) LUPA开源社区I(G*yj W Jj7o{
 puts(a[c]);

pi-iG!};qt [f0 LUPA开源社区 ntAmF*X(ij

LUPA开源社区iU/q-iOK
 return 0;
Z Qi,wL%tG"{u0}

B&k7Tq/^H,R X0

f#e"V"]7nk`,I0 

B l S6i9y[0 LUPA开源社区N@"j wqA i3A)j{

 

B8W t1[6`Z'\0

1~,w u:X J'oJ0
4JX Qr.V~,L)Z6P `015. 建立文件“FT.DAT”, 存放一串字符,长度不超过80个字符,然后再读出后统计显示字符的个数。LUPA开源社区k7k+R7@{2LuA f V
# include <stdio.h> LUPA开源社区4H%M8c'}7M@
# include <stdlib.h> LUPA开源社区d2g5nkO$u
# include <string.h>

/Pj*@Rc8Gy5WU0

i N3fMQJD0int main (int argc,char *argv[])
b(|Y:EwM'\1C0{ LUPA开源社区 |{X!?|n0Z)Ll$[7pPZ
 FILE *fp;
h|c4|+y_2f0 int i,k=0; LUPA开源社区+D#F })x-aV m`
 char ch; LUPA开源社区Y6d5N(@p
 if((fp=fopen("FT.DAT","wt+"))==NULL)
_K-J,]!cdZ H0 { LUPA开源社区 LSLtg4T!N if
  printf("\nerror open FT.DAT!\n"); LUPA开源社区2{ k}5Ub[R
  exit(EXIT_FAILURE); LUPA开源社区]B fwyT5iB"`
 } LUPA开源社区4?5K:NVKv0y$A
 printf("input a string:\n");
4G4n3SfG }c0 ch=getchar();

5|Pv`A#T/X0 LUPA开源社区| Z7C2`jiz%l

 while(ch!='\n') LUPA开源社区G#}2n/O~2Dlw e!` M
 { LUPA开源社区PI%^#N1l
  if ((++k)==81) LUPA开源社区c3rd/K4FI?{&k x
  break;
;Y_ A2OU,vq0  fputc(ch,fp);
^B_T/c;uS0  ch=getchar(); LUPA开源社区0D"W2{4~Jd%q.C'E(O v
 }
&S"NfUL3S ?0 rewind(fp);
0Y Q2a?Ob0|0 ch=fgetc(fp); LUPA开源社区2{7K~5HLI;Qu
 while(ch!=EOF)
Q N9G.} n}({4K%b0 { LUPA开源社区?rdpUb
  putchar(ch); LUPA开源社区BJ%z+qY5e
  ch=fgetc(fp); LUPA开源社区'[c$r!tQ3Q
 } LUPA开源社区{`KoUwFw
 printf("\n"); LUPA开源社区Nj)[0[6H?C)hs
 fclose(fp); LUPA开源社区 S8?^*g,F"`N
 exit(EXIT_SUCCESS); LUPA开源社区q,A#yHt N3V"Oi
}LUPA开源社区8ol S5?$F9`&G5X

LUPA开源社区 R/Z*z2I.fu*j1T

 LUPA开源社区ck V'm dq

LUPA开源社区8j;?(i {7jV4I)J]

 

pH(M,n,_0

jYs:H i8MxO|0LUPA开源社区H'X0W1K)ml+vw(R
16. 用数组和循环实现:统计输入的一个字符串中的数字、大写字母、小写字母、空格及其它字符的个数。LUPA开源社区I2TT ]%j,i+~
# include <stdio.h> LUPA开源社区$LrQ1L"U;VN;M,i/]#t
# include <stdlib.h>
*dvL2Hw-|.X0# include <string.h> LUPA开源社区#r7qh[9A*D,G1J;?1o(Jb

W0l&\A5|:mC0int main (int argc,char *argv[]) LUPA开源社区9R!j+SG6xM`!Lh3aj
{ LUPA开源社区O6i"\#o.^yG:{;?*^&pj
 int i,j,n=0,c1=0,c2=0,s=0,o=0; LUPA开源社区3N}4hy_F
 char a[255];
j _D-P1DPi0 for(i=0;i<255;i++) LUPA开源社区eE s*[Q-t b
 {
R\3q D)TU-X:B[0  scanf("%c",&a[i]);
.|6@DDm ~0  if(a[i]=='\n') LUPA开源社区wu?_ f
  break; LUPA开源社区j0G9We;k
 } LUPA开源社区'kq?7TZjn
 for(j=0;j<255&&a[j]!='\n';j++) LUPA开源社区 f.~3o1K~:}#K IFj
 { LUPA开源社区[^K&J3c#k
  if(a[j]>='0'&&a[j]<='9') LUPA开源社区(F'NfO[
  { LUPA开源社区 q/^\!Hp ~2TO
   n++;
Jca8W)qF,@/E0  } LUPA开源社区NK6\!M { Ry'f@+xI
  else LUPA开源社区/k?;T |2O
  { LUPA开源社区 fMeVi+F,_9s#O,F
   if(a[j]>='a'&&a[j]<='z')
rmtn0Th0Z Rp0   {
)g'rt"e(lL_Ct6r\0    c1++;
L-x.LC&u$}a+l0   } LUPA开源社区 ][$QlN8\Z$}'^
   else
PF1zvkp0U.|~0   {
cC%YS/y^'X2NG3jaO0   if(a[j]>='A'&&a[j]<='Z')
'g ^nK7oZ:G*S0    {
!D$X]r T1U:_8W0     c2++; LUPA开源社区 x$~zi_#B
    } LUPA开源社区U{N%Bo6f+g
   else LUPA开源社区W,cL7Q*f7q'^
    { LUPA开源社区W9P7v(KzO
     if(a[j]==' ')
{!z*bH;{6^@0     {
s(tn7o'L+uQ0      s++;
-z4r*m [F0     }
$|+XzfEf:p3u,zH4e4p0     else LUPA开源社区-@\ z+G\~|
      o++; LUPA开源社区)v.m x%u!B&x7Q
    }
:Q ~2zr4I"vd:pZ0   }
I{3O3|){K-x0  } LUPA开源社区t!P.K|wSAr
 } LUPA开源社区:A6|1S#[f,Y8@ z
 printf("number count:%d\n",n);
{}I9Qd'g@ ]-H9c0 printf("(a-z)'s count:%d\n",c1);
/f [`3\8nX `0 printf("(A-Z)'s count:%d\n",c2);
6Y L*V7orte{0 printf("space count:%d\n",s); LUPA开源社区d Q8r:t7ro
 printf("other count:%d\n",o); LUPA开源社区/xf4Y6]oQ3~
}

9m*ymO pe,r0 LUPA开源社区 }Q:wg4lEk]Nz

 LUPA开源社区"T @U Rl*]&} E

q*}'F*_fD xU0 

#j$IRgz n H"ME;c0

rHU4l"ix5I3C0w0LUPA开源社区`*tnt6bQ
17. 用函数实现:输出2~100间的素数,每行5个。
`+FbzaFF(SGO,E0# include <stdio.h>
1` iz4Ek k:Y&Dc1_0# include <stdlib.h>
(k K#X%ZXo#Jo0# include <string.h>

Fs;\;r:U#i0

bT M0Gq8@E(C0int main (int argc,char *argv[])
\JCu*U{z+] ktPL0{LUPA开源社区)|d)m o&d
        int i,j,f,t=0;

8[&WUEz#n3A0 LUPA开源社区Kv"|] tw H!y0y

        for(i=2;i<=100;i++)LUPA开源社区,\(E Wb]4R W
        {LUPA开源社区lxbyBh9_dm:[
                f=0;
^#E,rH&\A9{ W0                for(j=2;j<i;j++)LUPA开源社区g V2^2B0B
                {LUPA开源社区5UPR4Qy}
                        if(i%j==0)
f$_EQ"N s0                        {
c5WF$KEq*H0                                f=1;
h*Y/X~a/TjLC0                                break;
~:d#Q-UY k+]_0                        }
'R5wt-V:L0                }LUPA开源社区*e%CvO,E/]
                if(f==0)LUPA开源社区J*I~7VZv
                {
GoEx6D)f jYi0                        if(t==4)
JUo(DT)y'zl0                        {
4s#QnS^0                                printf("\n");
{{XvY k2t8z0                                t=0;
(K:ruI'r0                        }LUPA开源社区b&Fy;S#Q ws
                        t++;
s/o0B!F6[I SS'O0                        printf("%d      ",i);LUPA开源社区Z,[ w@.X2U+dp/D/`O q
                }LUPA开源社区ub.X0G;k]n
        }
8_V FY'[s6pg0        printf("\n");
-i#^6P,r9n$Cq%~'[0        return 0;LUPA开源社区M'`"?&\.j\Zz@
}LUPA开源社区|SY [lg'Y

LUPA开源社区H&Z)\$J^9\ g"B x

 

y*Dk)D5r!H6]0

%YPYK.bh0 

J!yfd(S n G(pK0 LUPA开源社区,QK@H0VO4Q|3`V

 

._}kDN%|%f8R$Y)l0 LUPA开源社区 D,g3G8t"M ~ L Y b

18. 用指针数组实现:在主函数中输入10个不等长的字符串,用另一函数对它们递增排序,然后在主函数中输出已排好序的字符串。LUPA开源社区^Hl_ t c_;[/a
# include <stdio.h>
UN ff:n:OI2zb[2U0# include <string.h>
G0_7rs5eE b;V ?(c0# include <stdlib.h>LUPA开源社区'em)[,Ks/c

LUPA开源社区SYVz&IJC

void sort(char a[10][255])LUPA开源社区0f9G/{ny tM@
{
!v"s_2wJ/U nl0        char (*p)[255];LUPA开源社区E;wZV*o Z].{
        char t[255];LUPA开源社区 K*C^Ifw7F%{
        p=a;LUPA开源社区M3D(o)|9J)s#\)lw
        int i,j;
qB!CZ:g[h.|x;g s0        for (j=9;j>1;j--)LUPA开源社区 s8I ~.FH{\'gK
        {
i u9eS4S%r p0        for (i=0;i<j;i++)
N`mUd \5J0        {
x7[2G;D2MH0                if (strcmp(a[i],a[i+1])>0)LUPA开源社区)Kf2~V[*\KG
                {LUPA开源社区i%QU6r@2PX9p,I
                        strcpy(t,*(a+i));LUPA开源社区6y]1b;]sIh@6gU
                        strcpy(*(a+i),*(a+(i+1)));
-z(Q?0Y'y}2v&r0                        strcpy(*(a+(i+1)),t);
w4}n'U9N1j t0                }
}4| N.bk!o0        }LUPA开源社区7LW} U!Dxl
        }LUPA开源社区C v*V8{bdd%s
}

/n@$C:x%Jst:p0

ce9N r-|:a9X0LUPA开源社区xM{bB.L J R/P2pb!k
int main (void)LUPA开源社区5J:A8mi&e+Ju
{
cEfw"^Y;`(J/S0        char a[10][255];LUPA开源社区!G!V"A$}|G;t ~Oc
        int i,j;LUPA开源社区*w0?'b2iJh#H(Cu
        char (*p)[255];
hQ*tA"X e/B@A0        p=a;LUPA开源社区eWJS4y ~ HC `(i

LUPA开源社区0S+T5j|{8N

        for(i=0;i<10;i++)
*QF K~(Pf.\lc0        {
0BaNE7]1Wlu p0                printf("input string %d:\n",i);
#m%wy:Iab^0                for(j=0;j<255;j++)
(p4A;lt\1`'U]d0                {
rh.dB+v `P#b0                        scanf("%c",p[i]+j);
9EgH&~5dEs;]g0                        if((*(*(p+i)+j))=='\n')
+W%I0Ev zQ9`1`S0                        {
D"u8I t:y2C5X0H0                                *(*(p+i)+j)='\0';
(q W;ul9d+b2y/c0                                break;
^1n%xQT"ecx0                        }LUPA开源社区4i't:[\'qF;@;Q#t
                }
3@gaf2w_R0        }
h$J ^dDB&m;u0        sort(a);LUPA开源社区A-L|*|BCf

LUPA开源社区%?pu Q+Q+o5k y

        printf("result:\n");
+q'XDx'e F|2u{D0        for(i=0;i<10;i++)LUPA开源社区d7\0qKA^T
        {LUPA开源社区 sP%zhQ A$}%Lq
                puts(a[i]);
4[S(K"vxBJ]0        }LUPA开源社区^IyN'\"C!?[v
        return 0;LUPA开源社区"R5bA}wU
}

OX5Ff#N0

jJ B~ @wf;Z o0 LUPA开源社区iTR8ts;Ro6}C1]

Gt-_](US0 

OH)K\-d6\0 LUPA开源社区 jhUc L]

 LUPA开源社区;@zwv7G/| F

7q I9Bc'snN019. 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。 已给出函数的首部,请完成该函数。
5_um%q/@.GA0    注意: 部分源程序存在文件PROG1.C文件中。
4D5U Oi ~2k S#|KV0    请勿改动主函数main函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。LUPA开源社区Nm6H)B[qbY

LUPA开源社区3V4}ePQs&A4@

#include <stdio.h>
-[vv7rPu[0#include <string.h>LUPA开源社区)WSLpm'IO
#include <conio.h>LUPA开源社区,bd;@~Y
#define  N  10LUPA开源社区0v4j7c[0h
typedef  struct  ssLUPA开源社区 D7v,c%ai_
{  char  num[10];   int  s;  } STU;LUPA开源社区A.FQr5H&U0k

1kg-d/D1faH5eZ(b$@0fun(  STU  a[], STU  *s  )LUPA开源社区"^'L%b;[1K
{
owh{6h`)f0int i=0;LUPA开源社区$d M9Wonh\8fh e9_
        (*s).s=a[i].s;
c"l+f#k)n0        for(i=1;i<N;i++)
]dY&aG+G9f5~G0        {
A&uao~3M0                if (a[i].s>(*s).s)
!v([T {Lo0                {
]#h _5|Ot M*_/d0                (*s).s=a[i].s;LUPA开源社区\w+n;pS`@J
                strcpy((*s).num,a[i].num);
!t k0tPm&~0                }
-WT7d^IZ o0        }
X!k#cbc8k1iP0}LUPA开源社区s L9qu#C~f0]

'F$Hh8g!W0main ( )LUPA开源社区FD?!R Ob
{  STU  a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},LUPA开源社区"nq'c*N u2oN9}t1Kz
        {"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m  ;
W m7R'S2X8TC XT/bV @0   int   i;LUPA开源社区Etz4|y-YU B
   clrscr();LUPA开源社区?)q\R%~)@BN G'F O
   printf("***** The original data *****\n");LUPA开源社区G*Z!|]*U$\0^_\
   for ( i=0; i< N; i++ )printf("No = %s  Mark = %d\n", a[i].num,a[i].s);
V5}*LAd!R2x5C0   fun ( a, &m );LUPA开源社区"BS'p5y6? kAZ|
   printf ("***** THE  RESULT *****\n");LUPA开源社区W"P%ih-UI
   printf ("The top  :  %s , %d\n",m.num, m.s);
et$\7iap0}

$nQ7WM.Y%V Y~0

!F$H#x6PP)A0 

1w1CWC8Q%^0 LUPA开源社区1du.\Esa"D0[

 LUPA开源社区N"We8O_s*XB)P

LUPA开源社区6r&y3QJ/a |

20.从键盘输入一个字符串“Welcome to Heilongjiang University!”,将其存入以“well”为名的文件中。并将刚保存的文件的内容输出到屏幕。
L t*lgC_AA0# include <stdlib.h>
W2a9U3|3QS wQ9I0# include <string.h>
1uP[,b{P0# include <stdio.h>LUPA开源社区zT2w+H&S*u
int main (int argc,char argv[])LUPA开源社区.cwJ O)MQXOr:F*QA
{LUPA开源社区TvFk!W!d3H;P+c pzRL
        FILE *fp;
%g8O!O9DQgS0        char str[256];LUPA开源社区*fa1nD6H$W1~h
        int i;
jm U/YtP0        if((fp=fopen("/tmp/abc","wt+"))==NULL)
WC~~2QE"X0        {LUPA开源社区!`/M#pt j"\ \!F
                printf("File open failed!\n");
I&VyRj0Ad(b0                exit(1);LUPA开源社区!V)g q*H?+b/{4blb
        }

d~m\4yKl&o2o0 LUPA开源社区4Gf.TK5y j7m.EP

        fgets(str,50,stdin);
Z dWI;OA)h T1Q0        fputs(str,fp);LUPA开源社区SHPo,Q X @
        fputs(str,stdout);LUPA开源社区5Ypmx9i
        fclose(fp);
!L y4\2{#@ h7r0        return 0;
E[Bx [KL0}

+ZG4r"}PO;L6U+t0 LUPA开源社区aLH+Nlt)G_Bj}i

 LUPA开源社区"pgW~a${1nhs

LUPA开源社区w:x'w]'i.Id;D

 LUPA开源社区F/?,|"oJz,C{e%St e

LUPA开源社区zSQEX4d

LUPA开源社区ucPk"dV/Ig\+V
21、 编写程序,它的功能是:计算并输出下列级数和:LUPA开源社区0ALZ:T*}
          1      1            1LUPA开源社区8Q:c6F ?y8c
    S = ── + ── + … + ───LUPA开源社区%K#\oeg1z5]s/V
        1×2   2×3         n(n+1)
Nb0j+V }0例如,当n = 10时,函数值为:0.909091。LUPA开源社区lm6Q(qpA

LUPA开源社区)cH`nQ4aV

# include <stdio.h>
%zz*BJR8f0# include <string.h>LUPA开源社区`d Y9M~P%U#?
# include <stdlib.h>

2V$d p/xS m&t0 LUPA开源社区\'Us%\OOj

int main (int argc,char argv[])
IqfK yb K(o0{
8l6IY@ U0        float s=0,i;
5B/K*E"cp r3Y0        int n;
YA$M8L@-M"I II0        printf("input n:");LUPA开源社区 g c9]0Z&Z3hr
        scanf("%d",&n);LUPA开源社区h/Sq']J&a7he'b&UP6F
        i=1;LUPA开源社区0Xhh'Fw
        for(i=1;i<=n;i++)
*v)f/k Y['p:v*O.Xs&c @0        {LUPA开源社区S S a.K3qN*Ms
                s=s+1/(i*(i+1));LUPA开源社区vh/fI[m'I\j
        }LUPA开源社区 H!MyS p)y
        printf("s=%f\n",s);
b8O3T(@'c5S)dZ^_`.^]0        return 0;
"L'u6S~;C0Xz3p0}

In@^Yj(lb0 LUPA开源社区-xj:r8b0p#l8|

 

s2xh^c(R0

3FhR)m5F9C0 LUPA开源社区|9m Pe-ZEz

LUPA开源社区}!L"\H V,f1{0|&X

LUPA开源社区'GZs_"QQ3TO
22、编写程序, 实现矩阵(3行3列)的转置(即行列互换)
^ N:?$V"Q"],`,{.go g0    例如, 输入下面的矩阵:
:d:zq |(Nfb0Xb0             100  200  300
s7OLS_s~&i0             400  500  600LUPA开源社区3A)m qI%IG
             700  800  900
!Y y-n9NCO0    程序输出:LUPA开源社区GpX e;CA|d3p
             100  400  700
.X U8k2Ft3r0             200  500  800LUPA开源社区7L7x(EPM }Ti2T
             300  600  900

K O6TJr/?.w5IGR0

v*^ } ue8Y&O0# include <stdio.h>
:PI K t+A2yE\'D%p1t0# include <string.h>LUPA开源社区!CP"W4`:Y4t `/LH.i
# include <stdlib.h>

U+s|'F-uD0

!Br,}8{2l Q0int main (int arvc,char *argv[])LUPA开源社区%WJ T.q$W.Cr
{
c a1QO#e0        char a[3][3];LUPA开源社区-G:g.f&O@
        int i=0,j=0,t,m=0;
C*H6f K~1Kuo [0        printf ("input source string[3][3]:\n");

z)K9?gF2zN2L's0

$I)P6Sq$O N_pY0        for (i=0;i<3;i++)LUPA开源社区|4K&l$Z'w3C't
        {
#o^!mg O7`$oYKA0                for(j=0;j<3;j++)
2yb(sm!Rw:i(E jO/N0                {
kQd q)i` M:HA0                        printf("a[%d][%d]:",i,j);LUPA开源社区 l)u6Y*Pc4Vc
                        scanf("%c",&a[i][j]);LUPA开源社区7z RdL#M`
                        getchar();
B2G&^-IH8[w'p/{y0                }
M"h)[EW6h0        }LUPA开源社区DAyc-D
        for (i=0;i<3;i++)
R*mT s6hUR0        {
D/c6S%yO"\jb0                for(j=0;j<3;j++)
|'BkR"c0                printf("%c\t",a[i][j]);
Y#T#q y ?!@0                printf("\n");LUPA开源社区 h v(T3U7G ].| Z9}?6d
        }LUPA开源社区2yla }0y+Y

m ]AU)J)[9L?%p0        for (i=0;i<3;i++)
cU0JV Tm?,Vt0        {LUPA开源社区UC%x W)\s
                for(j=0;j<3;j++)LUPA开源社区!SfO w&\/@s
                {LUPA开源社区 Z,tn!lX"kw~1WK2\
                        if ((i+j)>m)LUPA开源社区gG6Y9H'Q!E
                        {t=a[i][j];LUPA开源社区"BaZFp;Z L.E
                        a[i][j]=a[j][i];
.|keMd0\I:B7s0                        a[j][i]=t;LUPA开源社区 M8XMr5ru/U
                        m=i+j;}LUPA开源社区%Jq*r{:m/u5H
                }
0A6Q9tX;u+FUE0        }LUPA开源社区9\V/U0xwR-Yt
        printf("turn to.....\n");LUPA开源社区"i#^3dmf7d O
        for (i=0;i<3;i++)LUPA开源社区 L?|h~U
        {
:s.` FD2qK;Zz0                for(j=0;j<3;j++)LUPA开源社区D[wsYh.PS9M
                printf("%c\t",a[i][j]);LUPA开源社区:h-\4y#s6FTK x V]
                printf("\n");LUPA开源社区Xw ?V,u1}"t(|
        }

r+IICn0^5{0^PN0 LUPA开源社区;GVw1},[cw

        return 0;LUPA开源社区i hwTv*X
}LUPA开源社区7Nk vh:RA

*Zy{|3J!B$YG8j9}0 

1G dvDi0

@mYU8k9h8X0 LUPA开源社区]F&qDi(A]

LUPA开源社区9h3m%I2mG Mn

LUPA开源社区#du?!g er
23、编写加密程序,输入字符串,按照如下规律输出字符串,A->E,B->F,C->G…W->A,X->B,Y->C,Z->D,小写也按照相同规律变化,其它字符不变。

@#H:~~Dp0W,b"o0

'T+FWpn'H0# include <stdio.h>
av Ix.~8wey X1N0# include <string.h>LUPA开源社区Uy6Y2l"?x&`0w(s
# include <stdlib.h>LUPA开源社区1j0rA0G!m;H

LUPA开源社区$rw/]v:`e"p)C I{7N'P

int main (void)LUPA开源社区!zveX$f7](p

LUPA开源社区+DN6?b T"{ kp9} oW

{LUPA开源社区j|Q;TI*_~+M
        char s[255];
AV+T,y0RQ!w0        int i;
}s!s!BB0        fgets(s,255,stdin);LUPA开源社区;V4^l$Y7F
        while(*(s+i)!='\0')LUPA开源社区pg)Zc(Q-X
        {
1Q+G9`D6x)l ?c0                if(*(s+i)>='A'&&*(s+i)<='Z')LUPA开源社区}#M0@q~2]_8E]
                {LUPA开源社区H:\s:H\3i8f
                        if(*(s+i)>='W'&&*(s+i)<='Z')
)j#H'L.}8Ja+o`+M^U0                                *(s+i)=(*(s+i)-87)+65;LUPA开源社区r z!`Jw#m^{
                        else
%G7]Al5Z3Os7r*HNJ0                                *(s+i)=*(s+i)+4;
IN'{/I!d3K]{)o]`0                }
y*^(T4w o%X4U-q2Dm0                if(*(s+i)>='a'&&*(s+i)<='z')
-Xt ]w,ghT#`9F:B0                {
S~? l/Mz0                        if(*(s+i)>='w'&&*(s+i)<='z')
T8tzeb(w.p0                                *(s+i)=(*(s+i)-87)+65;LUPA开源社区:z hE(K+e
                        elseLUPA开源社区-u z8a;`:TIe7J
                                *(s+i)=*(s+i)+4;LUPA开源社区DOV G*SC+E7o
                }LUPA开源社区y0eq] N[$PN2A
                 i=i+1;
CX`o i"~!C5?+I0        }
kuH3yM ash0        puts(s);

s4DJ o0~d5M*mY4j0

i [ l*]p0_+H0}

(WQ(_Z+L0

_+\\D)W;r nx0 LUPA开源社区L2Ms+_r H_w;V

&{&s6q y*oj?0 

:gP%um+j~8Vn0

U%KZ C l0 LUPA开源社区o:OC#^D} N

J7]3I_'~.nw$H$RW024、本程序的功能是,求十个浮点数的平均值,要求,实现fun函数(包括形式参数的定义,不要改动主函数)。
S+\3_o S0#include<stdio.h>LUPA开源社区p/yf3mr uu
fun(float b[],float *c)LUPA开源社区*` V!wF!r6h
{LUPA开源社区s @r(DI9FX:b3heX
        int i;
*c U$`1ZW+k n0        float s;LUPA开源社区 z GO X&PY
        s=b[0];
@C4{JEK0~_fj0        for (i=1;i<10;i++)LUPA开源社区~,Vf?J(Y/^
                s=s+b[i];
qv I6IQ)c7L)` I0        *c=s/10;LUPA开源社区:Q|,m7OB7j%|(Uf
}LUPA开源社区.Rcb _EE
main(  )LUPA开源社区0H!yrh9`{-uq'v
{float  a[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0},ave;LUPA开源社区d X.c TZcJVb#P
 fun(a,&ave);LUPA开源社区8m'T9H*C,tR
 printf(“%f\n”,ave);
K"]:IE1W?^C+p0}

Z~Bsq.k;r u5F h0 LUPA开源社区7_,E-r|s |5WAot3C

 

:L3yYg ^ RW0

Yz8x SU"QV_-q0 

uw+K?7s0 LUPA开源社区tgsQs A$~6~


(C.A/bE `(o w]U025、编写程序,功能是将输入的任意字符(输入时遇#号结束)保存在以TEXT1.TXT为文件名的文件中,该文件保存在学号文件夹内。LUPA开源社区nR [@'Ja*m
# include <stdio.h>LUPA开源社区9n#vc q[s.FO
# include <string.h>
^S"Q3k:e g9F3N$q0# include <stdlib.h>LUPA开源社区}zT#B;W

LUPA开源社区)GZg&UzD {i

int main (void)LUPA开源社区v,o/e;Y(K s4RV~
{
&l2s;`6NDb1v0        FILE *fp;
L1Lv"`AG:| S{U0        char ch;

T8_ZH,VW5H-G0

b%K U8xDw0        if((fp=fopen("/tmp/chen01/TEXT1.TXT","wt+"))==NULL)
k3A6q| CDP]0        {LUPA开源社区5bX;UUCov
       &nbs