| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:请大家帮忙看一下,不知错在哪个地方!
只看楼主 加入收藏
liu202feng
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-5-17
收藏
 问题点数:0 回复次数:1 
请大家帮忙看一下,不知错在哪个地方!
1.    题意描述:
写一个把N(N=2,8,10,16)进制数字字符串转换成整数的函数,它有两个参数,一个是基数N,一个是字符数组。程序在运行时用户输入:
N DDDDDD
其中N 为基数, DDDD为数字字符串,然后输出转换后的整数值,以10进制显示。不必考虑整数太大int类型无法容纳的问题。
程序代码:
#include "stdio.h"
#include "conio.h"
#include "string.h"
#include "math.h"
int myint(int N,char *p)  /*转换*/
{ int n,i,a=0;
  n=strlen(p);
  for(i=0;i<n;i++)
    a+=((p[n-i-1]-'0')*pow(N,i)) ;
  return a;

 }

 main()

 {int N,B;char a[80];
  printf("please input N:");
  scanf("%d",&N);
  printf("please input a(0~N-1):");
  gets(a);
  B=myint(N,a);
  printf("%d",B);
}
搜索更多相关主题的帖子: 整数 知错 input 进制 数字 
2008-05-28 23:03
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1687
专家分:4253
注 册:2007-12-27
收藏
得分:0 
for(i=0;i<n;i++)
{
    a*=N;
    a+=p[i]>='a'?p[i]-87:p[i]>='A'?p[i]-55:p[i]-'0';
}
2008-05-29 00:53
快速回复:请大家帮忙看一下,不知错在哪个地方!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021796 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved