當前位置:首頁 » 編程語言 » c語言編程如何去除空格
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言編程如何去除空格

發布時間: 2023-01-02 22:41:47

c語言中輸出的時候如何去掉最後一個空格

你不要這樣輸入printf("%d",x);
你應該是循環的吧
舉個例子
for

先定義count=0;
for(i=1;i<=n;i++)
{
if(count!=0)
printf("");這里輸入空格
然後輸printf("%d",x);
count++;

這樣就保證了第一個數前面沒有空格最後一個數後面也沒空格只有數字之間有空格

⑵ C語言中如何刪除字元串中的所有的空格

#include <stdio.h>

int main()

{

char *p="I am Chinese";

char c;

int i = 0;

while((c = p[i++])!=''){

if(c!=' ')

putchar(c);

}

}

(2)c語言編程如何去除空格擴展閱讀:

字元串的函數應用

1. 連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn。

例:concat('11','aa')='11aa';

2. 求子串。 Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。

例:(『abdag',2,3)='bda'

3. 刪除子串。過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。

例:s:='abcde';delete(s,2,3);結果s:='ae'

4. 插入子串。 過程Insert(s1,s2,I) 把s1插入到s2的第I個位置。

例:s:=abc;insert('12',s,2);結果s:='a12bc'

5. 求字元串長度 length(s) 例:length('12abc')=5。

在ASP中 求字元串長度用 len(s)例: len("abc12")=5

6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,則返回s1的第一個字元在s2中的位置,若不是子串,則返回0。

例:pos(『ab','12abcd')=3

網路-字元串

⑶ c語言怎麼刪除多出的空格

從0下標開始,一個字元一個字元地自己向自己拷貝,當拷入一個空格時,將後面的空格跳過去。設置2個初值為0的變數i和j,i用來控制遍歷原字元串數組,j用來記錄新拷入的字元位置,用下面的代碼就可實現!

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
charstr[1000];
inti,j;
gets(str);
for(j=i=0;str[i];i++){
if((str[j++]=str[i])==''){//自己向自己拷貝,直到遇見''
for(i++;str[i]=='';i++);//遇到''跳過後面的''
i--;
}
}
str[j]='';//補個結束符
printf("%s ",str);//打出來看看
return0;
}

⑷ c語言程序設計刪除字元串空格

#include<stdio.h>
#include<string.h>
#include<ctype.h>
voidfunc(char*str)
{
inti,j;
charstr2[81];
for(i=0,j=0;str[i]!='';i++){
if(str[i]==''){
;
}else{
str2[j++]=str[i];
}
}
str2[j]='';
strcpy(str,str2);
return;
}
intmain(void)
{
charstr[81];
printf("inputastring: ");
gets(str);
puts(str);
func(str);
printf("***str:%s ",str);
return0;
}

或者這樣

#include<stdio.h>
#include<string.h>
#include<ctype.h>
voidfunc(char*str)
{
inti,j;
for(i=0,j=0;str[i]!='';i++){
if(str[i]==''){
;
}else{
str[j++]=str[i];
}
}
str[j]='';
return;
}
intmain(void)
{
charstr[81];
printf("inputastring: ");
gets(str);
puts(str);
func(str);
printf("***str:%s ",str);
return0;
}

⑸ C語言中去掉空格問題

/*去除字元串右邊空格*/
void
vs_strrtrim(char
*pstr)
{
char
*ptmp
=
pstr+strlen(pstr)-1;
while
(*ptmp
==
'
')
{
*ptmp
=
'\0';
ptmp--;
}
}
/*去除字元串左邊空格*/
void
vs_strltrim(char
*pstr)
{
char
*ptmp
=
pstr;
while
(*ptmp
==
'
')
{
ptmp++;
}
while(*ptmp
!=
'\0')
{
*pstr
=
*ptmp;
pstr++;
ptmp++;
}
*pstr
=
'\0';
}

⑹ c語言中把文件中的空格去除

第一種:使用位域限制讀取的長度;

第二種:可以直接按照結構體來讀寫;

實例代碼如下:

#include"stdafx.h"
#include<cstdio>
#include<cstdlib>
#include<cstring>

structRoommate{
charname[6];
charNO[8];
charaddr[10];
};


int_tmain(intargc,_TCHAR*argv[])
{
structRoommateRom[2]={0};
FILE*file=NULL;
if(!(file=fopen("a.txt","w"))){
printf("CreateFilefailed! ");
exit(-1);
}

printf(":NameNOAddr ");
for(inti=0;i<2;++i){
scanf("%s%s%s",Rom[0].name,Rom[0].NO,Rom[0].addr);
fwrite((constvoid*)&Rom[0],sizeof(structRoommate),1,file);
}
fclose(file);
/*Readfromfile*/
file=NULL;
if(!(file=fopen("a.txt","r"))){
printf("CreateFilefailed! ");
exit(-1);
}
printf("Readfromthefile:NameNOAddr ");
fread((void*)Rom,sizeof(structRoommate),2,file);
for(inti=0;i<2;++i){
printf("i=%dName:%s NO:%s Addr:%s ",i,Rom[i].name,Rom[i].NO,Rom[i].addr);
}
fclose(file);

while(getchar());
return0;
}

⑺ C語言程序 去首尾空格怎麼編

可以分別用單循環實現:

#include<stdio.h>

void work(char s[])//刪除首尾空格

{int i,j;

for(i=0;s[i]==' ';i++);//找到開頭第一個非空格

for(j=0;s[i];)s[j++]=s[i++];//刪除開頭空格

for(i--;s[i]==' ';i--)s[i]='';//刪除末尾空格

}

void main()

{

char s[100]=" Hello! How are you? ";

work(s);

printf("s="%s" ",s);//輸出的串中已經沒有首尾空格了

system("pause");

}

⑻ c語言 字元串去掉空格

//修改如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

voidtrimSpace(char*instr,char*outstr){
inti=0;
intj=0;//因為去掉空格後的字元串的字元個數和去掉空格之前不一樣,需要額外增加一個變數用來標記下標。
for(i=0;i<(int)strlen(instr);i++)
{
if((int)(*(instr+i))==32)
{
continue;
}
else{
*(outstr+j)=*(instr+i);
j++;
}

printf("%c",*(outstr+i));//這個位置可以列印出來去掉空格之後的字元串

}

*(outstr+j)='';
printf("%s",*outstr);//這個位置再列印就是null了求解為什麼感謝

}

voidmain(){
char*p1="abcdefgdddd";
charp2[100]={0};
trimSpace(p1,p2);
//printf("%s",p2);
getchar();
}

⑼ c語言 輸入一個字元串,刪除該字元串中的所有空格並輸出處理後的字元串

int main()

{

char s[1024],c[1024];

int len,n=0,i;

char p,q;

p=s;q=c;

printf(「請輸入字元串的長度:」);

scanf("%d",&len);

printf(「請輸入一串字元串:」);

for(i=0;i<len+1;i++)

{

scanf("%c",p+i);

}

for(i=0;i<len+1;i++)

{

if((p+i)>=48&&(p+i)<=57||(p+i)>=97&&(p+i)<=122)

{

(q+n)=(p+i);

n++;

}

}

for(i=0;i<n+1;i++)

{

printf("%c",*(q+i));

}

}

c語言編程技巧

1、函數參數

在設計函數時,通常將目的參數放在前面,源參數放在後面。若可能,通過IN、OUT這樣的宏定義來標注參數輸入輸出。

如果參數是指針,且僅作輸入用,則應在類型前加const,以防止該指針在函數體內被意外修改。

2、函數中內存處理

(1)在函數中分配的內存,在函數退出之前要釋放

(2)return語句不可返回指向「棧內存」的指針或者引用,因為該內存在函數體結束時被自動銷毀。