
5个回答
展开全部
当然能,能用函数实现的应该说都可以不调用函数就实现的,因为函数本身就是方便使用条理清晰一些代码嘛,不用当然也可以,下面我写的这个程序就可以实现
/* 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进制*/
}
/* 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进制*/
}
展开全部
现编写的,调试通过,没有问题。
应该不用解释了
#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;
}
应该不用解释了
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
何谓不调用函数
+和-也是函数啊
+和-也是函数啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
行啊,关键是你把问题再说清楚点,啥叫不调用函数?说好了给你代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询