C語言程序設計教程第二版邱建華課后習題答案_第1頁
C語言程序設計教程第二版邱建華課后習題答案_第2頁
C語言程序設計教程第二版邱建華課后習題答案_第3頁
C語言程序設計教程第二版邱建華課后習題答案_第4頁
C語言程序設計教程第二版邱建華課后習題答案_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《C語言程序設計教程》(第二版)

課后習題參考答案

第1章

1.(1)編譯、鏈接pl.exe

(2)函數主函數(或main函數)

(3)編輯編譯鏈接

2.

(1)-(5):DABBC(6)-(10):ABACC

3.

(1)答:C語言簡潔、緊湊,使用方便、靈活;C語言是高級語言,同時具備

了低級語言的特征;C語言是結構化程序設計語言,具有結構化的程序控制語句;

C語言有各種各樣的數據類型;C語言可移植性好;生成目標代碼質量高,程序

執(zhí)行效率高。

(2)編輯、編譯、鏈接、執(zhí)行。任何一步有問題,都要重新回到編輯階段去修

改程序。

(3)一個C程序由一或多個函數組成,在這些函數中,有且僅有一個主函數。

一個函數由若干條語句構成,每條語句的末尾必須以分號結束。

(4)標識符,關鍵字,運算符,空白符,分隔符,常量,注釋符等。

4.從鍵盤輸入一個雙精度小數,打印出它的余弦值。

#include<stdio.h>

#include<math.h>

main()

(

doublex;

scanfC12*4%lf;&x);

printf(u%lf\nn,cos(x));

)

第2章

(1)BDEH、ACFG

(2)D(3)C(4)C

2.

(1)錯(2)錯(3)錯⑷對(5)錯

3.

(1)a=3,b=-27

(2)a=ll,b=6,c=6

(3)3

(4)1010110

(5)-998

(6)1)202)83)704)05)06)0

4.

(1)

#include<stdio.h>

main()

