永发信息网

请各位C语言高手指导指导。

答案:1  悬赏:70  手机版
解决时间 2021-01-30 21:42
请各位C语言高手指导指导。
最佳答案
N-S 图没关系。不用自责,只要多加几分,你只要题目放这里
答案就有了。。。

#include
#define MAX 1000 //(为什么定义MAX为1000?)答:这个是用来定数组大小的数。。你可以改100,只要你输入位数够用就行
void main()
{
int htoi(char s[]);
int c,i,flag,flag1;
char t[MAX];// (为什么定义char t[MAX]?其有什么作用?) 数组t[1000]用来存放输入的每个字符,最长可以到999个字符。
i=0;
flag=0; //标记
flag1=1; //标记
printf("\ninput a HEX number:");
while((c=getchar())!='\0'&&i{
if(c>='0'&&c<='9'IIc>='a'&&c<='f'IIc>='A'&&c<='F') //(我想问一下,十六进制数的表示形式中有没有a,b,c,d,e,f?) 这个只是照顾大小写,16进制大小写表示都可以。
{
flag=1;
t[i++]=c;
}
else if(flag)
{
t[i]='\0';
printf("decimal number %d:\n",htoi(t));// (这行中划下划线的部分是不是函数调用?) 是的!
printf("contiune or not?");// (从这一行到main函数最后(即四个花括号)表示什么意思?)
c=getchar(); //读入一个字符,你键盘输入
if(c=='N'||c=='n') //判断是 N或n 表示否
flag1=0; //一个标记值设为 0 ;结束
else
{
flag=0;
i=0;
printf("\ninput a HEX number:");
}
}
}
}

int htoi(char s[])
{
int i,n;
n=0;
for(i=0;s[i]!='\0';i++)
{
if(s[i]>='0'&&s[i]<= '9')
n=n*16+s[i]-'0';// (当s[i]中有数字(0—9)时,在计算n时为什么要在最后加上一个“—‘0’”?)因为s[i]是字符ascii码,'0' 的ascii码是48.1是49,类推,所以ascii减一下就是他实际 数字大小。实现了字符转等值数字的运算。
if(s[i]>='a'&&s[i]<='f')
n=n*16+s[i]-'a'+10;
if(s[i]>='A'&&s[i]<='F')
n=n*16+s[i]-'A'+10; //(当s[i]中有A,B,C,D,E,F时,为什么不直接把 n=n*16+s[i]-'A'+10写成n=n*16+s[i]?(也就是说为什么要在最后添一个“—‘A’+10?))这里和上面一样,也是算ascii,实现字符转数字 ,你可以去查ascii码表,
}
return(n);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
北京银行24小时自助银行服务(中山中路东100米
什么时候吃熟酸奶可以起到减肥的作用
匦牍的意思是什么啊?知道的请说下!
冰箱停机后用力拍才启动,可启动后又不停机
歌词里有一句叫就在一起,一起唱得很拖
保定银行24小时自助银行地址在什么地方,我要
幼儿阶段最典型的思维方式是()。
泡完温泉额头上起痘痘 还有每天泡脚再睡觉也
河北省农村信用合作社(中兴西路)怎么去啊,我
失言的意思是什么啊?知道的请说下!
中街1946为什么那么贵
事业女人,个性签名
中山小榄东升哪里有带售火车票的
水产海蜇腰花之类的还有什么
提问:国内外成功的动漫圣地?跟动漫星城相类
推荐资讯
急!!商汤爱鸟 网开三面 翻译
民国时期的土地所有权证现在哪个部门有保管?
部落冲突怎么升级6级巨人圣水不够怎么办
五四新文学运动发生的历史原因?
琪琪造型怎么去啊,我要去那办事
but I (could) not understand him
宝马X5和X3有什么不同的?
关于申请成立关爱留守儿童公益组织的可行性分
已知集合m={y|y=x²-2x+2,x∈r},n={x|y=
用美好的景物来衬托悲伤的心情
排骨炖莲藕可以放金针茹跟香茹吗
关于混凝土基础的主要形式的说法,正确的有()
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?