当前位置:首页 » 编程语言 » c语言数据a删除数据b
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言数据a删除数据b

发布时间: 2022-03-31 17:01:42

c语言删除数组元素

/*我写了两种方法!!!方法一*/
#include
<stdio.h>
int
main()
{
int
a[10]={1,3,3,2,5,1,1,5,6,6};
int
i,j,k,x=10;/*x为数组中无重复有效元素的个数*/
for(i=0;i<x;i++)
{
for(j=i+1;j<x;j++)
{
if(a[i]==a[j])
{
x--;//发现重复时减1
for(k=j;k<x;k++)//移动数组
{
a[k]=a[k+1];
}
j--;
}
}
}
for(i=0;i<x;i++)printf("%d",a[i]);
printf("\n");
return
0;
}
/******************************************************************************
*
再写一种方法!!!
*此方法是把所有重复的都标识出来,然后生成一个新的无重复元素的数组
*******************************************************************************/
#include
<stdio.h>
#define
flag
-1//此外定义了一个标识。把重复的无素赋值为此标识。
int
main()
{
int
a[10]={1,3,3,2,5,1,1,5,6,6};
int
b[10];//用于存储有无重复元素的数组。
int
i,j,x=10;//x为无重复有效元素个数
for(i=0;i<10;i++)
{
if(a[i]!=flag)//如果标识过了,就不比较了
{
for(j=i+1;j<10;j++)
{
if(a[i]==a[j]&&a[j]!=flag)
{
a[j]=flag;
x--;//标识一个重复项,有效无素减少一个
}
}
}
};
for(i=0,j=0;i<10;i++)//把非标识的元素,给数组b[];
{
if(a[i]!=flag)
{
b[j]=a[i];
j++;
}
};
for(i=0;i<x;i++)printf("%d",b[i]);
printf("\n");
return
0;
}

⑵ c语言:从数组中删除数据

分别弄了一个,看看吧,希望对你有用:
排序:
#define N 10
main()
{int i,j,min,tem,a[N];
/*input data*/
printf("please input ten num:\n");
for(i=0;i<N;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
/*sort ten num*/
for(i=0;i<N-1;i++)
{min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
/*output data*/
printf("After sorted \n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
}
按序插入:
main()
{
int a[11]=;
int temp1,temp2,number,end,i,j;
printf("original array is:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("insert a new number:");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{for(i=0;i<10;i++)
{ if(a[i]>number)
{temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
printf("%6d",a[i]);
}
查找并删除:
#include<stdio.h>
main()
{int i,j,k;
int s[10],a;
printf("input 10 numbers:\n");
for(k=0;k<10;k++)
scanf("%d",s[k]);
printf("input a number:\n");
scanf("%d",&a);
for(i=j=0;i<10;i++)
if(s[i]!=a) s[j++]=s[i];
for(i=0;i<j;i++)
printf("%d",s[i]);
}
我可以帮助你,你先设置我最佳答案后,我网络Hii教你。

⑶ 用c语言函数删除数组中的数据

既然是数组,表示数据为线性阵列了,想删除其中一个数据,是不可能的,只能用该位置以后的数据整体平移一个位置覆盖当前位置。例如:数组数据 1 2 3 4 5 6 7,想删除3,那么得到的新数组为1 2 4 5 6 7,其中 4 5 6 7 数据的位置相对原始数组位置整体平移减小1。
当然想是想快速删除数据,可以考虑使用数据链表,对数组单链即可

⑷ C语言代码怎么删除数据

#include<stdio.h>

int main()

{

int a[10]={90,89,78,77,66,55,44,33,22,11};

int x;

scanf("%d",&x);//输入要删除的数

for(int i=0;i<10;i++)

if(a[i]==x)

a[i]='';

for(int i=0;i<10;i++)

if(a[i]!='')

printf("%d ",a[i]);

}

⑸ C语言如何删除文件中的数据

删除文件中的数据,比较麻烦,容易出错,比如删除某个记录(比如你定义的这个结构的一个实例数据),后面的记录都要向前面移动。
普通做法是另开个文件,将数据按照删除后的顺序重新写一遍,然后删除原文件,新文件改名成原文件名
如果数据文件较大,一般是在文件头上建立各记录的索引,并且记录该记录是否被删除,这样也无效倒腾其他数据了。

⑹ C语言中怎样从文件中删除数据,尽量有代码,谢谢啊~

你好!!
不知你向文件输入的是什么数据,输入数据的函数很多,有fputc(s,fp);有fwrite()函数、、、、
下面是想文件输入字符,并把字符串中的小写字符转换成大写字符:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main()
{
FILE *fp;
char filename[20];
printf("请输入文件的名称:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{
printf("cannot open file !!!\n");
exit(0);

}
printf("请输入字符直至结束(ctrl +z):");
fflush(stdin);
char s;

while(scanf("%c",&s)!=EOF)
{
if(islower(s))
s=toupper(s);//把小写字符转换成大写字符
fputc(s,fp);

}

rewind(fp);//是位置指针重新返回文件的开头,此函数没有返回值

if((fp=fopen(filename,"r"))==NULL)//以读的方式打开文件
{
printf("cannot open file !!!\n");
exit(0);

}

while(!feof(fp))
{
s=getc(fp);
putchar(s);

}

return 0;

}
测试:
请输入文件的名称:hello
请输入字符直至结束(ctrl +z):hello world !
Z
Z
HELLO WORLD !
Press any key to continue

⑺ c语言。一维数组。数据删除,删除指定位置的数据

#include<stdio.h>
main()
{
inti,j,x,a[]={12,5,4,23,8,18,41,34,15,9};
printf("输入要删除的数:");
scanf("%d",&x);
for(i=0;i<10;++i)
{
if(x==a[i])
{
for(j=i;j<9;++j)//删除指定的数
a[j]=a[j+1];
a[9]=0;
break;
}
}
if(i==10)
printf("没有找到指定的数");
else
for(i=0;i<9;++i)//输出删除后的数组
printf("%d",a[i]);
}

⑻ 关于C语言中 文件里数据删除

工作10年,还没有人会对文件直接这么操作的。最简单的方法是把内容从文件中读到内存,然后在内存删除修改后,再写回文件中。计算机的写文件等速度非常快的,不用担心。

⑼ C语言怎么实现文件中部分数据的删除

删除文件部分内容的大概步骤:新建一个临时文件,把原文件内容向临时文件里拷贝,遇到要删除的内容就跳过。结束后关闭文件,用remove("原文件名");把原文件删除,用rename("临时文件名","原文件名");把临时文件名改为原文件名。

例如在原文件123.txt中删除以2和以4编号开头的行,可用以下代码实现:
#include "stdio.h"
#include "stdlib.h"
int main(void){
FILE *fin,*ftp;
char a[1000];
fin=fopen("123.txt","r");//读打开原文件123.txt
ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt
if(fin==NULL || ftp==NULL){
printf("Open the file failure...\n");
exit(0);
}
while(fgets(a,1000,fin))//从原文件读取一行
if(a[0]!='2' && a[0]!='4')//检验是要删除的行吗?
fputs(a,ftp);//不是则将这一行写入临时文件tmp.txt
fclose(fin);
fclose(ftp);
remove("123.txt");//删除原文件
rename("tmp.txt","123.txt");//将临时文件名改为原文件名
return 0;
}

⑽ 如何用c语言实现删除文件中指定的数据;例如

1、首先我们输入【deleteScore】函数,先看整体代码,再一一解释。

注意事项:

C语言提供了许多低级处理的功能,并仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。