(

doubler,h,v;

r=2.5;

h=3.5;

v=3.14*r*r*h;

printf(44v=%lf\n,\v);

1

(2)

#includc<stdio.h>

main()

(

charch;

ch=getchar();

prinlf("%c\n”,ch+32);

)

(3)

#include<stdio.h>

main()

printfC*\n");

printfC***\rT);

printf(u*****\n'');

(4)

#inclu(le<stdio.h>

main()

{

doublex;

scanfC%lf\&x);

printf(M%d,%lf\n'\(int)x,x-(int)x);

1

(5)

#include<stdio.h>

main()

(

doublea=3,b=5;

doubleresult=(-2*a+(4*a-b)/(2*a+b))/((a-4*b)/(a+b));

printf("%lf\n",result);

)

第3章

(1)D(2)AD(3)C(4)B(5)A

(6)-(10):BDACB

2.

(1)3.141593,3.1416,3.142

(2)c=K

(3)|123.46|,|123|

(4)x=1.23,y=50.00

(5)0

(l)scanf(%f\c);改為:scanf(4t%f\&c);

f=(9/5)*c+32;改為;f=(9.O/5)*c+32;

printf(“攝氏溫度%f度相當于華氏溫度%f度”,&c,&f);改為:

printf(“攝氏溫度%£度相當于華氏溫度%f度”,c,0;

(2)

補充定義:inih;

h=500/60改為:h=500/60;

m=500%60改為:m=500%60;

printf(4t500分鐘是%d小時%d分鐘J&h,&m);改為:

printf(^500分鐘是%d小時%d分鐘”,h,m);

4.

(1)

#include<stdio.h>

main()

charx,y;

scanf(tt%c%c,\&x,&y);

printt("%d\n”,(x?U)+(y-。'));

4.

(1)

#include<stdio.h>

main()

(

intx,y,z,t;

scanfC%d%d%d”,&x,&y,&z);

if(x>y)

{t=x;x=y;y=t;)

if(x>z)

{t=x;x=z;z=I;}

if(y>z)

{t=y;y=z;z=t;)

printff'%d%d%d\n",x,y,z);

)

(2)

#include<stdio.h>

main()

(

intscore;

scanf("%d'',&scorc);

if(score<0||score>100)

print」成績不合理\n");

elseif(score>=90)

printf(“優(yōu)秀"”);

elseif(scorc>=80)

primfp良好\n”);

elseif(score>=70)

printfT中等\n");

elseif(score>=60)

printf(“及格\n”);

else

printf("不及格\n");

}

(3)

#include<stdio.h>

main()

(

intn;

intg,s,b,q;〃各位上的數值

scanR"%d”,&n);

g=n%10;〃個位

s=n/10%10;〃十位

b=n/100%I0;〃百位

q=n/1000%10;〃千位

if(n<10)〃一位數

printf("%d\n”,l);〃位數

printf("%d\n”,g);〃各位上的數值

)

elseif(n<100)〃兩位數

(

printR"%d\n”,2);〃位數

printf("%d%d\n”,g,s);

)

elseif(n<1()0())〃三位數

(

printf("%d\n”,3);〃位數

printfC4%d%d%d\n”,g,s,b);

)

elseif(n<10000)〃四位數

{

printf("%d\n”,4);〃位數

printR"%d%d%d%d\n”,g,s,b,q);

)

)

(4)

#include<stdio.h>

main()

(

intn;

scanf("%d”,&n);

if(n%3==0&&n%5==0&&n%7==0)

printf(“能同時被3、5、7整除\n");

elseif(n%3==()&&n%5==0)

printf(“能被3和5整除\n");

elseif(n%3==0&&n%7==0)

printf(“能被3和7整除\n");

elseif(n%5==0&&n%7==0)

printf(“能被5和7整除\n");

elseif(n%3==0||n%5=0||n%7==0)

(

if(n%3==0)

printf("能被3整除\n");

elseif(n%5==0)

printf("能被5整除\n");

else

printf("能被7整除\n");

else

printf("不能被3、5、7中任一個數整除\屋);

1

(5)

#include<stdio.h>

main。

(

intcarType;〃車型。1代表夏利;2代表富康;3代表桑塔納

doublexiali=2.1;〃每公里價格

doublefukang=2.4;

doublesargtana=2.7;

doubledistance;〃距離

doubletotalMoney;〃總的收費

printf(”請輸入您乘坐的車型:1代表夏利;2代表富康;3代表桑塔

納:”);

scanf("%d'\&carType);

printf("請輸入您乘車的總路程:,

scanf("%lf",&distance);

if(cai*Type==l)〃夏利

(

if(distance<3)

totalMoney=7.0;

else

totalMoney=7+xiali*(distance-3);

)

elseif(carType==2)〃富康

(

if(distance<3)

totalMoney=8.0;

else

totalMoney=8+fukang*(distance-3);

)

elseif(carType==3)〃富康

(

if(distance<3)

totalMoney=9.0;

else

totalMoney=9+sangtana*(distance-3);

)

printf("(四舍五入)您的車費為:%.01f\n",totalMoney);

)

(6)

#include<stdio.h>

main()

doublea,b,c;

scanf("%lf%lf%lF',&a,&b,&c);

if(a+b>c&&b+c>a&&c+a>b)

(

if(a==b&&b==c)

printf,等邊三角形\n");

elseif(a==b||b==c||c==a)

printf("等腰三角形\n");

else

printfC一般三角形\n");

)

else

printf("不能構成三角形\n");

)

第5章

l.(1)C(2)C(3)C(4)C(5)D

2.

⑴3次

(2)x>=l&&x<=10||x>=200&&x<210

(3)e==0

(4)6次

⑸10

3.

(1)20,10

⑵16,0

(3)7BAB4BABIBC

(4)ABABABC

(5)******

******

木木****

.Jw,卜,卜

4.

(l)a!=b

(2)n/10

(3)scanfT%d'',&a);

5.(3)行intfac=1,sum=0;

6.

(1)

#include<stdio.h>

main()

{

charch;

intalpha=0,space=0,digit=0,other=0;

while((ch=getchar())!='\n')

{

if(ch>=,A,&&ch<=,Z,||ch>='a'&&chv='z')

alpha++;

elseif(ch>=,0,&&ch<='9')

digit++;

elseif(-==ch)

space++;

else

other++;

}

printf(€t%d%d%d%d\n”,alpha,digit,space,other);

)

(2)

#include<stdio.h>

main()

(

intm20,mlO;

for(m20=I;m20<5;m20++)

(

for(m10=1;m!0<10;ml0++)

if(20*m20+l()*ml()==100)

printf(4€%d,%d\n”,m20,mlO);

)

1

(3)

#include<stdio.h>

main()

{

intx,y,z;

for(x=0;x<l();x++)

for(y=0;y<10;y++)

for(z=0;z<10;z++)

if(x*100+y*10+z+y*100+z*10+z==532)

printR"%d%d%d\n”,x,y,z);

1

(4)

#include<stdio.h>

main()

(

introw,spaceCount,starCount;

intn;

scanf("%d”,&n);

for(row=1;row<=n;++row)

{

for(spaceCount=1;spaceCount<=n-row;++spaceCount)

printf(M");//打印出某行上星號前的空格

for(starCount=1;starCount<=2*row-1;++starCount)

printf("*”);//打印出某行上的所有星號

prinlf("\n");//換行

I

//打印下半部分

for(rovv=1;row<n;row++)

(

for(spaceCount=1;spaceCount<=row;++spaceCount)

printf("”);〃打印出某行上星號前的空格

for(starCount=1;starCount<=2*(n-row)-1;++starCount)

printf("*");〃打印出某行上的所有星號

printf("\n");〃換行

}

1

(5)

#includc<stdio.h>

main()

(

intn;

intg,s,b,q;

intt;

scanf("%d",&n);

g=n%1();

s=n/10%10;

b=n/100%10;

q=n/1000%l0;

g=(g+5)%10;

s=(s+5)%10;

b=(b+5)%10;

q=(q+5)%10;

〃第1位和第4位交換

t=g;g=q;q=t;

〃第2位和第3位交換

t=s;s=b;b=t;

prinlf(n%d%d%d%d\n",q,b,s,g);

第6章

1.

(1)局部(2)void(3)autostaticexternregister

(4)auto(5)return(6)遞歸(7)無返回值

(8)double2(9)求1!+2!+3!+4!+5!

(10)注意全局變量和局部變量的區(qū)別(11)無限循環(huán)(死循環(huán))

(12)result=720

2.

(I)

#include<stdio.h>

voidprint1(intn);

main()

(

intn;

scanf(n%d",&n);

print1(n);

1

voidprint1(intn)

(

introw,col;

for(rovv=1;row<=n;row++)

(

for(col=1;col<=row;col++)

printfC'r);

printfCVn*');

(2)

#include<stdio.h>

voidprint2(intn);

main()

{

intn;

scanf("%d”,&n);

print2(n);

)

voidprint2(intn)

{

introw,col;

fbr(row=1;row<=n;row++)

{

for(col=l;col<=2*row-1;col++)

printf("\nM);

I

)

(3)

#include<stdio.h>

intyearOld(intbyear,intbmonth,intbday,intnyear,intnmonth,intnday);

main()

(

intnowy,nowm,nowd;

intby,bm,bd;

intage;

prinlf(”請輸入生日:");

scanf(',%d%d%du,&by,&bm,&bd);

prinlf(”請輸入現(xiàn)在日期:");

scanf(u%d%d%d",&novvy,&nowm,&novvd);

age=yearOld(by,bm,bd,nowy,nowm,nowd);

printf("age=%d\n",age);

)

intyearOld(intbyear,inibmonlh,intbday,intnyear,intnmonlh,intnday)

I

intage;

age=nyear-byear;

if(nmonth<bmonth)

age-;

elseif(nmonth==bmonth&&nday>bday)

age-;

returnage;

(4)

#include<stdio.h>

intsum(intn);

main()

(

intn,s;

scanf("%d",&n);

s=sum(n);

printf(us=%d\nu,s);

1

intsum(intn)

{

ints=();

while(n)

(

s+=n%10;

n/=10;

)

returns;

)

(5)

#include<sidio.h>

doublesumfac(intn);

main()

{

intn;

scanf(”%d”,&n);

printf("%.01f\nu,sumfac(n));

1

doublesumfac(intn)

{

doublef=1.0,s=0.0;

inti;

for(i=l;i<=n;i++)

f*=i;

returnf;

(6)

#include<stdio.h>

intgcd(intm,intn);

main()

(

intm,n;

scanf(M%d%d",&m,&n);

printf("%d\n,',gcd(m,n));

1

intgcd(intm,intn)

{

intt,r;

if(m<n)

{t=m;m=n;n=t;}

r=m%n;

while(r)

(

m=n;

n=r;

r=m%n;

)

returnn;

)

(7)

#include<stdio.h>

doublemypower(doublex,inty);

main()

(

doublex;

inty;

scanf("%lf%d'r,&x,&y);

printf(n%lf\n",mypower(x,y));

)

doublemypower(doublex,inty)

(

inti;

doublef=1.0;

for(i=l;i<=y;i++)

f*二x;

returnf;

(8)

#include<stdio.h>

#include<math.h>

doublexc(doublex,doubley);

main()

(

doublea,b;

doublec;

scanf("%lf%lf&a,&b);

c=xc(a,b);

printfC4%lf\n,\c);

1

doublexc(doublex,doubley)

(

returnsqrt(x*x+y*y);

)

(9)

#include<stdio.h>

longseconds(inthour,intminute,intsecond);

main()

{

inth,m,s;

longsec;

printf("輸入時間:");

scanf(n%d%d%d\&h,&m,&s);

sec=seconds(h,m,s);

printf("離12點最近的秒數:%ld\n",sec);

1

longseconds(inthour,intminute,intsecond)

(

longs;

if(hour<6)

(

s=second+minute*6()+hour*60*6();

)

else

(

s=60-second+(60-minute-1)*60+(12-hour-1)*60*60;

)

returns;

1

(10)

#include<stdio.h>

intfun(intn);

main()

{

intn;

scanf("%d“,&n);

if(fun(n))〃是質數,則輸出該數;不是的話,不作任何處理

printf("%d\n",n);

1

intfun(intn)

(

inti;

for(i=2;i<n;i++)

if(n%i==0)

break;

if(i<n)

return0;

else

return1;

)

(11)

#includc<stdio.h>

intfun(intn);

main()

{

intn;

intcount=();

for(n=2;n<1000;n++)

if(fun(n))

(

printf("%4d",n);

count++;

if(count%10=0)

printf("\nu);

}

printfC'\n");

1

intfun(intn)

inti;

for(i=2;i<n;i++)

if(n%i==0)

break;

if(i<n)

return0;

else

return1;

)

(12)

#include<stdio.h>

intfunc(intn);

main()

{

intn;

scanf(”%d”,&n);

printf("%d\n^,,func(n));

)

intfunc(intn)

(

if(1==n)

return3;

return2*func(n-l)-l;

)

(13)

#include<sidio.h>

intgcd(intm,intn);

main()

{

intx,y,t;

scanf(',%d%dH,&x,&y);

if(x<y)

(

t=x;x=y;y=t;

)

printf("%d\n”,gcd(x,y));

(

intgcd(intm,intn)

(

if(0==n)

returnm;

returngcd(n,m%n);

第7章

(1)6(2)5(3)不能

(4)inta[3][2]={{l,2},{3,4},{5,6}};(注:賦值的數據可變動)

(5)69

(6)abcG

2.

(1)

#include<stdio.h>

voidreverse(inta[],intn);

intmain()

(

intarray[10]={0};

inti;

printf(“請輸入10個整數:”);

for(i=0;i<10;i++)

scanf("%d",&array[i]);

reversefarray,10);〃調用函數逆序存儲數組中的數據

printf("逆序后的兀素為:\n");

for(i=0;i<10;i++)

printf("%5d”,array。]);

printf("\n");

return0;

)

voidreverse(inta[],intn)

(

inti;

inttmp;

for(i=0;i<n/2;++i)

{

tmp=a[i];a[i]=a[n-i-l];a[n-i-l]=tmp;

)

)

(2)

#include<stdio.h>

#include<string.h>

voidreverseStrfcharstr[]);

main()

chars[100];

gets(s);

reverseStr(s);

puts(s);

)

voidreverseStr(charstr[])

(

inti,j;

chart;

i=0;

j=strlen(str)-l;

whilefi<j)

(

t=str[i];

str[i]=str[j];

str[j]=t;

i++;

j-;

)

)

(3)

#include<stdio.h>

intcopyTo(ints1[J,intn,ints2[]);

main()

(

intsl[10],s2[10];

inti,count;

for(i=0;i<10;i++)

scanf(,,%d'\&sl[i]);

count=copylb(sl,10,s2);

for(i=0;i<count;i++)

printf("%d",s2[ij);

printf(',\n,');

)

intcopyTo(intsi[],intn,ints2[])

(

inti,j=0;

for(i=0;i<n;i++)

if(sl[i]%2)

s2|j++]=Sl[i];

returnj;

)

(4)

#include<stdio.h>

voidcopyToStr(charstrl[],charstr2[]);

main()

(

charsi[1001,s2[100];

gets(sl);

copyToStr(si,s2);

puts(s2);

(

voidcopyToStr(charstrl[],charstr2[])

(

inti=0,j=0;

while(strl[i]!=,\0,)

{

if(strl[i]>-a'&&strl[i]<-z*)

(

slr2[j]=strl[i];

j++;

str2|j]=1XO';

returnj;

)

(5)

#includc<stdio.h>

voiddeleteAH(charstr[],charch);

main()

{

chars[100],ch;

gets(s);

ch=getchar();

deleteAH(s,ch);

puts(s);

)

voiddeleteAll(charstrf],charch)

inti,j;

i=0;

j=0;

while(str[i])

(

if(strfi]!=ch)

(

str[j++]=str[i];

)

i++;

}

str[j]='\0';

)

(6)

#include<stdio.h>

voidreplaceAll(charstr|),intchi,charch2);

main()

{

chars[100],cl,c2;

gets(s);

cl=getchar();

c2=getchar();

replaceAll(s,cl,c2);

puts(s);

)

voidreplaceAll(charstr|],intch1,charch2)

(

inti;

i=0;

while(str[i])

(

if(str[i]==chi)

strfi]=ch2;

i++;

(7)

#include<stdio.h>

inttransformToBin(intdnum,intbin⑴;

intmain()

intarray[32]={0};〃保存轉換后的二進制數

intnum;〃待套里的整數

intcc;〃最后得到的二進制總共多少位

printf(“請輸入一個整數:”);

scanf("%d",&num);

cc=transformToBin(num,array);//調用轉換函數

cc-;〃往回退一個元素下標,履cc指向最后一個元素

for(;cc>=O;cc-)〃愉出轉換后的二進制數

printf("%d",array[cc]);

printf("\n");

return0;

)

inttransformToBin(intdnum,intbin[])

(

intcount=0;

while(dnum)〃當dnum還未轉換完畢

(

bin[count++]=dnum%2;〃余數保留到數組對應元素中

dnum/=2;〃數本身除2

)

returncount;

)

(8)

#include<stdio.h>

inttransformToHex(intdnum,charhex[]);

intmain()

{

chararray[32];〃保存轉換后的進制數

intnum;〃待轉換的整數

intcc;〃最后得到的進制總共多少位

printf("請輸入一個整數:”);

scanf(n%d",&num);

cc=transfonnToHex(num,array);〃調用轉換函數

cc-;〃往回退一個元素下標,使cc指向最后一個元素

for(;cc>=();cc-)〃輸出轉換后的進制數

printf("%cn,array[cc]);

printf(',\n,');

return0;

)

inttransformToHex(intdnum,charhex[])

intcount=0;

intt;

while(dnum)〃當dnum還未轉換完畢

(

t=dnum%16;

if(l<10)

hex[count]=t+I)';//余數保留到數組對應元素中

else

hex[count]=t-lO+'A,;

count++;

dnum/=16;〃數本身除16

)

returncount;

(

(9)

#include<stdio.h>

#includc<stdlib.h>

#include<time.h>

#defineM5〃行

#defineN6//列

voidgenerate(inta[][N],introw,intcol);

voiddisplay(inta[][N],introw,intcol);

voidgctMaxEvcryRow(intintrow,intcol,inty[J);

main()

(

intarr[M][N],y[M]={0};

inti;

generate(arr,M,N);

display(arr,M,N);

gctMaxEvcr),Row(arr,M,N,y);

〃輸出最大值

for(i=0;i<M;i++)

printfC^d”,y[i]);

printfCYn*');

)

voidgenerate(inta[][N],introw,intcol)

(

intij;

srand(time(NULL));

for(i=0;i<M;i++)

for(j=0;j<N;j++)

a[i][j]=rand()%101;

)

voiddisplay(inta[][N],introw,intcol)

(

inti,j;

for(i=0;i<M;i++)

(

for(j=0;j<N;j++)

printf("%4d”,a[i][j]);

printf("\n");

}

)

voidgetMaxEveryRow(inta[][N],introw,intcol,inty[])

(

inti,j;

for(i=0;i<M;i++)

(

y[“=a用⑼;

forG=l;j<N;j++)

if(y[i]<a「皿)

yli]=aliJlj];

(10)

#includc<stdio.h>

#include<sidlib.h>

#include<time.h>

#defineM5〃行

#defineN6〃列

voidgenerate(inta[][N],introw,intcol);

voiddisplay(intalJ[N],introw,intcol);

voidgetMinEveryCol(inta[]fN],introw,intcol);

main()

{

intarr[M][N];

inti;

generate(arr,M,N);

display(arr,M,N);

getMinEveryCol(arr,M,N);

〃輸出最小超

for(i=0;i<N;i++)

printf(H%d”,arr[0][i]);

printf("\nn);

)

voidgenerate(inta[][N],introw,intcol)

(

inti,j;

srand(time(NULL));

for(i=l;i<M;i++)

for(j=0;j<N;j++)

a[i](j]=rand()%101;

)

voiddisplay(inta[l[N],introw,intcol)

{

inti,j;

for(i=l;i<M;i++)

{

for(j=0;j<N;j++)

printfC'%4dn,a[i][j]);

printf("\nM);

I

1

voidgetMinEveryCol(inta[][N],introw,intcol)

{

intij;

for(i=();i<N;i++)

(

a[0][i]=a[l][i];

for(j=2;j<M;j++)

if(a[O][i]>aU][i])

a[O][i]=a[j][il;

第8章

(1)xyzNKT

(2)bcdefgh

(3)4,4

(4)qponmzyx

(5)abcCD

(6)0

2.

(1)

#include<stdio.h>

#include<string.h>

voidreverse(int*p,intn);

inain()

inti;

inta[10]={123,4,5,6,7,8,9,10};

reverse(a,10);

for(i=0;i<10;i++)

printf(H%d",a[i]);

printf(u\n");

)

voidreverse(int*p,intn)

(

int*q;

intt;

q=p+n-1;

while(p<q)

(

t=*p;

*p=*q;

*q=t;

p++;

q-;

(2)

#include<stdio.h>

#include<string.h>

voidreverseStr(char*str);

main()

(

chars[l()()];

gets(s);

reverseStr(s);

puts(s);

)

voidreverseStr(char*str)

{

char*pEnd,t;

pEnd=str+strlen(str)-1;

while(str<pEnd)

t=

*str=*pEnd;

*pEnd=t;

str++;

pEnd—;

(3)

#include<stdio.h>

intcopyTo(int*sl,intn,int*s2);

main()

(

inta[10]={1,2,3,4,5,678,9,10};

intb|10],count,i;

count=copyTo(aJ0,b);

for(i=0;i<count;i++)

printf(H%d",b[i]);

printf(',\n,');

(

intcopyTo(int*sl,intn,int*s2)

(

intcount=0;

int*psl,*ps2;

ps2=s2;

for(psl=si;psi<si+n;ps1++)

(

if(*psl%2)〃奇數

(

*ps2++=*psl;

}

}

returnps2-s2;

(

(4)

#include<stdio.h>

voidcopyToStr(char*strl,char*s");

main()

{

charsl[100],s2[100];

gets(si);

copyToStr(sl,s2);

puts(s2);

voidcopyToStr(char*strl,char*str2)

while(*strl)

(

if(*strl>="a'&&*strl<='z')

(

*str2++=*strl;

}

strl++;

)

*str2='\0';

1

(5)

#include<stdio.h>

voiddeleteAll(char*str,charch);

main()

{

chars[100],c;

gets(s);

c=gctchar();

deleteAll(s,c);

puls(s);

)

voiddeleteAll(char*str,charch)

(

char+p;

p=str;

while(*str)

(

if(*str!=ch)

*p++=*str;

str++;

(

*p='\0r;

)

(6)

#include<stdio.h>

voidreplaceAll(char*str,charch1,charch2);

main()

chars[100],cl,c2;

prinlf("輸入字符串

gets(s);

prinlf("輸入查找字符:");

cl=getchar();

mush(stdin);〃清除鍵盤緩沖區(qū)

printf("輸入替換字符:”);

c2=getchar();

rcplaceAll(s,cl,c2);

puts(s);

)

voidreplaceAll(char*sir,charch1,charch2)

{

while(*str)

(

if(*str==chi)

(

*str=ch2;

}

str十十;

(7)

#include<stdio.h>

inttransformToBin(intdnum,int*bin);

intmain()

(

intarray[32];//保存轉換后的進制數

intnum;〃待轉換的整數

intcc;〃最后得到的進制總共多少位

printf("請輸入一個整數:”);

scanf(n%d",&num);

cc=transformToBin(num,array);〃調用轉換函數

CC-;〃使CC指向最后一個元素

for(;cc>=0;cc-)〃輸出轉換后的進制數

printf(H%d",array[cc]);

printfC^n1');

return0;

)

inttransformToBin(intdnum,int*bin)

int*pb;

intt;

pb=bin;

while(dnum)〃當dnum還未轉換完畢

(

t=dnum%2;

*pb=t;

pb++;

dnum/=2;〃數本身除2

)

returnpb-bin;

)

(8)

#include<stdio.h>

#include<string.h>

voidtransformTDHcx(intdnum,char*hex);

intmain()

(

chararray[32];〃保存轉換后的進制數

intnum;〃待轉換的整數

intcc;〃最后得到的進制總共多少位

printf("請輸入一個整數:?');

scanf(u%d",&num);

transformToHex(num,array);//調用轉換函數

cc=strlen(array)-l;〃使cc指向最后一個元素

for(;cc>=0;cc-)〃輸出轉換后的進制數

printf("%cH,array[cc]);

printf("\n");

return0;

1

voidtransformToHex(intdnum,char*hex)

{

char*ph;

intt;

ph=hex;

while(dnum)〃當dnum還未轉換完畢

(

t=dnum%16;

if(t<1())

*ph=t+'O';

else

*ph=t-10+'A';

ph++;

dnum/=16;〃數本身除16

*ph='\0';

(9)

#include<stdio.h>

voidstrToLow(char*str);

main()

(

chars[100];

gets(s);

strToLow(s);

puts(s);

1

voidstrToLow(char*str)

(

while(*str)

(

if(*str>=,A'&&*str<=,Z')

*str=*str+32;

str++;

)

)

第9章

1.

(1)12(2)A(3)D(4)p2!=NULL

(5)B(6)B(7)10,A

2.

(1)

structmyDate{

intyear,month,day;

);

(2)

structemplnfo{

charempNo[15];

charempName[10];

charxb;〃性別

intage;

structmyDateempDay;

doublesalary;

);

(3)

#include<stdio.h>

typedefstructSTUDENT{

charname[20];

floatheight;

intscore;

)STUD;

main()

(

STUDa;

prinlfC姓名:");

gets();

printf(“身高巧;

scanf("%f&a.height);

printf(“成績。;

scanf("%d”,&a.score);

〃輸出信息(僅為測試用)

printf(44%s%.2f%d\n",,a.height,a.score);

1

第10章

1.

(1)打開文件:fopen

關閉文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論