您的位置:首页 > 编程语言 > C语言/C++

c语言:新颖的进制灵活应用

2016-02-14 01:24 274 查看
在Excel2003中,用A表示第1列,B表示第2列......Z表示第26列,AA表示第27列,AB表示第28列......以此类推,请写出一个函数,输入用大写字母表示的列号编码,输出它是第几列。
解:该题本质是把十进制数字用A~Z表示成二十六进制。
程序:

#include<stdio.h>
#include<string.h>

int my_fun(int len,char arr[])
{
int i,m=0;
for (i = 0; i < len; i++)
{
m += arr[i] - 64;
}
m += 25 * (len - 1);
return m;
}

int main()
{
int len,ret=0;
char arr[100] = "";
printf("请输入大写字母:");
scanf("%s", &arr);
len = strlen(arr);
ret=my_fun(len, arr);
printf("列号为:%d\n",ret);
return 0;
}
结果1:
请输入大写字母:A
列号为:1
请按任意键继续. . .
结果2:
请输入大写字母:AAB
列号为:54
请按任意键继续. . .

本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1741859
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: