C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx

上传人:b****5 文档编号:14456741 上传时间:2023-06-23 格式:DOCX 页数:16 大小:16.35KB
下载 相关 举报
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第1页
第1页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第2页
第2页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第3页
第3页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第4页
第4页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第5页
第5页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第6页
第6页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第7页
第7页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第8页
第8页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第9页
第9页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第10页
第10页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第11页
第11页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第12页
第12页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第13页
第13页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第14页
第14页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第15页
第15页 / 共16页
C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx

《C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx(16页珍藏版)》请在冰点文库上搜索。

C语言程序的设计何钦铭 颜晖 主编复习题8答案.docx

C语言程序的设计何钦铭颜晖主编复习题8答案

P173习题8

第一题

#include

intmain(void)

{

charch;

inta[10];

inti,j,m;

printf("请输入10个整数:

\n");

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

printf("请输入%d第个数:

",i+1);

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

}

printf("请输入A或D:

");

scanf("%c",&ch);

if(ch=='A'){

for(i=0;i<9;i++){

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

if(a[i]>a[j]){

m=a[i];

a[i]=a[j];

a[j]=m;

}

}

}

}

elseif(ch=='D'){

for(i=0;i<9;i++){

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

if(a[i]

m=a[i];

a[i]=a[j];

a[j]=m;

}

}

}

}

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

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

}

return0;

}

第二题

#include

intmain(void)

