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

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

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語言 字串,輸入字元,編寫函式dstr將輸入的字元從字串中刪去。要求能調通

給你個參考參考,寫的很不錯的,不過不是我寫的啦 include char dstr char s,char c int main char str 1000 char ch printf 請輸入乙個字串 t gets str printf 請輸入要挖去的字元 t scanf c ch printf ...

c語言刪除字串中指定字元,C語言刪除字串中指定字元

加百列 一 問題描述 從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。1 輸入 第一行是一個字串 第二行是一個字元。2 輸出 刪除指定字元後的字串。二 設計思路 1 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。2 用gets函式輸...

c語言中字串連線怎麼解決,C語言中字串連線怎麼解決??

大野瘦子 include char a 10 123 char b 10 abc char c 20 strcpy c,a 把串a複製到有足夠空間的c中strcat c,b 把b連線到c的串尾需要注意的事項 c的長度一定要能夠容納要轉換的數字的長度,比如下面的例子,c的長度至少為8 1234567 ...