'A'&&aprintf("%c,%c\n",a-1,a+1);elseif(a=='A')printf("没有前面字母");elseif(a=='Z')printf("没有后面字母\n");return0;}3、#include#includeintmain(){inta;scanf("%d",&a" />
当前位置:文档之家› c语言(第二版朱鸣华)课后编程题答案

c语言(第二版朱鸣华)课后编程题答案

c语言(第二版朱鸣华)课后编程题答案
c语言(第二版朱鸣华)课后编程题答案

第五章

1

2、#include

#include

int main()

{

char a;

scanf("%c",&a);

if(a>'A'&&a<'Z')

printf("%c,%c\n",a-1,a+1);

else if(a=='A')

printf("没有前面字母");

else if(a=='Z')

printf("没有后面字母\n");

return 0;

}

3、#include

#include

int main()

{

int a;

scanf("%d",&a);

if(a>=90&&a<=100)

printf("A\n");

else if(a>=80&&a<=89)

printf("B\n");

else if(a>=70&&a<=79)

printf("C\n");

else if(a>=60&&a<=69)

printf("D\n");

else

printf("E\n");

return 0;

}

4、#include

int main()

{

int year,month,day;

int maxdays[]={31,28,31,30,31,30,31,31,30,31,30,31};

printf("请输入年月日,中间用空格隔开!\n");

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

if(year%400==0 || (year%4==0 && year%100!=0)) maxdays[1]=29;

if(month>12 || month<1)

{

printf("日期不合法!\n");

return 0;

}

if(day>maxdays[month-1])

{

printf("日期不合法!\n");

return 0;

}

day++;

if(day==maxdays[month-1])

{ day=1;

month++;

if(month==12)

{

month=1;

year++;

}

}

printf("明天的日期是:%d-%d-%d\n",year,month,day);

return 0;

}

5、#include

int main()

{

double a,b,c;

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

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

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

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

else if((a==b)||(a==c)||(b==c))

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

else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)

printf("直角三角形\n");

else

printf("任意三角形\n");

else

printf("不能构成三角形");

return 0;

}

第六章

1、#include

int main()

{

int m,n,t,a,b;

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

b=m*n;

if (m==n)

{

printf("最小公倍数为:%d\n",m);

}

else if(m

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

while(n!=0)

{

a=m%n;

m=n;

n=a;

}

printf("最小公倍数为:%d\n",b/m);

}

else

{

while(n!=0)

{

a=m%n;

m=n;

n=a;

}

printf("最小公倍数为:%d\n",b/m);}

return 0;

}

2、#include

int main()

