西工大C语言C++作业答案.docx
《西工大C语言C++作业答案.docx》由会员分享,可在线阅读,更多相关《西工大C语言C++作业答案.docx(84页珍藏版)》请在冰点文库上搜索。
西工大C语言C++作业答案
CH0408.txt
#include
voidmain()
{
doubler,h,l,s,sq,vq,vz;
scanf("%lf%lf",&r,&h);
l=2*3.141592653*r;
s=3.141592653*r*r;
sq=4*3.141592653*r*r;
vq=4*3.141592653*r*r*r/3;
vz=3.141592653*r*r*h;
printf("l=%.2lf\ns=%.2lf\nsq=%.2lf\nvq=%.2lf\nvz=%.2lf\n",l,s,sq,vq,vz);
}
CH0505.txt
#include
voidmain()
{
intx,y;
scanf("%d",&x);
if(x>=1)
if(x>=10)
y=3*x-11;
elsey=2*x-1;
elsey=x;
printf("y=%d",y);
}
CH0510.txt
#include
voidmain()
{
doublex,y;
inth=10;
scanf("%lf%lf",&x,&y);
if((x-2)*(x-2)+(y-2)*(y-2)<=1)
printf("h=10\n");
else
if((x+2)*(x+2)+(y-2)*(y-2)<=1)
printf("h=10\n");
else
if((x-2)*(x-2)+(y+2)*(y+2)<=1)
printf("h=10\n");
else
if((x+2)*(x+2)+(y+2)*(y+2)<=1)
printf("h=10\n");
elseprintf("h=0\n");
}
CH0603.txt
#include
#include
voidmain()
{
longinta,n,sum=0,b,i;
scanf("%d%d",&a,&n);
for(i=1;i<=n;i++)
{
b=pow(10,i);
sum+=b;
}
sum=a*sum/9;
printf("a+aa+aaa+...=%ld\n",sum);
}
CH0607.txt
#include
#include
voidmain()
{intn,i,j,t,k;
for(n=2;n<=1000;n++)
{
i=1;j=0;t=0;k=0;
for(i=1;i{
if(n%i==0)
t=t+i;
}
if(t==n)
{
printf("%d",n);
for(i=1;i{
if(n%i==0&&i!
=1)
printf("+%d",i);
elseif(n%i==0&&i==1)
printf("=%d",i);
}
printf("\n");
}
}
}
CH0611.txt
#include
#include
voidmain()
{
floata,x,x1,x2=1.0;
scanf("%f",&a);
x1=(x2+a/x2)/2;
while(fabs(x2-x1)>=pow(10,-5))
{x2=x1;
x1=(x2+a/x2)/2;
}
x=x1;
printf("x=%.5f",x);
}
CH0613.txt
#include
#include
voidmain()
{doublex,x1,x2,x3,fx1,fx2,fx3;
scanf("%lf%lf",&x1,&x2);
fx1=(2*x1*x1*x1-4*x1*x1+3*x1-6);
fx2=(2*x2*x2*x2-4*x2*x2+3*x2-6);
if(fx1*fx2<0)
{
while(fabs(x1-x2)>=1e-6)
{
x3=(x1+x2)/2;
fx3=(2*x3*x3*x3-4*x3*x3+3*x3-6);
if(fx3*fx1<0)
x2=x3;
else
x1=x3;
}
x=x1;
printf("x=%.2lf",x);
}
}
CH0615.txt
#include
voidmain()
{
chari,j,k;
for(i='x';i<='z';i++)
for(j='x';j<='z';j++)
if(i!
=j)
for(k='x';k<='z';k++)
if(i!
=k&&j!
=k)
if(i!
='x'&&k!
='x'&&k!
='z')
printf("a--%cb--%cc--%c",i,j,k);
}
CH0701.txt
#include
voidmain()
{
inta[101],i,j;
for(i=2;i<101;i++)
a[i]=1;
for(i=2;i<=100;i++)
for(j=2;j*i<=100;j++)
a[i*j]=0;
for(i=2;i<=100;i++)
{
if(a[i]==1)printf("%d",i);
}
printf("\n");
}
CH0707.txt
#include
voidmain()
{
intn,i,j,a[16][16],m=1,k;
while(m==1)
{
scanf("%d",&n);
if((n!
=0)&&(n<=15)&&(n%2!
=0))m=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
{
i=i-1;
j=j+1;
if((i<1)&&(j>n))
{
i=i+2;
j=j-1;
}
else
{
if(i<1)i=n;
if(j>n)j=1;
}
if(a[i][j]==0)
a[i][j]=k;
else
{
i=i+2;
j=j-1;
a[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%2d",a[i][j]);
printf("\n");
}
}
CH0709.txt
#include
voidmain()
{
inta[16]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812},i=0,j;
scanf("%d",&j);
a[15]=j;
while(a[i]!
=j)
i++;
if(i<15)
printf("%d\n",i+1);
else
printf("nofound\n");
}
CH0714.txt
#include
voidmain()
{
chars1[100],s2[100],i,k;
gets(s1);
gets(s2);
for(i=0;s1[i]!
='\0'&&s2[i]!
='\0';i++)
if(s1[i]!
=s2[i])break;
k=s1[i]-s2[i];
printf("%d\n",k);
}
CH0814.txt
#include"stdio.h"
#defineN5
#defineM3
floatscore[N][M];
floata_stu[N],a_cour[M];
intr,c;
voidmain()
{floats_var();
voidinput_stu();
voidaver_stu();
voidaver_cour();
inti,j;
input_stu();
aver_stu();
aver_cour();
for(i=0;iprintf("%.3f",a_stu[i]);
printf("\n");
for(j=0;jprintf("%.3f",a_cour[j]);
printf("\n");
printf("d=%.3f",s_var());
}
voidinput_stu()
{
inti,j;
for(i=0;ifor(j=0;jscanf("%f",&score[i][j]);
}
voidaver_stu()
{
inti,j;
floats;
for(i=0;i{
for(j=0,s=0;js+=score[i][j];
a_stu[i]=s/3.0;
}
}
voidaver_cour()
{
inti,j;
floats;
for(j=0;j{s=0;
for(i=0;is+=score[i][j];
a_cour[j]=s/(float)N;
}
}
floats_var()
{inti;
floatsumx,sumxn;
sumx=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));
}
CH0817.txt
#include
voidmain()
{
longnum;
chara[100],*p=a;
scanf("%ld",&num);
if(!
num)
printf("%d",num);
while(num)
{*p++=num%10+'0';num/=10;}
*p=0;
printf("%s",a);
}
CH1005.txt
#include"stdio.h"
voidmain()
{
inti,k,m,n,num[50],*p;
scanf("%d",&n);
p=num;
for(i=0;i*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m{
if(*(p+i)!
=0)
k++;
if(k==3)
{
*(p+i)=0;
k=0;m++;
}
i++;
if(i==n)i=0;
}
while(*p==0)
p++;
printf("%d\n",*p);
}
CH1007.txt
#include"stdio.h"
voidmain()
{
voidcopystr(char*p1,char*p2,intm);
intm;
charstr1[20],str2[20];
gets(str1);
scanf("%d",&m);
copystr(str1,str2,m);
printf("%s",str2);
}
voidcopystr(char*p1,char*p2,intm)
{
intn;
n=0;
while(n{
n++;
p1++;}
while(*p1!
='\0')
{
*p2=*p1;
p1++;
p2++;
}
*p2='\0';
}
CH1011.txt
#include"stdio.h"
#include"string.h"
voidmain()
{
voidsort(chars[10][6]);
inti;
charstr[10][6];
for(i=0;i<10;i++)
scanf("%s",str[i]);
sort(str);
for(i=0;i<10;i++)
printf("%s",str[i]);
}
voidsort(chars[10][6])
{
inti,j;
char*p,temp[10];
p=temp;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(strcmp(s[j],s[j+1])>0)
{
strcpy(p,s[j]);
strcpy(s[j],s[+j+1]);
strcpy(s[j+1],p);
}
}
CH1016.txt
#include"stdio.h"
voidmain()
{
charstr[50],*pstr;
inti,j,k,m,e10,dight,ndight,a[10],*pa;
gets(str);
pstr=&str[0];
pa=&a[0];
ndight=0;
i=0;
j=0;
while(*(pstr+i)!
='\0')
{
if((*(pstr+i)>='0')&&(*(pstr+i)<='9'))
j++;
else
{
if(j>0)
{
dight=*(pstr+i-1)-48;
k=1;
while(k{
e10=1;
for(m=1;m<=k;m++)
e10=e10*10;
dight=dight+(*(pstr+i-1-k)-48)*e10;
k++;
}
*pa=dight;
ndight++;
pa++;
j=0;
}
}
i++;
}
if(j>0)
{
dight=*(pstr+i-1)-48;
k=1;
while(k{
e10=1;
for(m=1;m<=k;m++)
e10=e10*10;
dight=dight+(*(pstr+i-1-k)-48)*e10;
k++;
}
*pa=dight;
ndight++;
j=0;
}
printf("num=%d\n",ndight);
j=0;
pa=&a[0];
for(j=0;jprintf("%d",*(pa+j));
printf("\n");
}
CH1112.txt
#include
voidmain()
{
structNUM
{structNUM*up;
structNUM*next;
intn;
}num[1000];
structNUM*p=&num[0],*p2;p->up=NULL;
intt;
do
{scanf("%d",&t);
p->n=t;
p->next=p+1;
p->next->up=p;
p++;
}while(t!
=0);p--;
p->up->next=NULL;p=p->up;
p2=&num[0];printf("原始表:
");
while(p2->next)
printf("%d->",(p2++)->n);printf("%d\n",p2->n);
printf("反转表:
");
while(p->up)
printf("%d->",(p--)->n);printf("%d",p->n);
}
SXC01.txt
#include
#include
voidmain()
{
doublex,y;
scanf("%lf",&x);
if(x<0)
y=-x;
else
if(x<10)
y=x*x;
elsey=sqrt(x);
printf("y=%.6lf",y);
}
SXC03.txt
#include
voidmain()
{
doublea,b,c;
scanf("%lf%lf",&a,&b);
if(a>=20)
if(b>2000)c=b+200;
elsec=b+180;
else
if(b>1500)c=b+150;
elsec=b+120;
printf("%.6lf",c);
}
SXC04.txt
#include
voidmain()
{floata,b,c;
scanf("%f:
%f",&a,&b);
c=(a+b/60)*30-b*6;
if(c>180)c=360-c;
printf("c=%.0f\n",c);
}
SXC05.txt
#include
voidmain()
{
inta,b,x,y,m,n;
scanf("%d/%d%d/%d",&a,&b,&x,&y);
m=a*y;
n=b*x;
if(m>n)
printf("%d/%d>%d/%d\n",a,b,x,y);
else
if(mprintf("%d/%d<%d/%d\n",a,b,x,y);
else
printf("%d/%d=%d/%d\n",a,b,x,y);
}
SXD02.txt
#include
voidmain()
{
inti;
for(i=100;i<=200;i++)
{
if(i%4==2&&i%7==3&&i%9==5)
printf("%d\n",i);
}
}
SXD03.txt
#include
#include
voidmain()
{
intm,a,b,x,y,i,k;
scanf("%d%d",&a,&b);
if(a>b)x=b,y=a;
elsex=a,y=b;
for(m=x;m<=y;m=m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
printf("%d",m);
}
}
SXD04.txt
#include
#include
voidmain()
{
doubles,a,b,c,i;
a=2;b=1;s=0;
for(i=1;i<=20;i++)
{
s=s+a/b;
c=a;
a=a+b;
b=c;
}
printf("%.6lf",s);
}
SXD06.txt
#include
#include
voidmain()
{
inti1,i2,i3,i5,i8,ii1,ii2,ii3,ii5,ii8;
doublemax,n;
for(i8=0;i8<=2;i8++){
for(i5=0;i5<=(20-8*i8)/5;i5++){
for(i3=0;i3<=(20-8*i8-5*i5)/3;i3++){
for(i2=0;i2<=(20-8*i8-5*i5-3*i3)/2;i2++){
for(i1=0;i1<=(20-8*i8-5*i5-3*i3-2*i2);i1++){
n=2000*pow(1+0.0063*12,i1)*pow(1+0.0066*12*2,i2)*pow(1+0.0069*12*3,i3)*pow(1+0.0075*12*5,i5)*pow(1+0.0084*12*8,i8);
if(n>max){
max=n;
ii8=i8;ii5=i5;ii3=i3;ii2=i2;ii1=i1;
}
}
}
}
}
}
printf("8年=%d5年=%d3年=%d2年=%d1年=%d\n最大收益=%.2lf\n",ii8,ii5,ii3,ii2,ii1,max);
}
SXE02.txt
#include
voidmain()
{
char*p,*q,s[100];
gets(s);
q=s;
for(p=q;*p!
='\0';)
p++;
for(p--;p>=q;p--)
putchar(*p);
putchar('\n');
}
SXE03.txt
#include
voidmain()
{
inta[4][4],i,j,max=0,b=0,c=1;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
{b=b+a[i][i];
{c=c*a[i][3-i];
{
for(j=0;j<4;j++)
if(a[i][j]>max)
max=a[i][j];
}
}
}
printf("%d\n""%d\n""%d\n",b,c,max);
}
SXE04.txt
#include
#include
voidmain()
{
charstr1[80],str2[80];
inti=0,j=0;
gets(str1);
gets(str2);
while(str1[i]!
='\0')
i++;
while(str2[j]!
='\0')
{str1[i]=str2[j];i++;j++;}
str1[i]='\0';
printf("%s\n",str1);
}
SXE05.txt
#include
#include
voidmain()
{chara[4][20];
charb[20];
inti,j;
for(i=0;i<4;i++)
scanf("%s",a[i]);