| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2004 人关注过本帖
标题:下面这这道题用C语言怎么写咯,我脑袋都想破了,还是想不出来!
只看楼主 加入收藏
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:1 
取出列号和行号,将(列号-1)转换成26进制,每位加'A',与行号结合即可。例如R5C255,列号是255,转换成26进制即(9)(20),'A'+9='I','A'+20'='U',
所以R5C255转换为IU5
2013-04-14 22:09
blueandhack
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-2-3
收藏
得分:0 
回复 楼主 lcb227107898
程序代码:
// Excel表格中的RC地址转换.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <stdio.h>
#define N 100
void InputRC(int *a,int *b,int n);
int _tmain(int argc, _TCHAR* argv[])
{
    int i,n,a[N],b[N];
    printf("请输入行数n(n<=100):\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        InputRC(a,b,i);
    }
    printf("\n");
    printf("转换后的地址:\n");
    for(i=0;i<n;i++)
    {
        if(b[i]<=26)
        {
            printf("%c",64+b[i]);
        }
        else
        {
            printf("%c",b[i]/26+64);
            printf("%c",b[i]%26+64);
        }
        printf("%d",a[i]);
        printf("\n");
    }

    return 0;
}

void InputRC(int *a,int *b,int n)
{
    int i,j;
    char r,c,e;
    scanf("%c%c%d%c%d",&e,&r,&i,&c,&j);
    a[n]=i;
    b[n]=j;
}
2013-04-30 16:47
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
程序代码:
#include<stdio.h>
void cal(int x)
{
    if(x <= 0) return;
    cal(--x / 26);
    putchar(x % 26 + 'A');
}
int main()
{
     int n, r, c;
     for(scanf("%d", &n); n--; cal(c), printf("%d\n", r))
         scanf(" R%dC%d", &r, &c);
     return 0;
}

重剑无锋,大巧不工
2013-05-01 09:27
sxqypc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-9
收藏
得分:0 
#include<stdio.h>
main()
{
    char cc[27]={'a','a','b','c','d','e','f','g','h','i','g','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    int a,b,d,e,f;
    char r,c,w;
    int aa[100],bb[100];

    scanf("%d",&a);
    for(b=0;b<a;b++)
    {
        scanf("%c",&w);
        scanf("%c",&r);
        scanf("%d",&aa[b]);
        scanf("%c",&c);
        scanf("%d",&bb[b]);
    }
    for(b=0;b<a;b++)
    {
        d=bb[b];
        e=d%26;
        f=d/26;
        if(f==0)
        {
            printf("%c%d\n",cc[d]-32,aa[b]);
        }
        else
        {
            printf("%c%c%d\n",cc[f]-32,cc[e]-32,aa[b]);
        }
    }
}
2013-06-09 15:32
快速回复:下面这这道题用C语言怎么写咯,我脑袋都想破了,还是想不出来!
数据加载中...
 
   



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

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