{

inta[10];

inti,j,x;

intsearch(intlist[],inti,intx);

printf("输入10个整数:

");

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

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

printf("输入一个整数x:

");

scanf("%d",&x);

j=0;

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

if(search(a,i,x)!

=-1){

j++;

printf("%d",search(a,i,x));

}

else;

}

if(j==0)

printf("-1");

return0;

}

intsearch(intlist[],inti,intx)

{

intj;

j=0;

if(x==list[i])

j++;

else;

 

if(j==0)

return-1;

else

returni;

}

第三题

#include

voidhouyi(inta[],int*p,intn,intm);

intmain(void)

{

inta[20];

inti,m,n;

printf("请输入整数n:

");

scanf("%d",&n);

printf("请输入%d个整数:

",n);

for(i=0;i

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

printf("请输入您要后移的位数m:

");

scanf("%d",&m);

houyi(a,a,n,m);

for(i=0;i

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

printf("\n");

return0;

}

voidhouyi(inta[],int*p,intn,intm)

{

inti;

intb[20];

for(i=0;i

b[i]=a[i];

for(i=0;i

if(i<=n-m-1)

*(p+i+m)=b[i];

else

*(p+(i+m)%n)=b[i];

}

}

第四题

#include

voidswap2(int*,int*);

voidbubble(inta[],intn);

intmain(void)

{

intn,a[8];

inti;

printf("Entern(n<=8):

");

scanf("%d",&n);

printf("Entera[%d]:

",n);

for(i=0;i

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

bubble(a,n);

printf("Aftersorted,a[%d]=",n);

for(i=0;i

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

return0;

}

voidbubble(inta[],intn)

{

inti,j,m;

staticintb[8];

for(i=1;i

for(j=0;j

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

swap2(&a[j],&a[j+1]);

for(m=0;m

if(a[m]<=a[m+1])

b[m]++;

}

}

if(b[m]==n-1)

break;

}

}

voidswap2(int*px,int*py)

{

intt;

t=*px;

*px=*py;

*py=t;

}

第五题

#include

#include

voidmcopy(char*s,intm);

intmain(void)

{

inti,m,l;

charstr[100];

printf("请输入您要输入的字符串:

");

gets(str);

printf("您将从原字符串的第m位复制新字符串,请输入m:

\n");

scanf("%d",&m);

printf("复制后,新的字符串为:

");

mcopy(str,m);

return0;

}

voidmcopy(char*s,intm)

{

printf("%s\n",s+m-1);

}

第六题

#include

#include

voiddelchar(char*,charc);

intmain(void)

{

charstr[80];

charch;

printf("Enterastring:

");

gets(str);

printf("Enterdeletechar:

");

scanf("%c",&ch);

delchar(str,ch);

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

return0;

}

voiddelchar(char*s,charc)

{

inti,j;

charstr1[80];

j=0;

for(i=0;s[i]!

='\0';i++){

if(s[i]!

=c){

str1[j]=s[i];

j++;

}

}

str1[j]='\0';

for(i=0;str1[i]!

='\0';i++,s++){

*s=str1[i];

}

*s='\0';

}

第七题

#include

#include

structzfc{

charstr[80];

};

intmain(void)

{

inti,j;

charstr[80],str1[80];

structzfcs[5];

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

printf("请输入第%d个字符串:

",i+1);

scanf("%s",s[i].str);

}

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

for(j=i+1;j<=4;j++){

if(strcmp(s[i].str,s[j].str)>0){

strcpy(str1,s[i].str);

strcpy(s[i].str,s[j].str);

strcpy(s[j].str,str1);

}

}

}

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

puts(s[i].str);

}

return0;

}

第八题

#include

#include

intmain(void)

{

intl,i;

charstr[80],str1[80];

char*p,*q;

p=str;

q=str1;

printf("请输入一串字符:

");

scanf("%s",str);

l=strlen(str);

for(i=0;*p!

='\0';p++,i++){

*(q+l-1-i)=*p;

}

*(q+l)='\0';

if(strcmp(str,str1)==0)

printf("输入的字符串是“回文”!

\n");

else

printf("输入的字符串不是“回文”!

\n");

return0;

}

第九题

#include

#include

intmain(void)

{

charstr[80];

char*p;

p=str;

intn1,n2,n3,n4,n5;

 

printf("输入一行文字:

");

gets(str);

n1=n2=n3=n4=n5=0;

for(;*p!

='\0';p++){

if((*p>='A')&&(*p<='Z'))

n1++;

elseif((*p>='a')&&(*p<='z'))

n2++;

elseif(*p=='')

n3++;

elseif((*p>='0')&&(*p<='9'))

n4++;

else

n5++;

}

printf("大写字母字符的个数为:

%d\n",n1);

printf("小写字母字符的个数为:

%d\n",n2);

printf("空格字符的个数为:

%d\n",n3);

printf("数字字符的个数为:

%d\n",n4);

printf("其他字符的个数为:

%d\n",n5);

return0;

}

第十题

#include

#include

intstrcomp(chars1[80],chars2[80]);

intmain(void)

{

intm;

charstr1[80],str2[80];

printf("请输入第一个字符串:

");

scanf("%s",str1);

printf("请输入第二个字符串:

");

scanf("%s",str2);

m=strcomp(str1,str2);

if(m==1)

printf("str1>str2\n");

elseif(m==0)

printf("str1=str2\n");

else

printf("str1

return0;

}

intstrcomp(chars1[80],chars2[80])

{

inta;

if(strcmp(s1,s2)>0)

a=1;

elseif(strcmp(s1,s2)==0)

a=0;

else

a=-1;

returna;

}

第十一题

#include

#include

voidfushu(char*p);

intmain(void)

{

charstr[80];

printf("请输入一个英语名词单词:

");

scanf("%s",str);

fushu(str);

puts(str);

return0;

}

voidfushu(char*p)

{

inti,l;

l=0;

for(i=0;*(p+i)!

='\0';i++){

l++;

}

if(*(p+l-1)=='y'){

*(p+l)='e';

*(p+l+1)='s';

*(p+l+2)='\0';

}

elseif((*(p+l-1)=='s')||(*(p+l-1)=='x')||((*(p+l-2)=='c')&&(*(p+l-1)=='h'))||((*(p+l-2)=='s')&&(*(p+l-1)=='h'))){

*(p+l)='e';

*(p+l+1)='s';

*(p+l+2)='\0';

}

elseif(*(p+l-1)=='o'){

*(p+l)='e';

*(p+l+1)='s';

*(p+l+2)='\0';

}

else{

*(p+l)='s';

*(p+l+1)='\0';

}

}

第十二题

#include

#include

intmain(void)

{

inti,j,a,n,sum,average;

int*p;

printf("Entern:

");

scanf("%d",&n);

if((p=(int*)calloc(n,sizeof(int)))==NULL){

printf("Notabletoallocatememory.\n");

exit

(1);

}

printf("您将输入%d个学生的成绩!

\n",n);

for(i=0;i

printf("请输入第%d个学生的成绩:

",i+1);

scanf("%d",p+i);

}

sum=0;

for(i=0;i

sum=sum+*(p+i);

average=sum/n;

for(i=0;i

for(j=i+1;j

if(*(p+i)>*(p+j)){

a=*(p+i);

*(p+i)=*(p+j);

*(p+j)=a;

}

}

}

printf("学生的平均成绩是:

%d\n",average);

printf("学生的最高成绩是:

%d\n",*(p+n-1));

printf("学生的最低成绩是:

%d\n",*p);

return0;

}

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

当前位置:首页 > 职业教育 > 职高对口

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

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