急!!!!求c语言高手!!!谁能把下面这段程序补充完整??感激不尽!!!!

2025-03-01 20:43:55
推荐回答(5个)
回答1:

void fun(int *x,int n)
{ int i=0,j,flag;
while(n--)
{ j=*(x-i)=*x;
flag=0;
do if(j%10==6)flag=1;while(j/=10);
if(flag)i++;
x++;
}
while(i--)*(x-i-1)=-1;
}

回答2:

#include
#include
#define N 10
void fun(int *x,int n)
{
char a[20];
int i,j;
for (i=0;i {
itoa(*(x+i),a,10);//这样把*(x+i)作为字符串写入a
for(j=0;j<20;j++)
{
if(a[j]=='6')
{
*(x+i)=-1;
}

}
}

}
void main()
{
int a[N],i;
for(i=0;i scanf("%d",a+i);
fun(a,N);
for(i=0;i printf("%d ",a[i]);
printf("\n");
}

回答3:

#define N 10
#include
#include"stdlib.h"
int check(int x)
{
while(x)
{
if(x%10==6)return 1;
x/=10;
}
return 0;
}
void fun(int *x,int n)
{
int i,j;
for(i=0;i {
if(check(x[i])==1)x[i]=-1;
}
for(i=0;i {
if(x[i]!=-1)continue;
for(j=i+1;j {
if(x[j]!=-1)
{
x[i]=x[j];
x[j]=-1;
break;
}
}
}

}
;
void main()
{
int a[N]={122 ,1461 , 6234 , 16 , 11, 663 , 911, 2671 , 381 , 6 } ,i;
//for(i=0;i // scanf("%d",a+i);
fun(a,N);
for(i=0;i printf("%d ",a[i]);
printf("\n");
system("pause");
}

回答4:

void fun(int *x,int n)
{
for(int i=0;i {
int number=x[i];
bool leap=0;
while(x[i])
{
if(x[i]%10==6)
{
leap=1;
break;
}
x[i]/=10;
}
if(leap)
x[i]=-1;
else
x[i]=number;
}
for(int j=0;j {
if(x[j]==-1)
{
for(int k=j+1;k if(x[k]!=-1)
{
x[j]=x[k];
x[k]=-1;
break;
}
}
}
}
有不会的问我

回答5:

int i,j,temp=0,k=0;
int c[N]={0};
for(i=0;i {
for(j=1;j<10;j++)
{
temp=*(x+i)%(int)(pow(10,j));
temp=temp/(int)( (pow(10,j)/10) );
if(temp==6) *(x+i)=-1;
if(temp==0) break;
}
c[i]=-1;

}
for(i=0;i {
if(*(x+i)==-1) continue;
c[k]=*(x+i);
k++;
}
for(i=0;i {
*(x+i)=c[i];
}