注册 登录
编程论坛 C++教室

闽高校计算机等级考试C语言题目

linyongxing 发布于 2010-11-29 22:53, 568 次点击
程序代码:
#include<stdio.h>
void main()
{ int i,a=0;
  /**/ c1,c2; /**/
  clrscr();
  printf("Enter an 8 bit binary number :");
  c2=getchar();
  /**/ for(i=1,i<=7;i++) /**/
  {  c1=getchar();
     a=a*2+c1-'0';
  }
  /**/ If (c2) /**/ a=(-1)*a;
  printf("\n%d \n",a);
  getch();
}
程序的功能是:输入一个原码表示的8位二进制数(最高位为符号位,0表示正数,1表示负数;其余位为无符号数),将其转换成十进制数并输出。例如:
输入:10100101
输出:-37
注:(1)修改程序在每对“/**/”之间存在的错误;
    (2)不得删改程序中的“/**/”注释和其它代码;
请个位大哥帮忙解决一下
1 回复
#2
kyzrong2010-12-01 21:24
#include<stdio.h>
main(){
  int i,a=0;
  /**/char c1,c2; /**/
  printf("Enter an 8 bit binary number :");
  c2=getchar();
  /**/ for(i=1;i<=7;i++) /**/
  {  c1=getchar();
     a=a*2+c1-'0';
  }
  /**/ if (c2=='1') /**/ a=(-1)*a;
  printf("\n%d \n",a);
  getch();
}
1