C语言课后习题答案110新.docx

上传人:b****1 文档编号:2395109 上传时间:2023-05-03 格式:DOCX 页数:33 大小:22.99KB
下载 相关 举报
C语言课后习题答案110新.docx_第1页
第1页 / 共33页
C语言课后习题答案110新.docx_第2页
第2页 / 共33页
C语言课后习题答案110新.docx_第3页
第3页 / 共33页
C语言课后习题答案110新.docx_第4页
第4页 / 共33页
C语言课后习题答案110新.docx_第5页
第5页 / 共33页
C语言课后习题答案110新.docx_第6页
第6页 / 共33页
C语言课后习题答案110新.docx_第7页
第7页 / 共33页
C语言课后习题答案110新.docx_第8页
第8页 / 共33页
C语言课后习题答案110新.docx_第9页
第9页 / 共33页
C语言课后习题答案110新.docx_第10页
第10页 / 共33页
C语言课后习题答案110新.docx_第11页
第11页 / 共33页
C语言课后习题答案110新.docx_第12页
第12页 / 共33页
C语言课后习题答案110新.docx_第13页
第13页 / 共33页
C语言课后习题答案110新.docx_第14页
第14页 / 共33页
C语言课后习题答案110新.docx_第15页
第15页 / 共33页
C语言课后习题答案110新.docx_第16页
第16页 / 共33页
C语言课后习题答案110新.docx_第17页
第17页 / 共33页
C语言课后习题答案110新.docx_第18页
第18页 / 共33页
C语言课后习题答案110新.docx_第19页
第19页 / 共33页
C语言课后习题答案110新.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言课后习题答案110新.docx

《C语言课后习题答案110新.docx》由会员分享,可在线阅读,更多相关《C语言课后习题答案110新.docx(33页珍藏版)》请在冰点文库上搜索。

C语言课后习题答案110新.docx

C语言课后习题答案110新

第四章

5、#include“stdio.h”

main()

{charc;

intw,x,y,z;

w=x=y=z=0;

while((c=getchar())!

=’\n’)

{if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’))

w++;

elseif(c==’’)

x++;

elseif(c>’0’&&c<’9’)

y++;

elsez++}

printf(“英文字母个数:

%d\n”,w);

printf(“空格个数:

%d\n”,x);

printf(“数字个数:

%d\n”,y);

printf(“其他字母个数:

%d\n”,z);}

第五章1.#include"stdio.h"

main()

{inta[11];

inti,j,t;

printf("input10number:

\n");

for(i=1;i<11;i++)

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

printf("\n");

for(i=1;i<=9;i++)

for(j=1;j<=10-i;j++)

if(a[j]

{t=a[j];a[j]=a[j+1];a[j+1]=t;}

printf("thesortednumberis:

\n");

for(i=1;i<11;i++)

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

2.#include"stdio.h"

main()

{inta[11],i,b;

printf("imput10sortednumber:

\n");

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

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

printf("inputaninteger:

\n");

scanf("%d",&b);

for(i=9;i>=0&&a[i]>b;i--)

a[i+1]=a[i];

a[i+1]=b;

printf("sortednumbers:

\n");

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

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

5.#include"stdio.h"

main()

{inta[3][4],i,j,max,row,col;

printf("input3*4matrix:

\n");

for(i=0;i<3;i++)/*输入3*4矩阵*/

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

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

max=a[0][0];row=0;col=0;

for(i=0;i<3;i++)/*寻找矩阵中的最大值及其行列号*/

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

if(max

{max=a[i][j];row=i,col=j;}

printf("\n数组中最大的数是%d,其行号是%d,列号是%d\n",max,row,col);}

6.#defineN3

#defineM4

#include"stdio.h"

main()

{inta[N][M],i,j,k,max,row,col;

printf("input%d*%dmatrix:

\n",N,M);

for(i=0;i

for(j=0;j

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

for(i=0;i

{max=a[i][0];row=i;col=0;

for(j=1;j

if(max

{max=a[i][j];col=j;}

for(k=0;k

if(a[k][col]

break;

if(k==N)/*得到鞍点*/

{printf("thepointis%d,row=%d,col=%d\n",max,row,col);break;}

}

if(i==N)/*没有鞍点*/

printf("nopoint\n");}

8.#include"stdio.h"

main()

{inti,j,uppn,lown,dign,span,othn;/*uppn,lown,dign,span,othn分别存放英文大写字母、小写字母、数字、空格和其他字符的个数*/

chartext[3][80];

uppn=lown=dign=span=othn=0;

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

{gets(text[i]);

for(j=0;j<80&&text[i][j]!

='\0';j++)

{if(text[i][j]>='A'&&text[i][j]<='Z')

uppn++;

elseif(text[i][j]>='a'&&text[i][j]<='z')

lown++;

elseif(text[i][j]>='0'&&text[i][j]<='9')

dign++;

elseif(text[i][j]=='')

span++;

else

othn++;}

}

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

printf("%s\n",text[i]);

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

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

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

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

printf("othn=%d\n",othn);}

9.#include"stdio.h"

main()

{inti,j;

charstr1[20],str2[20];

printf("inputtwostrings:

\n");

gets(str1);

gets(str2);

j=strlen(str1);/*求字符串1的长度*/

for(i=0;str2[i]!

='\0';i++,j++)/*字符串合并*/

str1[j]=str2[i];

str1[j]='\0';/*加上字符串结束标志*/

puts(str1);}

10.#include"stdio.h"

main()

{inti,n;

charstr1[20],str2[20];

printf("inputtwostrings:

(nomorethan20characters)\n");

gets(str1);gets(str2);

n=strlen(str1)

strlen(str1):

strlen(str2);/*n中存放较短字符串的长度*/

for(i=0;i

printf("%d\n",str1[i]-str2[i]);}

六:

1.main()

{intn;

printf("inputn(n>0):

\n");

scanf("%d",&n);

if(prime(n))

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

elseprintf("%disnotasushu\n",n);}

intprime(intn)

{intflag=1,i;

for(i=2;i<=n/2&&flag==1;i++)

if(n%i==0)flag=0;

return(flag);}

2.#defineN3

convert(intarray[3][3])

{inti,j,t;

for(i=0;i

for(j=i+1;j

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;}

}

main()

{inti,j;

inta[N][N];

printf("inputa:

\n");

for(i=0;i

for(j=0;j

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

printf("Arraya:

\n");

for(i=0;i

{for(j=0;j

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

printf("\n");}

convert(a);

printf("adezhuanzhiis:

\n");

for(i=0;i

{for(j=0;j

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

printf("\n");}

}

3.#include

#include

main()

{charstr[100];

printf("inputastring:

\n");

gets(str);

inverse(str);

printf("thereversedstringis:

%s\n",str);}

inverse(charstr[])

{chart;

inti,j;

for(i=0,j=strlen(str)-1;i

{t=str[i];

str[i]=str[j];

str[j]=t;}}

4.#include

concat(charstr1[],charstr2[])

{inti=0,j;

while(str1[i]!

='\0')

i++;

for(j=0;str2[j]!

='\0';i++,j++)

str1[i]=str2[j];

str1[i]='\0';}

main()

{charstr1[100],str2[100];

gets(str1);gets(str2);

concat(str1,str2);

puts(str1);}

5.main()

{charstr[80];

printf("inputastring(4geshuzizifu):

\n");

scanf("%s",str);

insert(str);

printf("resultis:

\n%s\n",str);}

insert(charstr[])

{inti;

for(i=strlen(str);i>0;i--)

{str[2*i]=str[i];

str[2*i-1]='';}

}

6.#include"stdio.h"

inti,ndight,nwhite,nletter,nother;

count(charstr[])

{ndight=nwhite=nletter=nother=0;

for(i=0;str[i]!

='\0';i++)

if(str[i]>='0'&&str[i]<='9')

ndight++;

elseif((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))

nletter++;

elseif(str[i]=='')

nwhite++;

elsenother++;}

main()

{chartext[80];

printf("inputastring:

\n");

gets(text);

count(text);

printf("ndight=%d,nletter=%d,nwhite=%d,nother=%d\n",ndight,nletter,nwhite,nother);}

7.#defineN10

#include

sort(charstr[])

{inti,j;

chart;

for(i=1;i

for(j=0;j

if(str[j]>str[j+1])

{t=str[j];str[j]=str[j+1];str[j+1]=t;}}

main()

{charstr[N];

inti;

printf("Input10gezifu:

\n");

gets(str);

sort(str);

printf("Thesortedresult:

\n");

for(i=0;i

printf("%c",str[i]);}

8.#include

#include

#defineN10

voidinput_e(intnum[],charname[N][8])

{inti;

for(i=0;i

{printf("inputgonghao:

");

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

printf("inputname:

");

getchar();

gets(name[i]);}

for(i=0;i

printf("%5d%10s\n",num[i],name[i]);}

voidsort(intnum[],charname[N][8])/*选择法排序*/

{inti,j,min,temp1;

chartemp2[8];

for(i=0;i

{min=i;

for(j=i+1;j

if(num[j]

temp1=num[i];

strcpy(temp2,name[i]);

num[i]=num[min];

strcpy(name[i],name[min]);

num[min]=temp1;

strcpy(name[min],temp2);}

printf("thesortedresult:

\n");

for(i=0;i

printf("%5d%10s\n",num[i],name[i]);}

voidsearch(intn,intnum[],charname[N][8])/*折半查找法*/

{inttop,bott,mid,find;

find=0;

top=0;

bott=N-1;

if((nnum[N-1]))

find=-1;

while((find==0)&&(top<=bott))

{mid=(bott+top)/2;

if(n==num[mid])

{find=1;printf("%dnameis:

%s\n",n,name[mid]);}

elseif(n

bott=mid-1;

elsetop=mid+1;}

if((find==-1)||(find==0))

printf("%disnotfound.\n",n);}

main()

{intnum[N],number,c,flag;

charname[N][8];

input_e(num,name);

sort(num,name);

for(flag=1;flag;)

{printf("pleaseinputchazhaodegonghao:

");/*输入查找的工号*/

scanf("%d",&number);

search(number,num,name);

printf("continueY/N?

");/*是否继续查找*/

getchar();

c=getchar();

if(c=='N'||c=='n')

flag=0;}

}

9.#include"stdio.h"

#defineMAX10

main()

{charstr[MAX];

charc;

inti;

i=0;

printf("inputnumber(16jinzhi):

");/*输入一个十六进制的数*/

while((c=getchar())!

='\n'&&i

{str[i]=c;

i++;}

str[i]='\0';

printf("resultis:

%d\n",htod(str));}

inthtod(chars[])

{inti,n;

n=0;

for(i=0;s[i]!

='\0';i++)

{if(s[i]>='0'&&s[i]<='9')

n=n*16+s[i]-'0';

if(s[i]>='a'&&s[i]<='f')

n=n*16+s[i]-'a'+10;

if(s[i]>='A'&&s[i]<='F')

n=n*16+s[i]-'A'+10;}

return(n);}

10.#defineSWAP(a,b)t=a;a=b;b=t

main()

{inta,b,t;

printf("inputa,b:

");

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

SWAP(a,b);

printf("result:

a=%d,b=%d\n",a,b);}

11.#defineSURPLUS(a,b)((a)%(b))

main()

{inta,b;

printf("inputa,b:

");

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

printf("resultis:

%d\n",SURPLUS(a,b));}

12.main()

{inta,b,c;

printf("inputa,b,c:

");

scanf("%d,%d,%d",&a,&b,&c);

printf("max=%d\n",max(a,b,c));}

intmax(intx,inty,intz)

{intt;

t=(x>y?

x:

y);

return(t>z?

t:

z);}

#defineMAX(x,y)((x)>(y)?

(x):

(y))

main()

{inta,b,c;

printf("inputa,b,c:

");

scanf("%d,%d,%d",&a,&b,&c);

printf("max=%d\n",MAX(MAX(a,b),c));}

13.#include"stdio.h"

#defineCHANGE1

#defineMAX80

main()

{charstr[MAX];

inti;

printf("inputastring:

\n");

gets(str);

#if(CHANGE)

{for(i=0;str[i]!

='\0';i++)

if(str[i]>='a'&&str[i]<'z'||str[i]>='A'&&str[i]<'Z')

str[i]=str[i]+1;

elseif(str[i]=='z'||str[i]=='Z')

str[i]=str[i]-25;}

#endif

printf("%s\n",str);}

七:

1、main()

{inta[10],i,temp,*p=a;

printf("Pleaseinputarraya:

\n");

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

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

printf("arraya:

\n");

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

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

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

{temp=p[i];

p[i]=p[10-i-1];

p[10-i-1]=temp;}

printf("\nNowarraya:

\n");

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

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

2、main()

{inta[3][3],*p,i,j;

printf("pleaseinputmatrix:

\n");

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

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

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

p=&a[0][0];

move(p);

printf("\nNowmatrix:

\n");

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

{for(j=0;j<3;j++)

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

printf("\n");}

}

move(int*q)

{inti,j,t;

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

for(j=i;j<3;j++)

{t=*(q+3*i+j);

*(q+3*i+j)=*(q+3*j+i);

*(q+3*j+i)=t;}

}

3、#include

#include

#include

#include

main()

{intbinary();

voidinsert();

char*temp,*ptr1[6]={"BASIC","DATA","PASCAL","SQL","USE"};

inti;

ptr1[5]=malloc(20);

printf("\n");

printf("originalstring:

\n");

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

printf("%s\n",ptr1[i]);

printf("inputsearchstring:

\n");

temp=malloc(20);

gets(temp);

i=binary(ptr1,temp,5);

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

insert(ptr1,temp,5,i);

printf("outputstrings:

\n");

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

printf("%s\n",ptr1[i]);}

intbinary(char*ptr[],char*str,intn)

{inthig,low,mid;

low=0;

hig=n-1;

if(strcmp(str,ptr[0])<0)return(0);

if(strcmp(str,ptr[hig])>0)return(n);

while(low<=hig)

{mid=(low+hig)/2;

if(strcmp(str,ptr[mid])<0)

hig=mid-1;

elseif(strcmp(str,ptr[mid])>0)

low=mid

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2