一个整型数组有10个元素,编写程序删除所有值为n的元素。
要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。(2)删除功能用子函数完成。...
要求(1)主函数完成n的输入,数组元素输入以及删除后数组元素的输出。
(2)删除功能用子函数完成。 展开
(2)删除功能用子函数完成。 展开
展开全部
代码如下:
#include <stdio.h>
#include <string.H>
char *fun(char a[])
{
int i,j,k=strlen(a);
char n;
printf("请输入您要删除的数");
fflush(stdin);
scanf("%c",&n);
for(i=0;i<k;i++)
if(a[i]==n)
{
for(j=i;j<k;j++)
a[j]=a[j+1];
k--;
i--;
}
return a;
}
int main()
{
char a[81];
printf("请输入要输入的数组元素:\n");
scanf("%s",a);
printf("删除后的数组顺序为%s",fun(a));
}
程序运行截图如下:
展开全部
#include<stdio.h>
int fun(int arr[],int res[],int n)
{
int i,num=0;
for(i=0;i<10;i++)
if(n!=arr[i])
res[num++]=arr[i];
return num;
}
int main()
{
int res[10],arr[10];
int num,n,i;
scanf("%d",&n);
for(i=0;i<10;i++)
scanf("%d",&arr[i]);
num=fun(arr,res,n);
for(i=0;i<num;i++)
printf("%d ",res[i]);
return 0;
}
int fun(int arr[],int res[],int n)
{
int i,num=0;
for(i=0;i<10;i++)
if(n!=arr[i])
res[num++]=arr[i];
return num;
}
int main()
{
int res[10],arr[10];
int num,n,i;
scanf("%d",&n);
for(i=0;i<10;i++)
scanf("%d",&arr[i]);
num=fun(arr,res,n);
for(i=0;i<num;i++)
printf("%d ",res[i]);
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(int i=1;i<=10;i++)
if(a[i]==10)a[i]=-1;
//在此程序中我做了一个flag,即-1表示元素为空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询