用c語言,不是c從鍵盤中輸入字串,然後按照下面要求輸出新字串

時間 2021-09-08 19:06:16

1樓:匿名使用者

#include"stdio.h"

#include"string.h"

#include"malloc.h"

void insert(char a)

int main()

2樓:匿名使用者

#include

#include

#include

void insert(char *, char *,int);

int main()

printf("\n%d\n",i);

re=(char *)malloc(sizeof(char)*(2*i-1));

insert(a,re,i);

free(a);

free(re);

return 0;

}void insert(char *a, char *re, int i)

3樓:匿名使用者

恩,純c寫的

#include

#include

void insert(char *s)

for(i = 0; i < n; ++i)}int main()

4樓:匿名使用者

應該怎麼加一個空格你都是會的吧,如果你連這最基本的東西都不會,那估計做這東西也沒有用,其實這隻要輸出的時候使用單個字元的輸出方式,就不會因為中間有空格而導致全部字串不能輸出了。

c語言c++程式編寫要求鍵盤輸入一串字元,然後剔除其中一個字元,再輸出剩下的字串

5樓:匿名使用者

源串是:1232254682

待刪除字元是:2

刪除(2)後是:135468

press any key to continue#include

#include

char *delchar(char *s, char c_h)}return (s);

}int main()

6樓:匿名使用者

#include

int main()

char a[100];

scanf("%s",a);

printf("\n");

for (int i=0;a[i] != '\0';i++)for (int j=0;a[j]!='\0';j++)if (j == i)

continue;

printf("%c",a[j]);

printf("\n");

return 0;

截圖如下:

求c++程式設計(不要c語言):輸入字串,分別統計字串中所包含的各個不同的字元及其各個字元數量

7樓:匿名使用者

這裡有最簡單的思路和方法,標準c++版:

經測試,執行成功

#include

#include

using namespace std;

int main()

; //記錄各字元個數,初始為0

getline(cin,str); //輸入字串for(string::iterator it=str.begin();it!=str.end();it++)

for(size_t i=0;i!=255;i++)if(asc[i]) cout<<"字元"<<(char)i<<"的個數為:"<

return 0;}

8樓:

哎,當年的作業,拿出來晒晒

int _tmain(int argc, _tchar* ar**)cout<<"大寫字母:"<

cout<<"數字:"<

cout<<"length:"<

system("pause");

return 0;}

9樓:匿名使用者

思路:輸入字串;

宣告臨時計數變數;

迴圈(int i;i《字串長度;i++)

c語言(不是c++)中如何從指定字串中提取指定開始位置到指定結束位置的一個子串給陣列?

10樓:

給你寫一個簡單的吧,寫得複雜了,也不好,上次給你寫的一個,採用了一些特殊方法,還不如直接寫的,暈!

學程式,關鍵是學方法!

void substr(char *str1,char *str2,int start,int end)

main()

11樓:

1 #include

23 char *sub_str(int start,int end,char *str)

4 15

16 sub[end-start]='\0';

1718 return sub;

1920 }

2122 int main ()23

c++,c語言把一個字串複製到另外一個字串中。我不明白為什麼要在複製完成後加入這個 str2[i]='\0'。

12樓:滄海雄風

很簡單 就是新增結束符

不加這個 後面會繼續輸出沒有初始化的位置資料 常見為 燙燙燙 屯屯屯屯

你也可以這樣寫 連後面的結束符也一起賦值過去 後面就可以不加這句了str2[i]='\0'

abcd

abcd

press any key to continue#include

#include

void main ()

puts (str2);

} 還有一種方法就是直接初始化目標字串陣列跟你的只有一點區別

abcd

abcd

press any key to continue#include

void main ()

; //str2[80]=的區別等於把字串陣列全部用\0結束符初始化填充了 也就免去了最後要手動加結束符的問題 所以說初始化是個好習慣

int i;

gets (str1);

i=0;

while (str1[i]!='\0')puts (str2);}

13樓:汪好帥

因為str2[80]沒有初始化的時候。編譯器預設分配的字元,就是那些亂碼 燙~~~~

輸出puts函式是遇到'\0'結束符就結束字串的輸出,沒有結束符標誌自然全部輸出,會有亂碼

如果你不進行str2[i] = '\0';賦值的話。那你在最開始str2[80]要進行初始化

str2[80]=0;這樣就一樣的效果。

有問題請追問

14樓:詩諾比

字串都是以'\0'為結束符, 不加這個是不行的,你碰到的亂碼就是不加的情況,後面會一直遇到0才認為字串結束.

直於你問的i的值沒什麼艱解釋的,就是字串最後一個可顯示字元的下一個位置,i++到幾就是幾

15樓:

\0表示字串結束,是字串結束符

比如:abcd\0,在用puts輸出的時候,遇到\0,則知道字串結束了,就不會往後輸出了,沒有\0的話,就會一直向後輸出,知道出現\0為止,這個時候就有問題,比如輸出abcd***(***表示亂碼)

i的值就是str1字串的長度,你輸入的abcd,則i的值為4

16樓:

str2[i] = '\0'的意思是說將陣列str2的最後一位賦值'\0','\0'是字串的最後一位,c語言在讀取字串時,讀到'\0'表示字串結束了。如果不設,c語言不知道**是結束,就會一直讀下去,讀出記憶體裡面其他的資料,輸出成為亂碼。

17樓:匿名使用者

c和c++規定,字串的末尾必須加字串結束符'\0',這樣系統自帶的字串操作函式才能根據這個結束符知道字串的長度。

18樓:白懷彬

作為結束的標誌用的!

c語言怎麼用printf輸出字串。

19樓:叫8爸爸

printf函式的一般格式

printf(格式控制字串,輸出表列);

以圖1所示為例。

圖1.函式引數包括兩部分:

【1】格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。

它包括兩種資訊:

●格式說明項:由%和格式字元組成,如%d,%f等。格式說明總是由%字元開始,到格式字元終止。

它的作用是將輸出的資料項轉換為指定的格式輸出。輸出表列中的每個資料項對應一個格式說明項。

● 普通字元:即需要原樣輸出的字元,如逗號和換行符。

【2】輸出列表,是需要輸出的一些資料項,可以是表示式。

例如:假如a=3,b=4,那麼printf("a=%db=%d",a,b);,輸出a=3b=4。其中兩個 「%d」是格式說明,表示輸出兩個整數,分別對應變數a,b。

「a=」,「b=」是普通字元,原樣輸出。

由於printf是函式,因此,格式控制字串和輸出表列實際上都是函式的引數。printf函式的一般形式可以表示為:

printf(引數1,引數2,引數3,…,引數n)

printf函式的功能是將引數2到引數n按照引數1給定的格式輸出。

【3】格式字元 (構成格式說明項)

對於不同型別的資料項,應當使用不同的格式字元構成的格式說明項。常用的有以下幾種格式字元:(按不同型別資料,列出各種格式字元的常用用法)

【d格式符】用來輸出十進位制整數。有以下幾種用法:

● %d,按照資料的實際長度輸出。

● %md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則左端補以空格(右對齊);若大於m,則按照實際位數輸出。

● %-md,m指定輸出欄位的寬度 (整數)。如果資料的位數小於m,則右端補以空格 (左對齊);若大於m,則按照實際位數輸出。

● %ld,輸出長整型資料,也可以指定寬度%mld。

【o格式符】以八進位制形式輸出整數。注意:是將記憶體單元中的各位的值按八進位制形式輸出,輸出的資料不帶符號,即將符號位也一起作為八進位制的一部分輸出。

例如:inta=-1;

printf("%d,%o,%x",a,a,a);

-1的原碼:1000,0000,0000,0001。

-1在記憶體中的補碼錶示為:

1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff

輸出:-1,177777,ffff

【s格式符】用來輸出一個字串。有以下幾種用法:

● %s,輸出字串。

● %ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則左補空格 (右對齊)。

● %-ms,輸出的字串佔m列,如果字串長度大於m,則字串全部輸出;若字串長度小於m,則右補空格 (左對齊)。

● %m.ns,輸出佔m列,但只取字串左端n個字元,左補空白 (右對齊)。

● %-m.ns,輸出佔m列,但只取字串左端n個字元,右補空白 (左對齊)。

【 f 格式符】用來輸出實數 (包括單、雙精度,單雙精度格式符相同),以小數形式輸出。有以下幾種用法:

● %f,不指定寬度,使整數部分全部輸出,並輸出6位小數。注意,並非全部數字都是有效數字,單精度實數的有效位數一般為7位 (雙精度16位)。

● %m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,左端補空格(右對齊)。

● %-m.nf,指定資料佔m列,其中有n位小數。如果數值長度小於m,右端補空格(左對齊)。

【 e 格式符】以指數形式輸出實數。可用以下形式表示:

● %e,不指定輸出資料所佔的寬度和小數位數,由系統自動指定。如6位小數,指數佔5位,-e佔1位,指數符號佔1位,指數佔3位。數值按照規格化指數形式輸出 (小數點前必須有而且只有1位非0數字)。

鍵盤C語言程式設計輸入程式, c語言 編寫程式,使從鍵盤輸入的三位數倒著輸出

getchar函式 字元輸入函式 的作用是從終端輸入一個字元。用法 getchar 如 char a a getchar 表示從鍵盤輸入一個字元,並把他賦值給字元變數a 還可以用scanf 語句輸入資料。用法 scanf 格式控制,地址表列 如int a scanf d a scanf d d d ...

c語言程式設計題從鍵盤中輸入整數存到陣列中,輸出其最小值和它所對應的下標

include define size 6 void main void int num size int i,min,minpos printf enter 6 integers min num 0 minpos 0 for i 1 iif min num i min num i minpos i...

C語言程式設計從鍵盤中任意輸入整數,統計其中負數的個數,並

問明 include int main int a 20 int k 0,sum 0,i for i 0 i 20 i scanf d a i if a i 0 sum a i 負數之和 k 計數 printf d d sum,k return 0 執行效果 一 return在函式中的作用 我們如果...