西工大c语言实验100题04.docx
《西工大c语言实验100题04.docx》由会员分享,可在线阅读,更多相关《西工大c语言实验100题04.docx(20页珍藏版)》请在冰豆网上搜索。
西工大c语言实验100题04
第四次
CH0701
#include
intmain()
{
inta[100],j,i,k=1;
for(i=0;i<100;i++)
a[i]=i+1;
a[0]=0;
for(i=1;i<100;i++)
if(a[i]==0)continue;
else
for(j=i+1;j<100;j++)
if(a[j]%a[i]==0&&a[j]!
=0)a[j]=0;
for(i=0;i<100;i++)
if(a[i]!
=0)if(k==1)printf("%d",a[i]),k++;
elseprintf("%d",a[i]);
printf("\n");
return0;
}
CH0707
#include
intmain()
{
inta[15][15],i,j,k,n;
scanf("%d",&n);
for(i=0;ifor(j=0;ja[i][j]=0;
j=n/2,i=0;
for(k=0;kif(k==0)a[i][j]=1;
else
{i=i-1,j=j+1;
if(i<0)i=n-1;
if(j>n-1)j=0;
if(a[i][j]!
=0)
{i=i+2,j=j-1;
if(i>n-1)i=i-n;
if(j<0)j=n-1;
}
a[i][j]=k+1;
}
for(i=0;i{if(i)printf("\n");
for(j=0;j{if(j)printf("");
printf("%2d",a[i][j]);
}
}
printf("\n");
return0;
}
CH0709
#include
intmain()
{
inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};
intb,top=14,bot=0,mid;
scanf("%d",&b);
mid=(top+bot)/2;
while(b!
=a[mid]&&top>=bot)
{if(b>a[mid])bot=mid+1;
elsetop=mid-1;
mid=(top+bot)/2;
}
if(b==a[mid])printf("%d\n",mid+1);
elseprintf("nofound\n");
return0;
}
CH0714
#include
intmain()
{
chara[100],b[100],c,d;
inti;
gets(a);
gets(b);
for(i=0;a[i]==b[i]&&a[i]!
='\0'&&b[i]!
='\0';i++);
c=a[i],d=b[i];
i=c-d;
printf("%d\n",i);
return0;
}
T0701
#include
intmain()
{
inta[5][5]={1,0,0,0,0,2,1,0,0,0,3,2,1,0,0,4,3,2,1,0,5,4,3,2,1};
inti,j;
for(i=0;i<5;i++)
{if(i)printf("\n");
for(j=0;j<5;j++)
printf("%3d",a[i][j]);
}
printf("\n");
return0;
}
T0703
#include
intmain()
{
inta[10][10];
inti,j,n,m,s=0;
scanf("%d%d",&i,&j);
for(n=0;n
for(m=0;mscanf("%d",&a[n][m]);
for(n=0;ns=s+a[0][n];
for(n=0;i-1>0&&ns=s+a[i-1][n];
for(n=1;n{s=s+a[n][0];
s=s+a[n][j-1];
}
printf("%d\n",s);
return0;
}
T0704
#include
intmain()
{
chara[3][160];
inti,j,n1=0,n2=0,n3=0,n4=0,n5=0,n6=0;
gets(a[0]),gets(a[1]),gets(a[2]);
for(i=0;i<3;i++)
for(j=0;a[i][j]!
='\0';j++)
{if(a[i][j]<0)n1++,j++;
elseif(a[i][j]>='A'&&a[i][j]<='Z')n2++;
elseif(a[i][j]>='a'&&a[i][j]<='z')n3++;
elseif(a[i][j]>='0'&&a[i][j]<='9')n4++;
elseif(a[i][j]=='')n5++;
elsen6++;
}
printf("中文=%d,大写=%d,小写=%d,数字=%d,空格=%d,其它=%d\n",n1,n2,n3,n4,n5,n6);
return0;
}
T0706
#include
intmain()
{
chara[100][100]={'\0'};
charall[500];
inti=0,j=0,k=0,flag;
gets(all);
while
(1){
flag=0;
while(all[i]!
=''&&all[i]!
=','&&all[i]!
='.'&&all[i]!
='\0'){
a[j][k]=all[i];
a[j][k+1]='\0';
k++;
i++;
flag=1;
}
if(all[i]=='\0'){
break;
}
if(flag){
j++;
}
i++;
k=0;
}
if(all[i-1]==''||all[i-1]==','||all[i-1]=='.'){
j--;
}
for(;j>=0;j--){
if(j)printf("%s",a[j]);
elseprintf("%s",a[j]);
}
printf("\n");
return0;
}
T0709
#include
intmain()
{
inta[200],b[200],c[200]={0},i,j,k,n,m=0;
scanf("%d",&i);
for(j=0;j
scanf("%d",&a[j]);
scanf("%d",&j);
for(k=0;kscanf("%d",&b[k]);
for(k=0;k
for(n=0;nif(a[k]==b[n])
{c[m]=a[k];
m++;
c[m]=0;
break;
}
if(c[0]==0)printf("空集");
else
{for(i=0;c[i]!
=0;i++)
for(j=i;c[j]!
=0;j++)
if(c[i]>c[j])k=c[i],c[i]=c[j],c[j]=k;
for(i=0;c[i]!
=0;i++)
if(i&&c[i]!
=c[i-1])printf("%d",c[i]);
elseif(i==0)printf("%d",c[i]);
}
printf("\n");
return0;
}
T0716
#include
#include
intmain()
{
chara[300],b[300]={'\0'},t;
inti,j,k,n,m;
gets(a);
i=strlen(a);
strncpy(b,a,i/2);
if(i%2)n=i/2+1;
elsen=i/2;
m=n;
for(j=0;a[m]!
='\0';m++,j++)
a[j]=a[m];
for(j=n,k=0;b[k]!
='\0';j++,k++)
a[j]=b[k];
for(j=0;j
for(k=j;k
if(a[j]>a[k])t=a[j],a[j]=a[k],a[k]=t;
for(j=n;a[j]!
='\0';j++)
for(k=j;a[k]!
='\0';k++)
if(a[j]puts(a);
return0;
}
T0722
#include
#include
inteejcb(doublea[][5],intn,doubleeps){
inti,j,p,q,l;
doublefm,cn,sn,omega,x,y,d;
l=1;
while
(1){
fm=0.0;
for(i=0;i<=n-1;i++){
for(j=0;j<=n-1;j++){
d=fabs(a[i][j]);
if((i!
=j)&&(d>fm)){
fm=d;
p=i;
q=j;
}
}
}
if(fmreturn
(1);
x=-a[p][q];
y=(a[q][q]-a[p][p])/2.0;
omega=x/sqrt(x*x+y*y);
if(y<0.0)
omega=-omega;
sn=1.0+sqrt(1.0-omega*omega);
sn=omega/sqrt(2.0*sn);
cn=sqrt(1.0-sn*sn);
fm=a[p][p];
a[p][p]=fm*cn*cn+a[q][q]*sn*sn+a[p][q]*omega;
a[q][q]=fm*sn*sn+a[q][q]*cn*cn-a[p][q]*omega;
a[p][q]=0.0;
a[q][p]=0.0;
for(j=0;j<=n-1;j++){
if((j!
=p)&&(j!
=q)){
fm=a[p][j];
a[p][j]=fm*cn+a[q][j]*sn;
a[q][j]=-fm*sn+a[q][j]*cn;
}
}
for(i=0;i<=n-1;i++){
if((i!
=p)&&(i!
=q)){
fm=a[i][p];
a[i][p]=fm*cn+a[i][q]*sn;
a[i][q]=-fm*sn+a[i][q]*cn;
}
}
}
return
(1);
}
intmain(){
doublea[5][5];
inti,j;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%lf",&a[i][j]);
eejcb(a,5,0.0000001);
for(i=0;i<5;i++){
if(i>0)
printf("");
printf("%.6lf",a[i][i]);
}
return0;
}
SXF01
#include
intmain()
{
chara[300],b;
inti;
voidfun(chara[],char);
gets(a);
b=getchar();
fun(a,b);
puts(a);
return0;
}
voidfun(chara[],charb)
{inti,j;
for(i=0;a[i]!
='\0';)
if(a[i]==b)
{for(j=i;a[j]!
='\0';j++)
a[j]=a[j+1];
}
elsei++;
}
SXF02
#include
#include
intmain()
{inti,n;
chara[10][20];
voidsortstr(chara[10][20],int);
scanf("%d",&n);
for(i=0;iscanf("%s",a[i]);
sortstr(a,n);
for(i=0;i{if(i)printf("%s",a[i]);
if(i==0)printf("%s",a[i]);
}
printf("\n");
return0;
}
voidsortstr(chara[10][20],intn)
{inti,j;
charb[20]={'\0'};
for(i=0;ifor(j=i;jif(strcmp(a[i],a[j])>0)strcpy(b,a[i]),strcpy(a[i],a[j]),strcpy(a[j],b);
}
SXF06
#include
intmain()
{inti,j=1;
intIsP(intn);
for(i=300;i<=400;i++)
if(IsP(i))if(j==1)printf("%d",i),j++;
elseprintf("%d",i);
printf("\n");
return0;
}
intIsP(intn)
{intw;
for(w=2;w<=n/2;w++)
if(n%w==0)return0;
return1;
}
SXF098
#include
intmain()
{inta[10]={13,24,25,44,57,63,66,78,90,100};
inttop=9,bop=0,i,n;
scanf("%d",&n);
i=(top+bop)/2;
while(a[i]!
=n&&top>=bop)
{if(n>a[i])bop=i+1;
elsetop=i-1;
i=(top+bop)/2;
}
if(a[i]==n)printf("%d\n",i+1);
elseprintf("未找到\n");
return0;
}
SXF09
#include
intmain()
{
inta[10],i;
voidsort(inta[10],intn);
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
for(i=0;i<10;i++)
{if(i!
=9)printf("%d",a[i]);
if(i==9)printf("%d\n",a[i]);
}
return0;
}
voidsort(inta[10],intn)
{inti,j,t;
for(i=0;ifor(j=0;jif(a[j]}
SXF10
#include
intmain()
{
inta[10],i;
voidsort(inta[10],intn);
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
for(i=0;i<10;i++)
{if(i!
=9)printf("%d",a[i]);
if(i==9)printf("%d\n",a[i]);
}
return0;
}
voidsort(inta[10],inti)
{intn,m,t;
for(n=0;n
for(m=n;m
if(a[n]>a[m])t=a[n],a[n]=a[m],a[m]=t;
}
SXF11
#include
intmain()
{inta[10000],n,temp,mo,i,j,k=1;
a[0]=1;
scanf("%d",&n);
for(i=2;i<=n;i++)
{for(j=1,mo=0;j<=k;j++)
{temp=a[j-1]*i+mo;
a[j-1]=temp%10;
mo=temp/10;
}
while(mo)
{a[++k-1]=mo%10;
mo=mo/10;
}
}
for(;k>=1;k--)
printf("%d",a[k-1]);
printf("\n");
return0;
}