为了账号安全,请及时绑定邮箱和手机立即绑定

请问该如何解决自动减1 这个问题?

请问该如何解决自动减1 这个问题?

C
慕少森 2023-04-02 21:17:40
void Tak_Pat(u8 weishu){u8 i,k;u322 temp;temp=total;k=weishu;for(i=0;i<weishu;i++){table1[i]=(temp/(pow(10,k-1)));temp=temp-(table1[i]*(pow(10,k-1)));k--;}}}在i=1的时候,只要是total超过4位数它的temp就会自动减了1;weishu就是那个total的位数,table1用来储存单个的数字,这个函数是要把输入的数字分开成单个的数字来显示,如何解决自动减1 这个问题
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

给你两个函数,一个函数统计整数长度,一个将整数分解成单个字符存在数组中。
你可以参考一下。

/*******************************************************************************************************
函数名称:Count_Int_Length
函数功能:统计整数位数
函数输入:待统计整数通过Value进行传递
函数输出:统计结果通过Int_Len返回
*******************************************************************************************************/
unsigned char Count_Int_Len(long int Value)
{
unsigned char Int_Len = 1;
long int Data_Temp;
Data_Temp = Value;
while(Data_Temp >= 10) //计算数据长度
{
Data_Temp /= 10;
Int_Len ++;
}
return Int_Len;
}

/*******************************************************************************************************
函数名称:Int_To_Char
函数功能:将未知长度整数按位分解,并存于字符数组
函数说明:整数长度不超5位
函数输入:待分解整数通过Value传递,数据长度通过Value_Len传递
函数输出:分解后的数据存放在全局数组变量[]中。
*******************************************************************************************************/
void Int_To_Char(long int Value, unsigned char Value_Len)
{
unsigned char x; //定义循环变量
long int Data_Temp; //定义数据临时变量,数据长度
Data_Temp = Value;
for(x = 0; x < Value_Len; x++) //对数组进行赋值,从低位到高位
{
Int_Bit[Value_Len - x - 1] = Data_Temp % 10;
Data_Temp /= 10;
}
}

查看完整回答
反对 回复 2023-04-05
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信