zoukankan      html  css  js  c++  java
  • 【C语言】八进制转十进制

    程序中函数 fun()的功能: 将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。
    规定输入的字符串最多只能包含5位八进制数字字符。 **输入格式要求:gets 提示信息:"输入一个八进制字符串(5位):" "错误:字符串太长 " "错误:%c 不是一个八进制字符 " **输出格式要求:"输入的八进制字符串为" " %s 转换成十进制整数为:%d " 程序运行示例如下: 输入一个八进制字符串(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[10];
     8     int i,flag=0;
     9     printf("输入一个八进制字符串(5位):");
    10     gets(str);
    11     if (strlen(str) > 5)
    12         printf("错误:字符串太长
    
    ");
    13     else
    14     {
    15         for (i = 0; str[i]!=''; i++)
    16         {
    17             if (str[i] < '0' || str[i] > '7')
    18             {
    19                 printf("错误:%c 不是一个八进制字符
    
    ", str[i]);
    20                 flag=-1;
    22             }
    23         }
    24         if(flag==0)
    25         {
    26             printf("输入的八进制字符串为%s", str);
    27             printf("
    %s 转换成十进制整数为:%d
    ", str, fun(str));
    28         }
    29         
    30     }
    31 
    32 }
    33 int fun(char str[])
    34 {
    35     int n = 0, i=0;
    36     while (str[i]!='')
    37     {
    38         n += (str[strlen(str)-i-1]-48) * pow(8,i);  //这是一个字符,需要进行转换才是int型数字
    39         i++;
    40     }
    41     return n;
    42 }
    
    
    
     
     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <stdlib.h>
     4 int fun(char *p)
     5 {                        
     6     int n;
     7     n = *p - '0';
     8     p++;
     9     while (*p != 0)
    10     {                        
    11         n = n * 8 + *p - '0';
    12         p++;
    13     }
    14     return n;
    15 }                        
    16 main()
    17 {                        
    18     char s[6];
    19     int i;
    20     int n;
    21     printf("输入一个八进制字符串(5位):");
    22     gets(s);
    23     if (strlen(s) > 5)
    24     {                        
    25         printf("错误:字符串太长
    
    ");
    26         exit(0);
    27     }
    28     for (i = 0; s[i]; i++)
    29     {                        
    30         if (s[i] < '0' || s[i] > '7')
    31         {                        
    32             printf("错误:%c 不是一个八进制字符
    
    ", s[i]);
    33             exit(0);
    34         }
    35     }
    36     printf("输入的八进制字符串为");
    37     puts(s);
    38     n = fun(s);
    39     printf("
    %s 转换成十进制整数为:%d
    ", s, n);
    40 }                        
    
    
    
    
    
  • 相关阅读:
    ARM启动流程
    ARM机器码分析
    Ubuntu 14.04 dnw配置
    UNIX环境下的消息队列
    UNIX环境下的共享内存
    iptables详解
    iptables 相关名词的解释说明
    sphinx的安装配置和中文分词包coreseek
    linux防火墙iptables封IP,拒绝指定IP和网段的办法
    linux下注销其它用户或者tty的命令
  • 原文地址:https://www.cnblogs.com/20201212ycy/p/14907607.html
Copyright © 2011-2022 走看看