c语言怎样用数组将十进制数a,c语言如何将字符转换层十进制

1.c语言中,将字符转换为十进制的程序

字符转为10进制 用sscanf或者用atoi均可

以字符串中, 本身为10进制字符串为例

用sscanf程序如下:

#include

int main()

{

char s[20];

int i;

scanf("%s",s);

sscanf(s, "%d",&i);

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

return 0;

}

2.将字符串转换为十进制整数(用C语言)

应该就是这样

#include

#include

int main( )

{

char data[ 1000 ];

int i, t;

scanf("%s", data);

for ( i = 0; i < strlen( data ) - 1; i++ )

{

if ( data[ i ] == '#' )

{

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

t = 0;

}

else

{

if ( data[ i ] >= '0' && data[ i ] <= '9' )

t = t * 10 + data[ i ] - '0';

}

}

return 0;

}

3.C语言如何将一个数字组成的字符串转变成十进制数

办法很多,提供三种供参考。

一、直接使用库函数atoi将数字字符串转换成十进制整数。代码如下:

#include "stdio.h"

#include "stdlib.h"//调用库函数atoi要包含这个文件

int main(int argc,char *argv[]){

char a[]="478167831";

printf("%d\n",atoi(a));//直接调用atoi将a转换为十进制整数

return 0;

}二、用库函数sscanf直接将数组中的数字字符串读入十进制整型变量。代码如下:

#include "stdio.h"

int main(int argc,char *argv[]){

char a[]="478167831";

int x;

sscanf(a,"%d",&x);//调用sscanf,读入时自动转换为int型并由%d控制以十进制赋给变量x

printf("%d\n",x);//输出

return 0;

}三、自行编写转换代码:

#include "stdio.h"

int main(int argc,char *argv[]){

char a[]="478167831";

int x,i;

for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字符与数字的关系是"字符值-'0'==同名数字"

printf("%d\n",x);//输出

return 0;

}上述三代码的输出结果如下图:

4.c语言模拟输入函数,将数字字串符转为十进制整数

n=n*10+str[i]-'0';第十二句不是0=0*10+str[0]-'0';

是n = 0 * 10 + str[0]-'0'; str[0] - '0'是数字3.

你输入的数字3当字符处理ascll码是51,字符'0'的ascll是48,所以相减得数字3即12句为 n = 0 * 10 + 3;

我输入123321和456转后出来的数没变!这到底是将什么转成什么呀??

你用%d能输出那串数字说明你已经做了转换了,你可是输入进去的字符,转换出来的是数字

5.C语言 将八进制字符转成十进制整数

n = *p - '0';// 这一行已经把字符串的第一个字符处理了,所以下面是从下一个字符开始

p++; //所以要自加1转化的过程是这样子的:

假设 s = '123'

fun(s)的运行过程如下:

n = '1' - '0'; //n = 1

p++; //*p='2'

n = n*8+ *p - '0'; // n = n*8 + '2'-'0' = 1*8+2 = 10

p++;

n = n*8+ *p - '0'; // n = n*8 + '3'-'0' = 10*8+3 = 83, 此时

p++; //此时*p=0;所以循环退出,返回n,结果就是83

8dca7fa8090fec123e7ceea783497f15.png

标签:肇庆新区,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值