| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 417 人关注过本帖
标题:诡异的进制数
取消只看楼主 加入收藏
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
结帖率:100%
收藏
 问题点数:0 回复次数:3 
诡异的进制数
程序代码:
#include<stdio.h>
#include<string.h>


 main()
{
    int i, t, n, lon;
    long  sum=0;//扩大其接受范围
    char a[100];

loop:    printf("please input the string\n");//输入数组
    scanf("%s",a);//gets(a);

    strupr(a);//大写
    lon=strlen(a);//求长度
    printf("please input the n(2/8/16)scale\n");//输入进制数
    scanf("%d",&n);

    for(i=0;i<lon;i++)
    {
        if(a[i]-'0' >=n && a[i]<'A' || a[i]-'A'+10 >=n)//判断数组中的元素是否合法
        {
            printf("date error\n");
            exit(0);//关闭当前文件
        }
        if(a[i] >='0' && a[i] <='9')
            t=a[i]-'0';
        else if(n>=11 && (a[i] >='A' && a[i] <= 'A'+n-10))
            t=a[i]-'A'+10;
        sum=sum*n+t;
    }
    printf("the decimal base is %ld\n",sum);
    goto loop;
}
将N进制数转为十进制数 似乎结果不对 大家测试下 看哪有问题 我搞了半天也对了半天觉得没问题 就是数据错误
2011-06-21 17:04
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
strupr()这是包涵在头文件啊 没见过? 将小写字母转为大写字母啊

[ 本帖最后由 烟雾中的迷茫 于 2011-6-21 17:46 编辑 ]
2011-06-21 17:44
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
真怀疑
2011-06-21 17:45
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:0 
哦 谢谢!
2011-06-21 21:50
快速回复:诡异的进制数
数据加载中...
 
   



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

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