當前位置:首頁 » 編程語言 » c語言輸入帶空格字元串

c語言輸入帶空格字元串

發布時間: 2022-07-23 20:46:38

c語言用如何用scanf輸入帶有空格的字元串

要輸入帶空格的字元串,要用到一個格式字元:%[] --> 一個字元集。

「%[]」的作用是掃描字元集合:

例如:scanf(「%[^ ]」,str);

具體作用是:如果輸入的字元屬於方括弧內字元串中某個字元,那麼就提取該字元;如果一經發現不屬於就結束提取。該方法會自動加上一個''到已經提取的字元後面。

#include <stdio.h>

int main()

{

char str[81];

printf("Please input a string: ");

scanf("%[^ ]",&str);

printf("The string is: %s ",str);

return 0;

}

(1)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。

網路-掃描集

Ⅱ C語言編程:主函數輸入一行有空格和數字的字元串,求這行字元串的縮寫,怎麼編

#include <stdio.h>

#include <string.h>

#include <ctype.h>


char *p = "無法生成縮寫詞!";

char s[10001], buf[10001];


char * strTos(char *str) {

if (strlen(str) < 4)

return p;

int word = 0, len = 0, i = 0;

char *t = str, temp;

while (*t) {

if (*t == ' ' || *t == ' ') {

word = 0;

if (len >= 4 && isalpha(temp)) {

buf[i++] = toupper(temp);

len = 0;

}

}

else if (word == 1) {

len++;

}

else if (word == 0) {

temp = *t;

word = 1;

len = 1;

}

t++;

}

if (i == 0)

return p;

return buf;

}


int main(void) {

char *r;

fgets(s, 10001, stdin);

r = strTos(s);

puts(r);

return 0;

}

Ⅲ C語言輸入一個中間代有空格的字元串,為什麼不可以用scanf 急急急

默認是以空白符作為結束標記的,如果要用scanf讀取帶空格的字元串,可以這樣。

以換行符作為結束標記,從而讀取帶空格的字元串。

#include<stdio.h>
intmain()
{
charstr[100];
scanf("%[^ ]",str);
printf("%s",str);
return0;
}

Ⅳ C語言如何輸入一行有空格的字元串

C語言輸入一行有空格的字元串的方法:

1、對於char

char s[100];

cin.getline(s,1000);//第二個參數表示允許輸入的最大長度while(cin.getline(s,1000));

輸入輸出樣例

輸入:He llo

輸出:He llo

2、對於string

string s;

getline(cin,s);while(getline(cin,s));

輸入輸出樣例

輸入:He llo

輸出:He llo

(4)c語言輸入帶空格字元串擴展閱讀

字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j",而字元串的零位正是它的長度。

這可以給我們提供很多方便,高精度運算時每一位都可以轉化為數字存入數組。

字元串或串(String)是由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。

兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

Ⅳ C語言當用戶要求輸入的字元串中含有空格時,應使用的輸入函數是什麼啊

用gets()函數;gets從標准輸入設備讀字元串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。
功能
從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『\0』空字元,並由此來結束字元串。
返回值
讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。

(5)c語言輸入帶空格字元串擴展閱讀:
gets()函數用法:
示例
1、C:
#include
<stdio.h>

//這個頭文件包含gets()函數,這個函數在ISO/IEC
9899
2011(C11)標准中被移除
int
main(void)
{
char
str1;
//不要char*p,然後gets(p),這是錯誤的,因為p沒有指向有效的內存,它可能指向任何非法地址//地方的未知大小的內存塊,這樣以來,就可能修改了不屬於本程序的內存的內容
gets(str1);
printf("%s\n",
str1);
return
0;
}
#include
<stdio.h>//gets_s()用法
#define
CH
20
int
main(void)
{
char
ch[CH];
printf("請輸入你的名字:\n");
gets_s(ch,CH);

//這里不能用gets_s(ch);
printf("這是你的名字:%s\n",
ch);
return
0;
}
2、C++:
#include
<iostream>
#include
<cstdio>
using
namespace
std;
int
main()
{
char
str[100];
gets(str);
cout<<str<<endl;
return
0;
}
gets()函數用來從標准輸入設備(鍵盤)讀取字元串直到換行符結束,但換行符會被丟棄,然後在末尾添加'\0'字元。其調用格式為:
gets(s);其中s為字元串變數(字元串數組名或字元串指針)。
gets(s)函數與scanf("%s",s)相似,但不完全相同,使用scanf("%s",s)
函數輸入字元串時存在一個問題,就是如果輸入了空格會認為字元串結束,空格後的字元將作為下一個輸入項處理,但gets()函數將接收輸入的整個字元串直到遇到換行為止。
也就是說:gets()函數讀取到\n(我們輸入的回車)於是停止讀取,但是它不會把\n包含到字元串裡面去。然而,和它配合使用的puts函數,卻在輸出字元串的時候自動換行。

Ⅵ C語言中如何輸入帶有空格的字元串(即空格作為字元輸入)

用gets()函數吧 先定一個用於存字元串的數組 s][10] 再類似scanf的調用 gets(s) 這樣除了回車以外的的字元串就都可以存入s中了 最基本的C知識 多看看就懂了

Ⅶ c語言,怎樣輸出有空格的字元串

你想要指針的方法給中文插入空格列印輸出,你的代碼錯在1、結束符號要寫0或者'',不能寫「」。2、一個中文是2個英文字元大小,所以每次循環指針要取2位列印。

所以上面那個指針的代碼要改成:

#include <stdio.h>

int main()

{

char* p= "紅橙黃綠青藍紫";

while(*p!=0)

{

printf("%c%c ",*p,*(p+1));

printf(" ");

p+=2;

}

}

熱點內容
創建資料庫並設置編碼 發布:2025-01-31 11:11:52 瀏覽:781
搭建數據中心需要的伺服器配置 發布:2025-01-31 11:11:44 瀏覽:590
c語言小數點後四捨五入 發布:2025-01-31 11:10:10 瀏覽:496
httpslinux 發布:2025-01-31 11:10:09 瀏覽:828
java4 發布:2025-01-31 11:08:42 瀏覽:355
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259