C语言课后习题8.docx

上传人:b****8 文档编号:12976324 上传时间:2023-06-09 格式:DOCX 页数:10 大小:21.02KB
下载 相关 举报
C语言课后习题8.docx_第1页
第1页 / 共10页
C语言课后习题8.docx_第2页
第2页 / 共10页
C语言课后习题8.docx_第3页
第3页 / 共10页
C语言课后习题8.docx_第4页
第4页 / 共10页
C语言课后习题8.docx_第5页
第5页 / 共10页
C语言课后习题8.docx_第6页
第6页 / 共10页
C语言课后习题8.docx_第7页
第7页 / 共10页
C语言课后习题8.docx_第8页
第8页 / 共10页
C语言课后习题8.docx_第9页
第9页 / 共10页
C语言课后习题8.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课后习题8.docx

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

C语言课后习题8.docx

C语言课后习题8

8.1

hcf(u,v)

intu,v;

{inta,b,t,r;

 if(u>v){t=u;u=v;v=t;}

 a=u;b=v;

 while((r=b%a)!

=0)

  {b=a;a=r;}

 return(a);

}

lcd(u,v,h)

intu,v,h;

{return(u*v/h);}

main()

{intu,v,h,l;

 scanf("%d,%d",&u,&v);

 h=hcf(u,v);

 printf("H.C.F=%d\n",h);

 l=lcd(u,v,h);

 printf("L.C.D=%d\n",l);

}

8.2

#include"math.h"

floatx1,x2,disc,p,q;

greater_than_zero(a,b)

floata,b;

{x1=(-b+sqrt(disc))/(2*a);

 x2=(-b-sqrt(disc))/(2*a);

}

equal_to_zero(a,b)

flaota,b;

{x1=x2=-b/(2*a);}

smaller_than_zero(a,b)

floata,b;

{p=-b/(2*a);

 q=sqrt(-disc)/(2*a);

}

main()

{floata,b,c;

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

 disc=b*b-4*a*c;

 if(fabs(disc)<=1e-5)

  {equal_to_zero(a,b);

   printf("x1=%5.2f\tx2=%5.2f\n",x1,x2);

  }

 elseif(disc>0)

  {greater_than_zero(a,b);

   printf("x1=%5.2f\tx2=%5.2f\n",x1,x2);

  }

 else

  {smaller_than_zero(a,b);

   printf("x1=%5.2f+%5.2fi\tx2=%5.2f-%5.2fi\n",p,q,p,q);

  }

}

8.3

main()

{intnumber;

 scanf("%d",&number);

 if(prime(number))

  printf("yes");

 else

  printf("no");

}

intprime(number)

intnumber;

