C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]=1,2,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]=1,2,相关的知识,希望对你有一定的参考价值。

C语言中怎么将一个整形数组转化为一个float或者int类型数字比如
int a[5]=1,2,3,4,5;
int k;
转化后就是
k=12345

int convert(int a[],int n) //n为数组元素个数

    int i,sum;
    for(i=0,sum=0;i<n;i++)
    
        sum*=10;
        sum+=a[i];
    
    return sum; //将结果返回给指定的整型变量

参考技术A

为啥不直接存到char 数组呢?

#include <stdio.h>
#include <math.h>
int main()

int a[5]=1,2,3,4,5;
int k=0,i=0,len=0,tmp=0;
len = sizeof(a)/sizeof(a[0]);
for (i=0;i<len;i++)

k += a[i]*(int)pow(10,len-i-1);

printf("k=[%d]\\n",k);
return 0;

k=[12345]
Press any key to continue


float你怎么办?小数点也存int数组里吗?

参考技术B int a[5]=1,2,3,4,5;
int k,i;
for(k=i=0;i<5;i++)
k=k*10+a[i];
printf("%d\n",k);本回答被提问者和网友采纳
参考技术C

如果遇到int a[]=1,2,99,5你想怎么整合?

变成12995?

我给你说思路,好久没用过C了,具体语法都忘了,这样,你把数组里面的数据追加到字符串里面.

int a[]=1,2,99,5;
String str="";
for(int i=0;i<a.length;i++)
    str+=a[i];//也可能str+=a[i]+"",我忘记具体语法了,你试试,我就说个思路

现在的str里面就装着字符类型的"12995"了

然后

int new_a=atoi(str);//这个函数是尝试将字符串"1234"转变为整数型1234

需要注意,一般这类函数都有异常的可能,万一你给的字符串无法转换,会报异常,你捕获一下.

解释清晰么?

keil c中如何把字符串转化为整型 具体一点

参考技术A 可以使用sscanf,就像sprintf将整型数转换成字符串输出一样,逆运算(KEILC
中scanf和printf确定了通过单片机串行口完成输入输出模式,除非做了修改,一般实际中不用)。给你个例子:
unsigned
char
string[5]="1234";
unsigned
int
n;
sscanf(string,"%u",&n);
//string是字符串,%u是格式控制串,u是无符号十进制数,&n是变量n的地址。
printf
("%d\n",n);
//可在KEIL
C
开发环境中输出观察
你可以把上面这部分代码放到KEIL
C中的HELLO.C程序中观察验证一下。
关于格式控制串(也就是“%u”等),可以查看一下KEIL
C的相关资料,与PC机的C语言略有不同。可以根据不同的要求转换成8进制、16进制、int型、long型等数据,相关符号有一二十种,此处就不细说了。
参考技术B 先说明你为什么想要这样转换。
简单来说用强制类型转换逐个复制到缓冲区中就行。
参考技术C 这问题有点那啥
在一定程度上,其实是可以把字符串理解为数组的,如果你只是要将字符串中的字符一一转化成整型,那只需要这样:
(用lylxy1965的例子)
unsigned
char
string[5]="1234";
unsigned
int
n;
for(
int
i=0;
i<
strlen(string);
i++)

n
=
string[i];
//此时n的值将为“1234”所对应的ASCII码,如string[0]时,n=0x31
//把n拿来处理

如果你是要将字符串中的字符一一转换成其对应的数值,那就在上述循环中加入范围限制和运算即可实现如string[0]时,n=1这样的效果来
关键是你需要什么

以上是关于C语言中怎么将一个整形数组转化为一个float或者int类型数字比如 int a[5]=1,2,的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符串类型转换为整型或浮点怎么做

c#中怎么将string转换成int型

关于C语言参数化宏的问题?

c语言如何将字符串转为二进制的整型然后保存到整型数组里?

C语言中 字符串如何转为整型数值

用C语言递归法将一个整数化为字符串