用C语言,不调用函数做一个16进制转换为10进制的程序.

不调用函数啊..能吗?... 不调用函数啊..能吗? 展开
 我来答
段语昳0FW
2008-11-26 · TA获得超过195个赞
知道答主
回答量:128
采纳率:0%
帮助的人:0
展开全部
当然能,能用函数实现的应该说都可以不调用函数就实现的,因为函数本身就是方便使用条理清晰一些代码嘛,不用当然也可以,下面我写的这个程序就可以实现
/* Note:Your choice is C IDE */
#include "stdio.h"
#include"string.h"
void main()
{
char s[100];
int i,tennum=0;
scanf("%s",s);/*输入16进制,10-15用A-F表示*/
for(i=0;i<strlen(s);i++)
{
if(s[i]>='A')s[i]=10+s[i]-'A';
tennum=tennum*16;
tennum=tennum+s[i]-'0';
}
printf("The result is %d\n",tennum);/*输出10进制*/
}
nuaaren
2008-11-26 · TA获得超过355个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:134万
展开全部
现编写的,调试通过,没有问题。
应该不用解释了

#include "stdio.h"
#include "string.h"

long convert(char* snum);

void main()
{
char snum[256];
long val;
printf("输入一个16进制数\n");
scanf(" %s",snum);
val=convert(snum);
if(val==-1)
printf("输入错误\n");
else
printf("对应十进制数:%ld\n",val);
}
long convert(char* snum)
{
unsigned int index;
long value;
long ibit;
char cbit;
for(index=0,value=0;index<strlen(snum);index++)
{
cbit=snum[index];
switch(cbit)
{
case 'A':
case 'a':ibit=10;break;

case 'B':
case 'b':ibit=11;break;

case 'C':
case 'c':ibit=12;break;

case 'D':
case 'd':ibit=13;break;

case 'E':
case 'e':ibit=14;break;

case 'F':
case 'f':ibit=15;break;

default:
if(cbit>='0' && cbit<='9')
ibit=cbit-'0';
else
return -1;
break;
}
value=value*16+ibit;
}
return value;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
十年梦幻
2008-11-26 · TA获得超过1014个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:0
展开全部
何谓不调用函数
+和-也是函数啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友797812a
2008-11-27 · 超过33用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:0
展开全部
#include "stdafx.h"
#define M 100

int _tmain(int argc, _TCHAR* argv[])
{
char a[10];
long s=0;
int i;
printf("请输入一个十六进制:");
if(scanf("%s",a)!=1)
{
printf("输入错误");
return 0;
}
for(i=0;a[i];i++)
if(a[i]<='9'&&a[i]>='0')
s=s*16+a[i]-'1'+1;
else
if(a[i]<='f'&&a[i]>='a')
s=s*16+a[i]-'a'+10;
else
{
printf("输入的不是一个十六进制。");
return 0;
}
printf("%ld",s);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
benzus
2008-11-26 · 超过19用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:60.3万
展开全部
行啊,关键是你把问题再说清楚点,啥叫不调用函数?说好了给你代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式