C 练习实例82
题目:八进制转换为十进制
程序分析:无。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n=0,i=0;
char s[20];
printf("请输入一个8进制数:\n");
gets(s);
while(s[i]!='\0'){
n=n*8+s[i]-'0';
i++;
}
printf("刚输入的8进制数转化为十进制为\n%d\n",n);
return 0;
}
以上实例运行输出结果为:
请输入一个8进制数: 16 刚输入的8进制数转化为十进制为 14
C 语言经典100例
德林恩宝零零
319***5092@qq.com
参考方法:
#include<stdio.h> #include<string.h> int main() { int n,i,len,sum=0; char str[20]; printf("请输入一个8进制数:\n"); scanf("%s",str); len=strlen(str); for(i=0;i<=len-1;i++) { sum=sum*8+str[i]-'0'; } printf("刚输入的8进制数转化为十进制为\n%d\n",sum); return 0; }德林恩宝零零
319***5092@qq.com
HIT_CCC
117***2963@qq.com
采用模块化编程更好:
#include<stdio.h> #include<math.h> int OtoD(int n) { int sum = 0; int i = 0; while(n) { sum += (n%10)*pow(8,i++); n /= 10; } return sum; } int main(void) { int n; printf("请输入一个8进制数:\n"); scanf("%d",&n); printf("刚输入的8进制数转化为十进制为\n"); printf("%d",OtoD(n)); }HIT_CCC
117***2963@qq.com