欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

将八进制转换成十进制的C语言方法

最编程 2024-08-14 16:37:29
...
程序中函数 fun()的功能: 将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。
规定输入的字符串最多只能包含5位八进制数字字符。 **输入格式要求:gets 提示信息:"输入一个八进制字符串(5位):" "错误:字符串太长\n\n" "错误:%c 不是一个八进制字符\n\n" **输出格式要求:"输入的八进制字符串为" "\n%s 转换成十进制整数为:%d\n" 程序运行示例如下: 输入一个八进制字符串(5位):234 输入的八进制字符串为234 234 转换成十进制整数为:156

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 int fun(char str[]);
 5 main()
 6 {
 7     char str[5];
 8     int i,flag=0;
 9     printf("输入一个八进制字符串(5位):");
10     gets(str);
11     if (strlen(str) > 5)
12         printf("错误:字符串太长\n\n");
13     else
14     {
15         for (i = 0; str[i]!='\0'; i++)
16         {
17             if (str[i] < '0' || str[i] > '7')
18             {
19                 printf("错误:%s 不是一个八进制字符\n\n", str);
20                 flag=-1;
21                 break;
22             }
23         }
24         if(flag==0)
25         {
26             printf("输入的八进制字符串为%s", str);
27             printf("\n%s 转换成十进制整数为:%d\n", str, fun(str));
28         }
29         
30     }
31 
32 }
33 int fun(char str[])
34 {
35     int n = 0, i=0;
36     while (str[i]!='\0')
37     {
38         n += (str[strlen(str)-i-1]-48) * pow(8,i);  //这是一个字符,需要进行转换才是int型数字
39         i++;
40     }
41     return n;
42 }


 

原文地址:https://www.cnblogs.com/20201212ycy/p/14907607.html

推荐阅读