C语言找错误,求大神

(2)以下程序的功能是:从键盘输入一个三位的八进制正整数,然后将其转换为对应的十进制数并输出。请改正其中的错误。#includevoidmain(){chara,b,c;... (2)以下程序的功能是:从键盘输入一个三位的八进制正整数,然后将其转换为对应的十进制数并输出。请改正其中的错误。
#include void main()
{ char a,b,c; scanf("请输入3位八进制正整数: ");
int n =0; scanf("%c%c%c",&a,&b,&c); n+=(a-'0')*64;
n+=(b-'0')* 6; n+=(c-'0'); printf("对应的十进制数是:%d \n,n); }
以上程序中有3个错误,请改正错误以得出正确的结果。要求:不得增行或删行,也不得更改程序的结构!
展开
 我来答
怎样私有你d1533
2013-03-11 · TA获得超过607个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:242万
展开全部
你这个程序不是在开玩笑吧,错的快没对的了,经过我全面整容以后程序如下:
#include <stdio.h> //包含输入输出函数
void main()
{
char a,b,c;
int n =0; //变量的定义必须放到最前面
printf("请输入3位八进制正整数: "); //printf是输出一句话的 不是scanf
scanf("%c%c%c",&a,&b,&c);
while(a<'0'||a>'7' || b<'0'||b>'7' || c<'0'||c>'7')
{
printf("请输入正确的八进制数");/*此处推荐加这句,有的人不小心容易输入8和9,应该提前预防*/
scanf("%c%c%c",&a,&b,&c);
}
n+=(a-'0')*64;
n+=(b-'0')* 8;
n+=(c-'0');
printf("对应的十进制数是:%d \n",n); //这个地方少了一个引号
}
lzuxiaolong
2013-03-11 · TA获得超过224个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:88.1万
展开全部
#include stdio.h
void main()
{
char a,b,c;
int n =0; //变量的定义必须放到最前面
printf("请输入3位八进制正整数: "); //printf是输出一句话的 不是scanf
scanf("%c%c%c",&a,&b,&c);
n+=(a-'0')*64;
n+=(b-'0')* 8;
n+=(c-'0');
printf("对应的十进制数是:%d \n“,n); //这个地方少了一个引号
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenxu21
2013-03-11 · TA获得超过571个赞
知道小有建树答主
回答量:183
采纳率:75%
帮助的人:77.4万
展开全部
1.#include void main()改为
#include <stdio.h>
void main()
2.scanf("请输入3位八进制正整数: ");改为
printf("请输入3位八进制正整数: ");
3.printf("对应的十进制数是:%d \n,n);改为
printf("对应的十进制数是:%d \n“,n);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
595456225
2013-03-11 · TA获得超过120个赞
知道答主
回答量:137
采纳率:0%
帮助的人:84.9万
展开全部
#include<stdio.h>
void main()
{
char a,b,c;
printf("请输入3位八进制正整数: ");//////

int n =0;
scanf("%c%c%c",&a,&b,&c);
n+=(a-'0')*64;
n+=(b-'0')* 8; ////////
n+=(c-'0');
printf("对应的十进制数是:%d \n",n); }//没后引号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ghost__911
2013-03-11 · TA获得超过311个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:301万
展开全部
第一,printf("请输入3位八进制数:");而不是scanf()
第二:n+=(b-'0')*6 ,改为 n+=(b-'0')*8;
第三: printf("对应的十进制数是: %d\n,n); 在\n后加 "
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赖福平
2013-03-11 · TA获得超过132个赞
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:187万
展开全部
第一,scanf("请输入3位八进制正整数: "); ------>printf("请输入3位八进制正整数: ");
第二,n+=(b-'0')* 6;----------->n+=(b-'0')* 8;
第三,printf("对应的十进制数是:%d \n,n);----------->printf("对应的十进制数是:%d \n",n);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式