㈠ c語言 字元數組轉換整型數組的演算法
參考代碼:
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="123 12 1";
char *p;
p=strtok(str, " ");
printf("%s
", p);
while (p=strtok(NULL, " "))
{
printf("%s
", p);
}
return 0;
}
輸出效果:
㈡ C語言字元串轉成INT型數組
#include<stdio.h>
int main()
{
int i,a[200];
char s[200];
gets(s);
for(i=0;s[i];i++)
a[i]=s[i];
a[i]=0;
for(i=0;a[i];i++)
printf("%d ",a[i]);
printf(" ");
getch();
return 0;
}
㈢ c語言中,如何將字元串數組中的52提取出來,並轉換為int類型
你的題目和文本好像不一樣,兩個都說一下吧
先說簡單的,數組轉成字元串只要用sprintf函數就可以了,在string.h中,用法和printf很類似,只要在前面加上你要生成的字元串指針就可以了
int sprintf ( char * str, const char * format, ... );
字元串轉換成int,首先你要判斷是不是數字,將數字提取到一個字元串中,別忘了\0
之後在stdlib.h中有一個庫函數atoi()
int atoi ( const char * str );
把建立的字元數組傳給這個函數就可以了.
此外新版C庫中還有一個strtod函數可以做到這一點
long int strtol ( const char * str, char ** endptr, int base );
只要傳開始指針就好,第二個指針是用來指示轉換到什麼地方停止的。
比如你的情況就可以這么傳
char* close;
strtol(string[1],&close,10);
之後close應該指向C
㈣ 用c語言把字元型數組 轉換成整形數組
感覺你的表述有問題
charstr[]={11,12,13,14,15,16,17,18,19,20};
是個什麼意思你明白嗎?他的輸出是這樣的
㈤ 用C語言進行字元串到數組的轉化
#include <stdio.h>
#include <string.h>//為strlen()函數提抄供原型
int main()
{ char ch[100];
int i,length;
int n_number=0,m_number=0;
printf("請輸入字元串: ");
gets(ch);//獲取輸入,並存入數組中
length=strlen(ch);//計算輸入字元串的長度
for(i=0;i<length;i++)
{
if(ch[i]>='0'&&ch[i]<='9')//判斷是否為數字
{
n_number++;
}
if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')//判斷是否為字母
{
m_number++;
}
}
printf("輸入的字元串為: ");
puts(ch);//輸出存入數組的字元串
printf("字元串中數字的個數=%d,字母的個數=%d\n",n_number,m_number);
return 0;
}
㈥ C語言中怎樣最好地從標准輸入流中獲取字元串,並轉換為int數組
#include<stdio.h>
#include<stdlib.h>
intmain(){
inti;
charbuffer[256];
printf("Enteranumber:");
fgets(buffer,256,stdin);
i=atoi(buffer);
printf("Thevalueenteredis%d.",i);
system("pause");
return0;
}
其實你的需求很簡單只要是用atoi函數就可以輕松的轉換string到數組了,我用以上的一小段代碼就可以解釋明白你的疑惑。沒看明白在問我吧!
執行結果:
Enter a number: 233cyuyan
The value entered is 233.
函數說明如下:
頭文件:#include<stdlib.h>
atoi()函數用來將字元串轉換成整數(int),其原型為:
intatoi(constchar*str);
【函數說明】atoi()函數會掃描參數str字元串,跳過前面的空白字元(例如空格,tab縮進等,可以通過函數來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字元串結束時('