{intflag=1,n;

 for(n=2;n

  if(number%n==0)

    flag=0;

 return(flag);

}

8.4

#defineN3

intarray[N][N];

convert(array)

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;

 for(i=0;i

 for(j=0;j

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

 convert(array);

 for(i=0;i

  {printf("\n");

   for(j=0;j

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

   }

}

8.5

main()

{charstr[100];

 scanf("%s",str);

 inverse(str);

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

}

inverse(str)

charstr[];

{chart;

 inti,j;

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

  {t=str[i];

   str[i]=str[j-1];

   str[j-1]=t;

   }

}

8.6

charconcate(str1,str2,str)

charstr1[],str2[],str[];

{inti,j;

 for(i=0;str1[i]!

='\0';i++)

  str[i]=str1[i];

 for(j=0;str2[j]!

='\0';j++)

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

 str[i+j]='\0';

}

main()

{chars1[100],s2[100],s[100];

 scanf("%s",s1);

 scanf("%s",s2);

 concate(s1,s2,s);

 printf("\ns=%s",s);

}

8.7

main()

{charstr[80],c[80];

 voidcpy();

 gets(str);

 cpy(str,c);

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

}

voidcpy(s,c)

chars[],c[];

{inti,j;

 for(i=0,j=0;s[i]!

='\0';i++)

  if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='i'||

     s[i]=='I'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U')

    {c[j]=s[i];j++;}

 c[j]='\0';

}

8.8

main()

{charstr[80];

 scanf("%s",str);

 insert(str);

}

insert(str)

charstr[];

{inti;

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

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

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

  }

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

}

8.9

intalph,digit,space,others;

main()

{chartext[80];

 gets(text);

 alph=0,digit=0,space=0,others=0;

 count(text);

 printf("\nalph=%d,digit=%d,space=%d,others=%d\n",alph,digit,space,others);

}

count(str)

charstr[];

{inti;

 for(i=0;str[i]!

='\0';i++)

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

    alph++;

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

    digit++;

  elseif(strcmp(str[i],'')==0)

    space++;

  else

    others++;

}

8.11

#defineN10

charstr[N];

main()

{inti,flag;

 for(flag=1;flag==1;)

  {scanf("%s",str);

   if(strlen(str)>N)

     printf("inputerror");

   else

     flag=0;

   }

 sort(str);

 for(i=0;i

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

}

sort(str)

charstr[N];

{inti,j;

 chart;

 for(j=1;j

  for(i=0;(i

='\0');i++)

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

      {t=str[i];

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

       str[i+1]=t;

      }

}

8.13

main()

{intx,n;

 floatp();

 scanf("%d,%d",&n,&x);

 printf("P%d(%d)=%10.2f\n",n,x,p(n,x));

}

floatp(tn,tx)

inttn,tx;

{if(tn==0)

  return

(1);

 elseif(tn==1)

  return(tx);

 else

  return(((2*tn-1)*tx*p((tn-1),tx)-(tn-1)*p((tn-2),tx))/tn);

}

8.14

#defineN10

#defineM5

floatscore[N][M];

floata_stu[N],a_cor[M];

main()

{inti,j,r,c;

 floath;

 floats_diff();

 floathighest();

 r=0;

 c=1;

 input_stu();

 avr_stu();

 avr_cor();

 printf("\n number class 1 2 3 4 5 avr");

 for(i=0;i

  {printf("\nNO%2d",i+1);

   for(j=0;j

     printf("%8.2f",score[i][j]);

   printf("%8.2f",a_stu[i]);

   }

 printf("\nclassavr");

 for(j=0;j

  printf("%8.2f",a_cor[j]);

 h=highest(&r,&c);

 printf("\n\n%8.2f   %d   %d\n",h,r,c);

 printf("\n  %8.2f\n",s_diff());

}

input_stu()

{inti,j;

 floatx;

 for(i=0;i

  {for(j=0;j

     {scanf("%f",&x);

      score[i][j]=x;

     }

   }

}

avr_stu()

{inti,j;

 floats;

 for(i=0;i

  {for(j=0,s=0;j

     s+=score[i][j];

   a_stu[i]=s/5.0;

  }

}

avr_cor()

{inti,j;

 floats;

 for(j=0;j

  {for(i=0,s=0;i

     s+=score[i][j];

   a_cor[j]=s/(float)N;

  }

}

floathighest(r,c)

int*r,*c;

{floathigh;

 inti,j;

 high=score[0][0];

 for(i=0;i

  for(j=0;j

    if(score[i][j]>high)

      {high=score[i][j];

       *r=i+1;

       *c=j+1;

       }

 return(high);

}

floats_diff()

{inti,j;

 floatsumx=0.0,sumxn=0.0;

 for(i=0;i

  {sumx+=a_stu[i]*a_stu[i];

   sumxn+=a_stu[i];

  }

 return(sumx/N-(sumxn/N)*(sumxn/N));

}

8.17

#include

voidconvert(n)

intn;

{inti;

 if((i=n/10)!

=0)

  convert(i);

 putchar(n%10+'0');

}

main()

{intnumber;

 scanf("%d",&number);

 if(number<0)

  {putchar('-');

   number=-number;

  }

 convert(number);

}

8.18

main()

{intyear,month,day;

 intdays;

 scanf("\n%d,%d,%d",&year,&month,&day);

 days=sum_day(month,day);

 if(leap(year)&&(month>=3))

  days+=1;

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

}

staticintday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}

intsum_day(month,day)

intmonth,day;

{inti;

 for(i=1;i

  day+=day_tab[i];

 return(day);

}

intleap(year)

intyear;

{intleap;

 leap=year%4==0&&year%100!

=0||year%400==0;

 return(leap);

}

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

当前位置:首页 > 总结汇报 > 学习总结

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

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