#include <stdio.h>
#define MAXLEN 80
main()
{int k=0,number=0;
char str[MAXLEN];
while((str[k]=getchar())!='#')
k++;
str[k]='\0';
for(k=0;str[k]!='\0';k++)
if(str[k]>='0'&& str[k]<='9'||str[k]=='A'||str[k]=='B')
if(str[k]>='0'&& str[k]<='9')
number=number*12+str[k]-'0';
else if(str[k]=='A'||str[k]=='B')
number=number*12+str[k]-'A'+10;
else ;//第15行
else break; //第16行
printf("%d\n",number);
}
1、程序运行时,输入10#,输出:12
2、程序运行时,输入1a0#,输出:1
3、第16行改为“;”后,程序运行时,输入A*0#,输出:120
4、第16行改为“else break;”删除第15行后,程序运行时,输入1b0#,输出:12
?
请高手帮忙 一道C语言题目
答案:2 悬赏:80 手机版
解决时间 2021-07-24 13:02
- 提问者网友:王者佥
- 2021-07-24 01:57
最佳答案
- 五星知识达人网友:狂恋
- 2021-07-24 02:41
这个程序应该是输入12进制的数,输出十进制的数;
对12进制的数,只有 0,1,2,3,4,5,6,7,8,9,A,B 是有效的。在程序中#是输入结束符;
12进制 十进制
10 = 12(1*12)
A0 = 120(10*12)
全部回答
- 1楼网友:舊物识亽
- 2021-07-24 04:05
这程序本意是干什么的?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