{

int n,i,s,j;

scanf("%d",&n);

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

{ s=0;

for(i=1;i

{

if(j%i==0)

s=s+i;

}

if(s==j)

printf("%d ",j);

}

return 0;

}

3、#include

int main()

{

double x,y,max=50,min=50;

for(x=0;x<=2;x=x+0.2)

{

y=2*(x*x*x)-3*(x*x*x*x)+6*(x*x*x*x*x)-4*x+50;

printf("当x=%.1f时,y=%f\n",x,y);

if(y>max)

max=y;

if(y

min=y;

}

printf("最大值为:%f\n",max);

printf("最小值为:%f\n",min);

return 0;

}

4、#include "stdio.h"

#include "math.h"

#define N 10

double acc(int n)

{

int i,t=1;

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

t=t*i;

return t;

}

double accu(float x,int n)

{

int y=2*n-1;

return pow(x,y)/(y*acc(n-1)); }

int main()

{ int i;

double y=0;

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

y=y+accu(0.5,i);

printf("x=0.5时y=%f\n",y);

y=0;

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

y=y+accu(1.0,i);

printf("x=1.0时y=%f\n",y);

y=0;

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

y=y+accu(2.0,i);

printf("x=2.0时y=%f\n",y);

y=0;

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

y=y+accu(3.0,i);

printf("x=3.0时y=%f\n",y);

y=0;

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

y=y+accu(4.0,i);

printf("x=4.0时y=%f\n",y); return 0;

}

5、略

第七章、

1、#include

#include

int main()

{ int i,j,t,a[10];

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

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

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

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

{

if(a[j]

{

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

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

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

return 0;

}

2、#include

#include

#include

int main()

{

int i,j,a[4][4];

int s=1;

srand(time(NULL));

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

{

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

{

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

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

}

printf("\n");

}

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

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

{

if(i==j)

s=s*a[i][j];

}

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

return 0;

}

3、#include

#include

int main()

{

int i,j,a[7][7];

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

{

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

{

if(i>=2&&j>=1&&j

{a[i][j]=a[i-1][j-1]+a[i-1][j];

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

else

{a[i][j]=1;

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

}

printf("\n");

}

return 0;

}

4、#include

#include

#include

int main()

{

int i,t,j=1;

char str[80];

printf("输入一个字符串:");

gets(str);

t=strlen(str);

for(i=0;i

if(str[i]!=str[t-i-1])

{

j=0;

break;

}

switch(j)

{

case 0:printf("该字符串不是回文");break;

case 1:printf("该字符串是回文");

}

return 0;

}

5、#include

#include

int main()

{

int i,j=0,temp,max,min,a[10];

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

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

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

{if(a[i]

{

min=a[i];

j=i;

}}

temp=a[0];a[0]=min;a[j]=temp;

j=0;

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

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

{

max=a[i];

j=i;

}}

temp=a[9];a[9]=max;a[j]=temp;

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

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

return 0;

}

第八章、

1、#include

#include

int sch_min(int a[5][5])

{

int i,min;

min=a[0][0];

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

if(a[i][i]

min=a[i][i];

return min;

}

int main()

{ int i,j,a[5][5];

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

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

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

printf("%d",sch_min(a));

return 0;

}

2、#include

#include

float fan(float x,int n)

{

if(n==1)

return x;

else

return x*fan(x,n-1);

}

int main()

{ float x,k;

int n;

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

k=fan(x,n);

printf("%f",k);

return 0;

}

3、#include

#include

int fan(int a[],int n,int b)

{

int i;

for(i=0;i

if(a[i]==b)

return i;

return 0;

}

int main()

{ int a[10],b,i,k;

printf("请输入数组的值:");

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

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

printf("请输入您想查找的值:");

scanf("%d",&b);

k=fan(a,10,b);

if(k==0)

printf("没有您要找的值");

else

printf("您要找的值在数组中的位置是%d\n",k+1);

return 0;

}

4、#include

#include

float pave,nave;

void saver(int a[],int n)

{

int i,k;

pave=0;

nave=0;

k=0;

for(i=0;i

if(a[i]<0)

{nave+=a[i];

k++;}

if(k==0)

nave=0;

else

nave/=k;

k=0;

for(i=0;i

if(a[i]>0)

{pave+=a[i];

k++;}

if(k==0)

pave=0;

else

pave/=k;

}

int main()

{ int a[5],i;

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

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

saver(a,5);

printf("%f %f",pave,nave);

return 0;

}

5、#include

#include

void deltaZero(double a,double b,double c)

{ double ans=-b/(2*a);

printf("x1=x2=%lf\n",ans);

}

void deltaLargerZero(double a,double b,double c) { double ans1,ans2,d;

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

ans1 = (-b+sqrt(d))/(2*a);

ans2 = (-b-sqrt(d))/(2*a);

printf("x1=%lf,x2=%lf\n",ans1,ans2);

}

void deltaLessZero(double a,double b,double c)

{ double real,imar,d;

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

real = -b/(2*a);

imar = sqrt(-d)/(2*a);

printf("x1=%lf+%lfi,x2=%lf-%lfi\n",real,imar,real,imar);

}

void main()

{ double a,b,c,x;

double d;

printf("please input a,b,c\n");

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

if(a==0&&b==0)

printf("没根");

else if(a==0&&c==0)

printf("x=%f",x=0);

else

{d=b*b-4*a*c;

if(d==0) deltaZero(a,b,c);

else if(d>0) deltaLargerZero(a,b,c);

else if(d<0) deltaLessZero(a,b,c);}

}

6、#include

void fan(int a[10][5])

{

int i,j;

double sum;

double aver;

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

{ sum=0;

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

{

sum+=a[i][j];

}

aver=sum/10;

printf("第%d门课平均分为%f\n",j+1,aver);

}

}

void gan(int a[10][5])

{

int i,j,t,a1,b1;

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

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

{

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

{

t=a[i][j];

a[i][j]=a[0][0];

a[0][0]=t;

a1=i;

b1=j;

}

}

printf("最高分是%d号学生,课程是第%d门\n",a1+1,b1+1); }

void main()

{

int a[10][5],i,j;

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

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

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

fan(a);

gan(a);

}

相关主题
文本预览
相关文档 最新文档