如何用c語言輸入字串,把裡面連續的數字依次存放到陣列中

時間 2021-08-11 17:49:43

1樓:夔啟江澄邈

定義一個足夠的陣列,迴圈字元陣列,遇到數字就放到新的陣列中

~~~~~~~~~~

2樓:匿名使用者

void main()

,i=0,j=0,x=0; //!!!!

printf("請輸入一串字元\n");

gets(a);

for(p=a;(*p)!='\0';p++)else

b[i-1]=b[i-1]*10+(*p)-48;

x=1;

} else

x=0;

} for(j=0;b[j]!=0;j++) //!!!!

printf("%d ",b[j]);

printf("共有%d個",j);

printf("\n");}

3樓:

#include

#include

int main(int argc, char* argv)if (bnumber)

i++;

k = 0;

}printf("count: %d\n", j);

for (i = 0; i

getch();

return 0;}

4樓:匿名使用者

#include

#include

void main()

}printf("total %d integer(s).\n", n);

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

c語言。輸入一個字串,內有陣列和非數字字元,將其中連續的數字作為一個整數,依次存放到一陣列a中

5樓:問明

#include

#include

void output(char *s, int n);            //定義輸出函式

int main()

//輸出函式

void output(char *s, int n)for(j=0, printf("there is %d number in the string.\nresult: ", m); jprintf("\n");}

6樓:匿名使用者

void search(char *p1,double *p2,int *p3)

/* //1. 修改

else if(i!=0)//當遇到字串中的一個非整數的字元時,執行以下操作

else continue;//如果字串中的第一個字元就不是整數,

} //那麼就直接跳出本次迴圈進行下一個字元的檢測

// 2. 增加

if (j != 0)

/*// 3. 修改

*(p3)=n+1;//記憶檢測到的整數個數,「傳回」主函式

*/*(p3)=n;

}對你的**做了3處修改。分別說明如下:

1. 判斷條件的修改,原條件無法判斷兩個數字中間的非字元數大於1的情況

迴圈變數h由遞增改為遞減,因為陣列a中,下標從小到大分別表示的是從高位到低位,比如123儲存在a中,那麼a[0]儲存的是百位

增加了一個乘法,因為pow只能計算該位置的單位,而不能表示具體數值,比如321,pow只能計算出100 + 10 + 1

為什麼要減去'0',因為a中儲存的是字元,而不是整數。

2. 增加了一次迴圈,如果字串不是以非數字字元結尾,那麼,最後一次讀到陣列a中的資料則無法u取出

3. 函式第三個引數的賦值修改為n而不是n+1,每次讀完一個數字,n自動完成了加1,因此最後無需再對其進行加1操作

7樓:

if (*p>='0' && *p<='9')這一段中連續數字字元每處理一個就sum++;了,按要求是一個整數sum增1一次;char a[10]=;這個宣告也有問題,a的元素只有1位元組,絕大多數整都放不下。所以再沒有往下看,寫得也太複雜,下面提供一個作參考……

//#include "stdafx.h"//vc++6.0加上這一行.

#include "stdio.h"

#include "string.h"

int main(void){

char s="a123x56 17960?302tab5876";

int a[1000],i,j,k,ln=strlen(s);

for(j=k=i=0;i

8樓:鎏金閣

char cmix[100]="sdf34534hjkljk56365jhl huo4578bhj45t";

char *pchar=cmix;

int integer[10][16];//最多隻能10組數字,每組最多15個數字字元。

int j,i=0;//整數陣列下標

while(*pchar)//混合字串未結束j=0;//新組第一個數字

while(isdigit(*pchar)&&j<14)//*pchar是數字&&j<14

integer[i][j]='\0' ;//字串結尾標誌i++;//準備下一個數字組}

c語言裡如何輸入幾個字串放到一個陣列中

9樓:你不愛吃烤肉

方法如下:

#include

void main()

}擴充套件資料:c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

c語言常用詞彙有:

條件 condition

變數 variant

過程 process

優先 priority

運算 operation

返回值 return value

函式 function

宣告 declare

引數 parameter

靜態的 static

外部的 extern

引用 reference

元素 element

地址 address

排序 sort

字元 character

字串 string

指標 pointer

引數 argument

陣列 array

宣告 declaration

表示 represent

處理 manipulate

成員 member

標記 tag

函式 function

列舉 enumerate

聯合 ( 共用體 ) union

建立 create

插入 insert

刪除 delete

修改 modify

10樓:阿鸞

首先,c語言沒有字串型別,但是字元陣列或者字元指標可以表示字串。

所以你可以把幾個字串分別放到幾個不同陣列:

例如:char str1[10] = "abcdefg";

char str2[10] = "qwerty";

注意,定義字元陣列時可以使用=直接賦值,非定義階段,不能用等號直接對字元陣列賦值,應該使用庫函式strcpy

例如char str[10];

strcpy(str,"abcdefg");

另外,如果非要把多個字串輸入到同一陣列,可以這樣:

char str[20];

strcpy(str,"abcdefg");

char *p = str ;

p += strlen("abcdefg");

strcpy(p,"qwerty");

printf("%s",str);

輸出結果是 abcdefgqwerty

11樓:匿名使用者

#include

void main()

}這個實現的是輸入的每一個字串存放在二維陣列s的一行中

12樓:匿名使用者

for (i = 0; i < 10; i++)

gets(s[i]);

c語言輸入一個字串,依次取出其中由連續的英文字母組成的子串並存入一個二維陣列中,統計從輸入字串

13樓:匿名使用者

pwd = getpwuid(buf.st_uid);

grp = getgrgid(buf.st_gid);

if(null == pwd)

if(null == grp)

// show file type

printf("%c",type);

// show permission of usr, grout and other

while(i<9)

用c語言依次輸入10個字串,找出每個字串中的最大字元,並依次存入一維陣列中,最後輸出該一維陣列。

14樓:

#include

#include

int main()

res[j]=maxc;

j++;

n--;

}for(i=0;i<10;i++)//輸出最終的陣列printf("%c ",res[i]);

printf("\n");

return 0;

}ps:**除錯成功!

C語言 輸入字串,然後逆序輸出

橘落淮南常成枳 可以將整數當做字串 字串長度不超過10 接收,然後反向輸出字元陣列元素即可。字串實際長度可以用strlen函式來計算。方法程式如下 include include main 杜哥是個小天才 include int main int len,i char str 100 gets st...

C語言字串問題,C語言字元陣列與字串問題

字串初始化,如果逐個賦值的話,系統不是會自動新增 0 嗎不是。圖一就是長度為4的陣列,圖二長度為5圖三會是新增 0,但是是會把後面所有的都設為 0因為圖一和圖四不以 0結尾,所以不能用strlen和strcmp,會越界 圖四也可以用char str 4 stop 這樣賦值。如果不手動加長度就會是5了...

c語言輸入字串,將該字串中從第m個字元開始的全部字元複製到另字串

大野瘦子 這樣 include include int main void copystr char char int int m char str1 20 str2 20 printf input string gets str1 printf which character that begin...