本文目錄一覽:
怎麼在c語言字符數組中刪除一個字符?
字符數組中刪除指定字符的方法:
輸入一個字符串,以回車結束
輸入指定字符
定義一個遍歷字符串的下標變量和一個新的字符串下標變量
循環遍歷字符串,
如果當前字符與指定字符不同,則將當前字符寫入新下標位置,新下標+1
(相同則不處理)
遍歷下標+1檢測下一個
遇到字符串結束符,結束循環
循環結束後,新下標位置字符串結束符
輸出新的字符串
參考代碼:
C語言中如何刪除已經輸出的一個字符?
文本模式下指定位置輸出
用””覆蓋掉
gotoxy(1,1);
printf(“1230123”);
gotoxy(7,1);
printf(“”);
例:
#includestdio.h
intmain(void)
{
printf(“123”);
printf(“\b%c\b”,32);/*注意這裡*/
return0;
}
擴展資料
C語言刪除字符串前面連續*號
voidfun(char*a)
{
inti=0,j=0;
while(a[j]==’*’)j++;
while(a[j])a[i++]=a[j++];
a[i]=0;
}
C語言刪除指定字符
#include stdio.h //原頭文件不對
int main()
{
char str[80];
char c;
int i,j;
int len;//字符串長度
gets(str);
scanf(“%c”,c); //指定刪除的字符
for(len=0; str[len]!=’\0′; len++);
for(i=len; i=0; i–)
{
if(str[i]==c) //字符串中有某個字符等於我們需要刪除的字符
{
for(j=i; j=len+1; j++) //這循環把要刪除的字符後面所有字符(包括結束符都前移一位)
str[j]=str[j+1];
}
}
puts(str);
return 0;
}
c語言怎麼刪掉字符串的前幾個字符
現在有一串字符需要輸入,規定輸入的字符串中只包含字母和*號。請用C語言編寫程序,實現以下功能:除了字符串前後的*號之外,將串中其他的*號全部刪除。
例如,假設輸入的字符串為****A*BC*DEF*G********,刪除串中的*號後,字符串變為****ABDEFG********
該問題需要對字符串進行操作,而在C語言中沒有專門的字符串變量,因此如果需要將一個字符串存放在變量中,則必須使用字符數組,即使用一個字符型數組來存放一個字符串,數組中的每一個元素存放一個字符。
C語言如何刪除字符串前後星號?
C語言/C++學習請加:556791282群內有更多資料哦!
算法分析
設置兩個指向字符的指針變量t和f。先使用循環語句讓t指針指向字符串中最後一個字符,而f指針指向字符串中第一個字符;再判斷t和f指向的字符是否為“*”,如果為“*”,則t指針自減,f指針自增,直到遇到第一個不是的字符為止。
再定義一個函數fun()用於刪除字符串中的“*”號,同時保留字符串前後的“*”號。
下面是完整的代碼:
#include stdio.h
int fun(char *a, char *h, char *p)
{
int i, j;
/*刪除指針h與p之間的所有“*”*/
for(i=0,j=0; h[i]p; i++)
if(h[i]!=’*’)
h[j++]=h[i];
/*將指針p至字符串尾部的所有字符前移*/
for(i=0; p[i]; i++,j++)
h[j]=p[i];
h[j]=’\0′; /*在字符串尾部添加結束標誌*/
return 0;
}
int main( )
{
char s[81], *t, *f;
printf(“Enter a string :\n”);
gets(s); /*輸入字符串*/
t=f=s; /*用字符指針t、f指向串s*/
while(*t)
t++;
t–; /*將指針t定位到字符串中最後一個字符*/
while(*t == ‘*’) /*指針t指向字符串中最後一個字符*/
t–;
while (*f == ‘*’) /*指針f指向字符串中第一個字符*/
f++;
fun(s, f, t);
printf(“The string after deleted:\n”); /*輸出結果*/
puts(s);
return 0;
}
運行結果:
Enter a string :
****A*BC*DEF*G********
The string after deleted:
****ABCDEFG********
C語言學習其實並不難,只要你有決心,夠努力,就會成功。想免費學習的可以加脫線下面得號!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/229244.html