西工大c语言实验100题答案.docx
《西工大c语言实验100题答案.docx》由会员分享,可在线阅读,更多相关《西工大c语言实验100题答案.docx(125页珍藏版)》请在冰豆网上搜索。
![西工大c语言实验100题答案.docx](https://file1.bdocx.com/fileroot1/2023-4/16/cdbe91e0-09fe-45c4-826f-bcdba8617f0c/cdbe91e0-09fe-45c4-826f-bcdba8617f0c1.gif)
西工大c语言实验100题答案
第二次
CH0603
intmain()
{
inta,n,i,j,s=0;
scanf("%d%d",&a,&n);
j=a;
for(i=1;i<=n;i++)
{s=s+a;
a=j+10*a;
}
printf("a+aa+aaa+...=%d\n",s);
return0;
}
CH0607
#include
#include
intmain()
{
inti,r,w,s;
for(i=2;i<=1000;i++)
{s=i;
for(w=1;w<=i/2;w++)
if(i%w==0)s=s-w;
if(s==0)
{printf("%d=1",i);
for(r=2;r
if(i%r==0)printf("+%d",r);
printf("\n");
}
}
return0;
}CH0611
#include
#include
intmain()
{
doublei,x1,x2;
scanf("%lf",&i);
x1=i;
x2=0.5*(x1+i/x1);
while(fabs(x1-x2)>=1e-5)
{x1=x2;
x2=0.5*(x1+i/x1);
}
printf("x=%.5lf\n",x2);
return0;
}CH0613
#include
#include
#include
#definef(x)(2*(x)*(x)*(x)-4*(x)*(x)+3*(x)-6)
intmain()
{
doublea,b,x;
scanf("%lf%lf",&a,&b);
for(x=(a+b)/2;fabs(a-b)>=1e-5;x=(a+b)/2)
if(f(a)*f(x)<=0)b=x;
elsea=x;
printf("x=%.2lf\n",a);
return0;
}CH0615
#include
#include
intmain()
{
chara,b='x',c='x';
for(a='x';a<='z';a++)
for(b='x';b<='z';b++)
if(a!
='x'&&b!
=a)
for(c='x';c<='z';c++)
if(c!
='z'&&c!
='x'&&c!
=b&&a!
=c)printf("a--%cb--%cc--%c\n",a,b,c);
return0;
}T0501
#include
#include
intmain()
{
doublea,b,c,t;
scanf("%lf%lf%lf",&a,&b,&c);
if(a>c-b&&b>a-c&&c>b-a)
{
t=(a+b+c)/2.0;
t=t*(t-a)*(t-b)*(t-c);
t=sqrt(t);
printf("s=%lf\n",t);
}
elseprintf("no\n");
return0;
}
T0502
#include
intmain()
{
inta,b;
floatc;
scanf("%d%d",&a,&b);
c=a+0.01*b;
if(c>=3.21&&c<=4.20)printf("%d月%d日为白羊座\n",a,b);
if(c>=4.21&&c<=5.20)printf("%d月%d日为金牛座\n",a,b);
if(c>=5.21&&c<=6.20)printf("%d月%d日为双子座\n",a,b);
if(c>=6.21&&c<=7.22)printf("%d月%d日为巨蟹座\n",a,b);
if(c>=7.23&&c<=8.22)printf("%d月%d日为狮子座\n",a,b);
if(c>=8.23&&c<=9.22)printf("%d月%d日为处女座\n",a,b);
if(c>=9.23&&c<=10.22)printf("%d月%d日为天秤座\n",a,b);
if(c>=10.23&&c<=11.22)printf("%d月%d日为天蝎座\n",a,b);
if(c>=11.23&&c<=12.22)printf("%d月%d日为人马座\n",a,b);
if(c>=12.23||c<=1.20)printf("%d月%d日为魔蝎座\n",a,b);
if(c>=1.21&&c<=2.20)printf("%d月%d日为宝瓶座\n",a,b);
if(c>=2.21&&c<=3.20)printf("%d月%d日为双鱼座\n",a,b);
return0;
}
T0505
#include
intmain()
{
inta,b,c;
scanf("%d:
%d",&a,&b);
c=b*6-30*a-0.5*b;
if(c<0)c=-c;
if(c>180)c=360-c;
printf("c=%d\n",c);
return0;
}
SXD02
#include
intmain()
{
inti;
for(i=100;i<=200;i++)
if(i%4==2&&i%7==3&&i%9==5)printf("%d\n",i);
return0;
}
SXD03
#include
intmain()
{intn,m,t,w,r,k=1;
scanf("%d%d",&n,&m);
if(n>m)t=m,m=n,n=t;
for(t=n;t<=m;t++)
{for(w=2;w<=t/2;w++)
{r=t%w;
if(r==0)break;
}
if(w>t/2&&t!
=1)if(k==1)printf("%d",t),k++;
elseprintf("%d",t),k++;
}
printf("\n");
return0;
}
SXD04
#include
intmain()
{
doubles=0;
inta=1,b=2,t,i;
for(i=0;i<20;i++)
{s=s+b*1.0/a;
a=b+a;
t=a;
a=b;
b=t;
}
printf("%.6lf\n",s);
return0;
}
SXD06
#include
#include
intmain()
{inti,j,k,n,m,q,w,e,r,t,o,p;
floats=2000,z=0;
for(i=0;i<=20;i++)
for(j=0;j<=10;j++)
for(k=0;k<=6;k++)
for(n=0;n<=4;n++)
for(m=0;m<=2;m++)
if(i+j*2+k*3+n*5+m*8==20)
{s=2000;
for(o=0;o
for(o=0;ofor(o=0;ofor(o=0;ofor(o=0;oif(z
}
printf("8年=%d5年=%d3年=%d2年=%d1年=%d\n最大收益=%.2f\n",t,r,e,w,q,z);
return0;
}
第三次
T0603
#include
#include
#include
intmain()
{
doublea;
intb=0;
scanf("%lf",&a);
a=fabs(a);
while(a>=1)
{a=a/10;b=b+1;}
printf("%d\n",b);
return0;
}T0607
#include
#include
intmain()
{
inta=1,f=1;
doublep=0;
while(fabs(1.0/a)>=1e-6)
{p=p+1.0/a*f;
a=a+2;
f=-f;
}
printf("pi=%.6lf\n",4*p);
return0;
}
#include
#include
#include
intmain()
{
inti,j=1;
doublet,a=0;
i=-1;
for(;;)
{i=i+2;
t=1.0/i*j;
j*=-1;
a=t+a;
if(fabs(t)<1e-6)
{break;
}
}
printf("pi=%.6lf\n",4*(a-t));
return0;
}
T0608
intmain()
{
intj,t,i,a,n;
doubles=0;
scanf("%d",&n);
j=-1;
i=1;
t=1;
for(a=0;a{t=t*2;
j*=-1;
i*=-1;
s=s+j*t/((t+i)*(2*t+j)+0.0);
}
printf("s=%.6lf\n",s);
return0;
}
T0611
#include
#include
#include
intmain()
{
intcnt,s,i,j,t,a;
cnt=s=0;
a=-1;
for(i=800;i>=500;i--)
{t=0;
for(j=2;j
{if(i%j==0)
t++;}
if(t==0)
{cnt++;
a=a*(-1);
s=s+a*i;
}
}
printf("cnt=%d,s=%d\n",cnt,s);
return0;
}T0615
#include
#include
#include
intmain()
{
inti,j,s,n;
longt=0;
scanf("%d",&n);
t=n*n*n;
s=0;
i=n*(n-1)/2;
for(j=0;j{s=s+2*i+1+j*2;
}
if(t==s)
{printf("%d*%d*%d=%ld=%d",n,n,n,t,2*i+1);
for(j=0;j{printf("+%d",2*i+3+2*j);
}
printf("\n");
}printf("yes\n");
return0;
}T0617
#include
#include
intmain()
{
inti,j,t,m,a;
t=1;
scanf("%d%d",&i,&j);
for(m=0;m{t=t*i;
if(t>=1000)
{a=t/1000;
t=t-1000*a;
}
}
printf("%d\n",t);
return0;
}
T0619
#include
#include
intmain()
{
longinta,b,c;
scanf("%ld%ld",&a,&b);
printf("%ld/%ld=",a,b);
while
(1)
{
if(b%a)
c=b/a+1;
else{c=b/a;a=1;}
if(a==1)
{
printf("1/%ld\n",c);
break;
}
else
printf("1/%ld+",c);
a=a*c-b;
b=b*c;
if(a==3)
{printf("1/%ld+1/%ld\n",b/2,b);break;}
}
return0;
}T0621
#include
#include
#include
intmain()
{
intA[20]={0},i,s,m,j;
for(j=2;j<5;j++)
{A[0]=A[1]=1;s=2;
m=(int)pow(10,j);
for(i=2;i<=20;i++)
{A[i]=A[i-2]+2*A[i-1];
s=A[i]+s;
if((s-A[i])=m)break;}
printf("n=%d\n",i);
}
return0;
}SXE02
#include
intmain()
{chars[50],t;
inti=0,k;
gets(s);
while(s[i]!
='\0')i++;
i--;
for(k=0;k
{t=s[k];s[k]=s[i];s[i]=t;}
printf("%s\n",s);
return0;
}
SXE03
#include
intmain()
{inta[4][4],i,j,s=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
s+=a[i][i];
printf("%d\n",s);
s=1;
for(i=0;i<4;i++)
s*=a[i][3-i];
printf("%d\n",s);
s=a[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(sprintf("%d\n",s);
return0;
}SXE04
#include
intmain()
{inti=0,j=0;
chars1[40],s2[20];
gets(s1);gets(s2);
while(s1[i]!
='\0')i++;
while(s2[j]!
='\0')s1[i++]=s2[j++];
s1[i]='\0';
puts(s1);
return0;
}SXE05
#include
#include
voidf(charp[][20],intN)
{chart[20];inti,j;
for(i=0;ifor(j=i+1;jif(strcmp(p[i],p[j])>0)
{strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}}
intmain()
{inti;
charp[4][20];
for(i=0;i<4;i++)
scanf("%s",p[i]);
f(p,4);
for(i=0;i<4;i++)
printf("%s",p[i]);
printf("\n");
return0;
}
第四次
CH0701
#include
#include
voidmain()
{
inti,n,k,m;
for(n=2;n<100;n++)
{k=sqrt(n);
for(m=1,i=2;i<=k;i++)
if(n%i==0){m=0;break;}
if(m)printf("%d",n);
}
printf("\n");
}CH0707
#include
voidmain()
{
staticinta[16][16];inti,j,m,p=1,n;
while(p==1)
{scanf("%d",&n);
if(n>0&&n<16&&n%2==1)
p=0;
}
j=n/2+1;
a[1][j]=1;
i=n+1;
for(m=2;m<=n*n;m++)
{i=i-1;j=j+1;
if(i==0&&j==n+1)
{i=i+2;j=j-1;}
else
{if(i==0)i=n;
if(j==n+1)j=1;
}
if(a[i][j]!
=0){i=i+2;j=j-1;}
a[i][j]=m;
}
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
printf("%2d",a[i][j]);
printf("\n");}
}CH0709
#include
intsearch(inta[15],intm)
{
intx1=0,x2=14,mid;
while(x1<=x2)
{
mid=(x1+x2);
if(melseif(m>a[mid])x2=mid-1;
elsereturnmid;
}
return-1;
}
voidmain()
{
inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};
intm,b;
scanf("%d",&m);
b=search(a,m);
if(b>=0)printf("%d\n",b+1);
elseprintf("nofound\n");
}CH0714
#include
voidmain()
{
chars1[40],s2[40];
inti;
gets(s1);gets(s2);
for(i=0;i<40;i++)
{
if(s1[i]==s2[i])continue;
else{printf("%d\n",s1[i]-s2[i]);break;}
}
if(i>=40)printf("0\n");
}T0701
#include
#include
intmain()
{
inta[5][5],i,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(ielsea[i][j]=i+1-j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{printf("%3d",a[i][j]);
if(j==4)printf("\n");
}
return0;
}T0703
#include
#include
intmain()
{
inta[10][10],m,n,i,j,s=0;
scanf("%d%d",&m,&n);
for(i=0;i<=m-1;i++)
for(j=0;j<=n-1;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=n-1;i++)
s=s+a[0][i]+a[m-1][i];
for(i=1;i<=m-2;i++)
s=s+a[i][0]+a[i][n-1];
printf("%d\n",s);
return0;
}T0704
#include
#include
intmain()
{
chars[3][80];
inti,j,cap=0,ord=0,zh=0,num=0,nu=0,ot=0;
gets(s[0]);
gets(s[1]);
gets(s[2]);
for(i=0;i<=2;i++)
{
j=0;
while(s[i][j]!
='\0')
{
if(s[i][j]>='A'&&s[i][j]<='Z')
cap++;
elseif(s[i][j]>='a'&&s[i][j]<='z')
ord++;
elseif(s[i][j]>='0'&&s[i][j]<='9')
num++;
elseif(s[i][j]=='')
nu++;
elseif(s[i][j]<0||s[i][j]>128)
zh++;
elseot++;
j++;
}
}
printf("中文=%d,大写=%d,小写=%d,数字=%d,空格=%d,其它=%d\n",zh/2,cap,ord,num,nu,ot);
return0;
}T0706
#include
#include
intmain()
{
chara[99],b[30][30];
inti=0,j=0,k=0,m=0;
gets(a);
while(a[i]!
='\0')
{
if(a[i]!
=''&&a[i]!
='.'&&a[i]!
=',')
{
b[j][k]=a[i];
k++;
}
else
{
b[j][k]='\0';
j++;
k=0;
}
i++;
}
b[j][k]='\0';
for(i=j;i>=0;i--)
if(b[i][0]!
='\0')
{
k=0;
while(b[i][k]