當前位置:首頁 » 編程語言 » 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語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。