标题:[清理垃圾帖子]
只看楼主
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
结帖率:94.72%
已结贴  问题点数:100 回复次数:58 
[清理垃圾帖子]
----------

[ 本帖最后由 BlueGuy 于 2015-6-3 20:26 编辑 ]
搜索更多相关主题的帖子: 清理 
2011-09-05 12:12
_改变自己_
Rank: 2
等 级:论坛游民
帖 子:21
专家分:39
注 册:2011-7-26
得分:8 
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define N 26
turn (int a)
{
    int b,c,b1,p,c1;
    if(a>0&&a<=N)
    {
        p='A'+(a-1);
        printf("%c\n",p);
    }
    else if (a>N)
    {
        b = a/N;
        c = a%N;
        b1 ='A'+(b-1);
        c1 = 'A'+(c-1);
        printf("%c%c\n",b1,c1);
    }
    else
    {
        printf("数字不能小于零或大于26*26!\n");
    }

return 0;
}
void main()
{
    int m;
    printf("请输入一个大于零的数字:\n");
    scanf("%d",&m);
    turn (m);
}
大于26*26后面没做了。
2011-09-05 12:49
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
得分:8 
程序代码:
#include<stdio.h>
void main()
{
    int n,cnt=0,i,temp;
    int data[50]={0};   
    printf("input: ");
    scanf("%d",&n);
    temp=n;
    while(n)
    {

        data[cnt]=n-n/26*26;
        if(data[cnt]==0)
            data[cnt]+=26;
        n/=26;
        cnt++;
    }
    if(temp%26==0)
        cnt--;
    printf("output:");
    for(i=cnt-1;i>=0;--i)
        printf("%c",data[i]+64);
    printf("\n");
}
简单写了一个。1到2^31-1应该都可以,超过了就溢出了

[ 本帖最后由 czsbc 于 2011-9-5 13:40 编辑 ]
2011-09-05 13:33
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
得分:0 
发现问题了。
2011-09-05 13:48
dreamofgod
Rank: 5Rank: 5
等 级:职业侠客
帖 子:194
专家分:341
注 册:2011-8-16
得分:8 
代码少了,速度慢了。这莫非就是传说中的鱼和熊掌不可兼得?
程序代码:
#include"stdio.h"
int main()
{
    int a[2]={0};
    scanf("%d",a);
    if(a[0]>0 && a[0]<257)
    {
        a[1]=((a[0]%26)==0)?90:(a[0]%26)+64;
        a[0]=((a[0]/27)==0)?0:(a[0]/27)+64;
        printf("%c%c\n",a[0],a[1]);
    }
    else
    {
        printf("Error.\n");
    }
    return 0;
}


[ 本帖最后由 dreamofgod 于 2011-9-5 14:19 编辑 ]

一个单片机就让我头疼不已~~~
2011-09-05 13:53
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
#include<memory.h>
void main()
{
    int n,cnt=0,i=0,total=0;
    int data[50];
    memset(data,1,50);    
    printf("input: ");
    scanf("%d",&n);
    do
    {
        cnt++;
        total+=(int)(pow(26,cnt));
    }while(n>total&&total>0);
    n=n-(total-(int)(pow(26,cnt)));
    while(n)
    {
        data[i]=n-n/26*26;
        if(data[i]==0)
        {   
            data[i]+=26;
        }
        if(i>=1&&data[i-1]!=26)
        {
            data[i]++;
            if(data[i]>26)
            {
                data[i]%=26;
            }
        }
        n=n/26;
        i++;
    }
    printf("output:");
    for(i=cnt;i>0;--i)
        printf("%c",data[i-1]+64);
    printf("\n");
}
实在不想再改了,真是

[ 本帖最后由 czsbc 于 2011-9-5 17:11 编辑 ]
2011-09-05 15:08
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
得分:0 
回复 2楼 _改变自己_
2楼你的输入52 就不对了吧
2011-09-05 15:17
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:8 
26进制吧  刚才的写错了 看后面的吧

[ 本帖最后由 laoyang103 于 2011-9-5 18:41 编辑 ]

                                         
===========深入<----------------->浅出============
2011-09-05 15:41
czsbc
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:469
专家分:1700
注 册:2008-12-13
得分:0 
回复 8楼 laoyang103
输入52,78,....
即n*26 (n>=2)时好像不对


[ 本帖最后由 czsbc 于 2011-9-5 15:51 编辑 ]
2011-09-05 15:50
落叶深蓝色
Rank: 8Rank: 8
来 自:山东
等 级:蝙蝠侠
帖 子:319
专家分:807
注 册:2010-12-8
得分:8 
这是poj上的题目!
2011-09-05 16:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-349192-1-1.html




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

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