C程编程问题,编写函数void fun(int *x,int n),它的功能是:删除有n个数据的数组x中所有包含数字6的

数据,后续的剩余元素赋值为-1。n为数组长度,规定x中数据都为正数。
如程序运行时若输入:122 1461 6234 16 11 663 911 2671 381 6
删除后输出: 122 11 911 381 -1 -1 -1 -1 -1 -1
#define N 10
#include<stdio.h>
void fun(int *x,int n)
{ int i,j=0,k,t;
for (i=0;i<n;i++)
{ k=x[i];
while (k!=0)
{t=k%10;
if(t==6) break;
else k=k/10; }
if(k==0) x[j++]=x[i];}
for(;j<n;j++) x[j]=-1;
return *x;}
void main()
{int a[N],i;
for(i=0;i<N;i++)
scanf("%d",a+i);
fun(a,N);
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
}

void fun(int *x,int n)
{ int i,j=0,k,t;
for (i=0;i<n;i++)
{ k=x[i];
while (k!=0)
{t=k%10;
if(t==6) break;
else k=k/10; }
if(k==0) x[j++]=x[i];}
for(;j<n;j++) x[j]=-1;
return *x;}
温馨提示:内容为网友见解,仅供参考
无其他回答

C程问题,看看我写的fun函数有什么不足的地方啊?
你这程序很“神奇”,设了宏定义N为10,然后fun有个参数n,却在fun函数体里面用直接用10。fun可以如下实现:void fun(int *x, int n){ int i, j, t; for(i=j=0; i<n; i++) { for(t=x[i]; t; t\/=10) \/\/分离各个位 if(t%10 == 6)break; if(!t...

编写函数voidfun(int*x,intn),功能是:求出长度为n的数组x中的最大数...
void fun(int *x,int n){ int max=*x; \/*定义个最大*\/ int index1,index2;\/*最大和次最大索引号*\/ int a; \/*交换时空间*\/ int max2; \/*次大*\/ for(i=1;i<=n;i++)if(max<(*(x+i))) \/*从第一个开始往后比较,最终max存着最大值*\/ max=*(x+i);for(i=0...

编写函数void fun(int *x,int n)
void fun(int *x, int n){ if (n <= 0)return;else if (n == 1){ cout << x[0] << endl;return;} else if (n == 2){ if (x[0] < x[1])cout << x[1] << " " << x[0] << endl;return;} int max1 = x[0], max2 = x[0];int t, j = 0, k = ...

以下程序中函数fun(int a[],int N)的功能是删除数组中a的前N个元素中...
int a[10]={4,1,3,3,1,2,4,3,4,4},b[6]={1,2,1,3,2,1};int n=fun(a,10);cout<<"数组a处理后的数组为:";print(a,n);n=fun(b,6);cout<<"数组b处理后的数组为:";print(b,n);return 0;}

编写函数void fun(int *x,int n)
设置两个标志位,分别用于记录最大者和次大者,然后对数组遍历,遍历结束之后根据这两个标志位分别和a[0]、a[1]交换

求C++高手!!!
3.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。***4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中...

请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只...
\/\/n为数组元素个数void DeleteCom(int *dest,const int *src,int n){ int temp[MAXN]; for(int i =0;i<MAXN;i++)\/\/初始化为0 temp[i] = 0; for(int i =0;i<n;i++) temp[src[i]]++; int j = 0; for(int i =0;i<MAXN;i++) if(temp[i] >0) dest[j++] = i;} ...

C语言,请编写函数fun(自定义函数),其功能是:将一组得分中,去掉一个最...
int n){int temp = 0;for (int i=1;i<n;i++){if (a[temp]<a[i]){temp =i;}}return temp;}int findmin(float*a,int n){int temp = 0;for (int i=1;i<n;i++){if (a[temp]>a[i]){temp =i;}}return temp;}void fun() \/\/去掉最高分和最低分的函数{int i,...

请用c语言编写一个函数fun功能是:计算n门课程的平均分,计算结果作为函 ...
float fun(float a[],int n){ int i;float s=0,t;for(i=0;i<n;n++)s=s+a[i];t=s\/n;return(t);}

c语言程序编写:若数组中有n个整数, 要求把下标从0到p(p小于等于n-1...
void fun(int *w, int p, int n) \\x0d\\x0a{ \/\/只需要完成此部分功能即可\\x0d\\x0aint b[N],i,j;\\x0d\\x0afor(i = 0; i <= p;i++)\\x0d\\x0a{\\x0d\\x0ab[i] = w[i];\\x0d\\x0a}\\x0d\\x0afor(i = 0; p+1+i < n;i++)\\x0d\\x0a{\\x0d\\x0a...

相似回答