① c語言字元轉數字
功能:數字字元串轉整型int,去除高位0。
注意:不要輸入超出int范圍。
#include<stdio.h>
#include<string.h>
intpw10(intm);//計算10次方
intstr2int(char*nums);
intmain()
{
charnums[]="0103456";
intnum;
printf("原字元串:%s
",nums);
num=str2int(nums);
printf("轉成整型後的數字為:%d
",num);
return0;
}
intpw10(intm)//計算10次方
{
inti,mu=1;
if(m==0)
return1;
for(i=0;i<m;i++)
mu=mu*10;
returnmu;
}
intstr2int(char*nums)
{
char*p=nums;
intlen=strlen(nums),i,m=0,sum=0;
while(1)//去高位0
{
if(*p=='0')
p++;
else
break;
}
for(i=len-1;&nums[i]>=p;i--)
sum=sum+(nums[i]-'0')*pw10(m++);
returnsum;
}
② c語言中如何將字元串轉化成整數型並輸出
c語言中,可以使用atoi()函數將字元串轉化成整數型並輸出。
atoi (表示 ascii to integer)是把字元串轉換成整型數的一個函數,應用在計算機程序和辦公軟體中。int atoi(const char *nptr) 函數會掃描參數 nptr字元串,會跳過前面的空白字元(例如空格,tab縮進)等。
如果 nptr不能轉換成 int 或者 nptr為空字元串,那麼將返回 0 。特別注意,該函數要求被轉換的字元串是按十進制數理解的。atoi輸入的字元串對應數字存在大小限制(與int類型大小有關),若其過大可能報錯-1。
(2)c語言輸出一串字元轉化後的數字擴展閱讀:
C語言常用函數:
1、int abs(int i)
返回整型參數i的絕對值。
2、double cabs(struct complex znum)
返回復數znum的絕對值。
3、double fabs(double x)
返回雙精度參數x的絕對值。
4、long labs(long n)
返回長整型參數n的絕對值。
5、double exp(double x)
返回指數函數ex的值。
6、double frexp(double value,int *eptr)
返回value=x*2n中x的值,n存貯在eptr中。
7、double ldexp(double value,int exp)
返回value*2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
③ C語言編寫程序,輸入一個字元,如果是數字字元,則轉換成對應的數字
1、新建一個工程和.c文件 ,輸入頭文件和主函數。
④ c語言中實現輸入一個數字字元,然後轉換成整數數字輸出.怎麼做
字元串轉整數可以有兩種方法:
1.使用c語言自帶的庫函數:atoi。
函數原型:int atoi(const char *nptr);
功能:把字元串轉成整型數。
例如:
#include<stdlib.h>
#include<stdio.h>
intmain(void)
{
intn;
char*str="12345";
n=atoi(str);
printf("int=%d ",n);
return0;
}
/*
輸出:
int=12345
*/
2.可以自己編寫一個轉換函數:
#include<stdio.h>
#include<stdlib.h>
intatoi(char*s)
{
intt=0;
while(*s){
t=t*10+*s-'0';
s++;
}
return(t);
}
intmain()
{
chara[]="12345";
intn=atoi(a);
printf("n=%d",n);
return0;
}
/*
輸出:
n=12345
*/
⑤ C語言怎麼把字元串轉換為可以用於計算的數字
(1)使用常用標准函數庫stdlib當中的字元串轉換函數,可以把各種類型的字元串轉換為相應類型的數字。
(2)使用輸入輸出標准函數庫stdio當中的sscanf函數。
⑥ C語言:怎樣把字元1變成數字1
1、打開電腦上的code blocks編輯器,點擊新建file菜單,創建一個新的文件。
⑦ 用c語言如何從一串字元中輸出數字
#include<stdio.h>
void main()
{
char a[]="rwtywyffgs 156236 ghhgj8";
int i=0;
while(a[i])
{
if(a[i]>='0'&&a[i]<='9')
printf("%c",a[i]);
i++;
}
printf("\n");
}
⑧ C語言中如何把一個字元串轉成數字
代碼如下,應該存放在b[10]數組中
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
char a[10][10]={"BF","BB","7F","00"};
int b[10];
int i,j;
int flag=0;
int n;
int num;
for(i=0;!flag;i++)
{
n=strlen(a[i]);
num=0;
for(j=0;j<n;j++)
{
if(a[i][j]>='A'&&a[i][j]<='F')
{
num+=(a[i][j]-55)*pow(16,(n-j-1));
}
else
num+=(a[i][j]-48)*pow(16,(n-j-1));
}
b[i]=num;
if(num==0)
flag=1;
}
*(b+i)=-1;
for(i=0;*(b+i)!=-1;i++)
{
printf("0x%08x\n",b[i]);
}
return 0;
}
⑨ 編寫一個c語言程序,將輸入的數字字元轉換成數字並輸出並輸出!謝謝
#include "stdio.h"
void main()
{
char c;
scanf("%c",&c);//輸入一個數字字元
if(c>='0' && c<='9'){ //若為0-9則進行處理
c-='0'; //將數字字元轉換為真正的數字值
printf("%d",c);//輸出數字值 這里用%d
}
else{
printf("please enter 0~9!\n");
}
}
⑩ C語言:把數字字元串轉換成整型數字
程序如下:
若輸入字元串"ab56cd87",則輸出結果:以%d格式輸出十進制整數5687;若輸入字元串"-ab56cd87",則輸出結果:以%d格式輸出十進制整數-5687。
(10)c語言輸出一串字元轉化後的數字擴展閱讀:
C語言高效編程技巧:
一:以空間換時間
計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題
二:數學方法解決問題
數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。
三:使用位操作
實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。
在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。