当前位置:编程学习 > C/C++ >>

C++编程题:输入一个8位的二进制数,将其转换为十进制数后再输出。对于非法输入(除0或1以外的任何字符)应给出提示信息。

答案:我用的是日文版系统,可能会出现乱码,你只要把双引号跟里面的汉字重新打一遍就可以


import java.io.*;

public class Max {
public static void main(String args[]){
  BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
  try{
   System.out.println("请输入8位2进制数字");
   String line=reader.readLine();
   int sum=0;
   int sum1=0;
   for(int i=0;i<8;i++){
    char c=line.charAt(i);
    if(c=='1'&&c<'2'){
     sum=1;
     for(int j=0;j<7-i;j++){
      sum*=2;
     }
     sum1+=sum;
    }
   }
  }
   System.out.println("十进制的结果是"+sum1);
  }catch (IOException e){
   System.out.println(e);
   }
}
}

   int sex(int x)

{   int y,S=1;

     for(y=1;y<=x;y++)

       S*=y;

    return(S)

}

main()

 { int a[8],i,sum=0;

    cout<<"请输入一个八位数的二进制数!"

    for(i=0;i<8;i++)

   {  cin>>a[i];  

      if(a[i]!=0&&a[i]!=1)

       cout<<"输入错误,请重新输入!";

}

  for(i=0;i<8;i++)

  if(a[i]==1)

  sum+=sex(7-i);//2的N次方

   cout<<sum;

 }

上一个:南宁的电脑培训学校哪个好?编程方向:C++、JAUA和都行。
下一个:编程软件学C语言或者是C++入门的要求是什么?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,