一个十进制换八进制的程序,大家能帮我看看错在哪里吗?用C++编的

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:27:56
#include<iostream>
include<cmath>
using namespace std;
{ cout<<"请输入一个十进制数:";
cin<<a<<'\n';
b=a%8;
c=(a-b)/8;
If c>8
cout<<b<<endl;
return 0;
}

楼主的程序有很多的错误的,程序经过修改后如下:
#include<iostream>
#include<cmath> //这句有误需要在include前加一个#,注意
using namespace std;
int main()//标志是主函数,任何一个程序都必须有主函数,不能写掉,加上
{
int a,b[20],c,i=0;//定义变量,一定需要
cout<<"请输入一个十进制数:";
cin>>a; //输入函数写法不正确,写反了,应该使用“>>”才行不是“<<”,同时去掉最后的<<'\n'
/*b=a%8;
c=(a-b)/8;*///循环计算不正确,需改为下面这样才行
while(a)//判定需要转换的数是否变为0
{
b[i++]=a%8;//取余,进行进制转换,但是顺序与正确值相反
a/=8;//转换一位之后进行相应的变化
}
/*if(c>8) //语句不正确把If c>8改为if(c>8)
cout<<b<<endl; *///同时输出也不正确,需要改正,改后如下
for(c=i-1;c>=0;c--)//反序输出
{
cout<<b[c];
}
cout<<endl;
return 0;
}
这才是正确的程序的写法。