哪位大佬可以帮我看看这个C语言程序?应该是最后那个大的else有问题,其他都没毛病
#include<stdio.h>#include<stdlib.h>intmain(){inta[50],b[3];intm,i,*p,*q,*p0;printf("m...
#include<stdio.h>
#include<stdlib.h>
int main(){
int a[50],b[3];
int m,i,*p,*q,*p0;
printf("m: ");
scanf_s("%d",&m);
while(m>47)
break;
printf("a: ");
for(p=a;p<a+m;p++)
scanf_s("%d",p);
p--;
printf("b: ");
scanf_s("%d%d%d",&b[0],&b[1],&b[2]);
if(b[2]<=*a){
for(p=a+m+2;p>a+2;p--)
*p=*(p-3);
a[0]=b[0];
a[1]=b[1];
a[2]=b[2];
}
else if(b[0]>=*(a+m-1)){
a[m]=b[0];
a[m+1]=b[1];
a[m+2]=b[2];
}
else
{
i=0;
for(q=b;q<b+3;q++){
for(p=a;p<a+m+i;p++){
if(*p<=*q&&*(p+1)>=*q){
i++;
for(p0=a+m+i-1;p0>p;p0--)
*p0=*(p0-1);
*p=*q;
}
}
}
}
for(p=a;p<a+m+3;p++)
printf("%d ",*p);
printf("\n");
system("pause");
return 0;
} 展开
#include<stdlib.h>
int main(){
int a[50],b[3];
int m,i,*p,*q,*p0;
printf("m: ");
scanf_s("%d",&m);
while(m>47)
break;
printf("a: ");
for(p=a;p<a+m;p++)
scanf_s("%d",p);
p--;
printf("b: ");
scanf_s("%d%d%d",&b[0],&b[1],&b[2]);
if(b[2]<=*a){
for(p=a+m+2;p>a+2;p--)
*p=*(p-3);
a[0]=b[0];
a[1]=b[1];
a[2]=b[2];
}
else if(b[0]>=*(a+m-1)){
a[m]=b[0];
a[m+1]=b[1];
a[m+2]=b[2];
}
else
{
i=0;
for(q=b;q<b+3;q++){
for(p=a;p<a+m+i;p++){
if(*p<=*q&&*(p+1)>=*q){
i++;
for(p0=a+m+i-1;p0>p;p0--)
*p0=*(p0-1);
*p=*q;
}
}
}
}
for(p=a;p<a+m+3;p++)
printf("%d ",*p);
printf("\n");
system("pause");
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询