gpt4 book ai didi

c - C中的八进制到十进制

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:18 24 4
gpt4 key购买 nike

我稍微修改了代码,得到了下面的内容。输出的数字现在更真实了,但仍然不正确(例如,输入 54# 结果输出 36,而它应该输出 44)

#include <stdio.h>
#include <math.h>

main()
{
printf("Please enter an octal number ending with # \n");
int nextNum = getchar();
int number[100];
int numberOfSlots = 0; //Records how many digits are entered
int power = 0; //Sets power of 8 during conversion
int decimalNumber = 0;
int i=0;

while(nextNum != '#') //reads in the whole number, putting the characters together to form one Octal number.
{
if(nextNum >='0' && nextNum <='9')
nextNum = (nextNum - '0');
else{printf("Oops! That's not a valid number!");}

number['i'] = (nextNum);
//numberOfSlots++;
i++;
nextNum = getchar();
printf("%d\n", number['i']);

}


//Begin converson from Octal to Decimal

for(i; i > 0; i--)
{
decimalNumber = decimalNumber + (number['i'] * pow(8,power));
power++;
}

printf("%d", decimalNumber);

}

最佳答案

由于这是作业,所以我会给出提示而不是答案:

函数getchar()返回一个字符而不是一个数字。字符具有基于系统字符编码的值(参见 ASCII )。

查看实际分配给数字的值,并将您得到的值转换为实际应有的数值。

关于c - C中的八进制到十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com