📄 1272.cpp
字号:
// 随意.cpp : Defines the entry point for the console application.
//英文转数字思路例如 "123" 化为10进制 (1*10+2)*10+3=123;再如“abc” ((a-'0')*26+(b-'0'))*26+3
#include "stdafx.h"
void main()
{
char a[30];
while(1)
{
int i,j,jinwei,x,t;
char c[40],b[40]={0};
scanf("%s",a);
if(a[0]=='*')
break;
i=0;j=0;
if(a[0]>='a')
{
if((a[0]-96)>9)
b[1]=(a[0]-96)/10+'0';
b[0]=(a[0]-96)%10+'0';
i=1;
while(a[i]!=0)
{
jinwei=0;
for(j=0;b[j]!=0;j++)
{
x=(b[j]-'0')*26+jinwei;
jinwei=x/10;
b[j]=x%10+'0';
}
while(jinwei>0)
{
b[j++]=jinwei%10+'0';
jinwei/=10;
}
b[0]+=a[i]-96;
for(j=0;b[j]>'9';j++)
{
b[j+1]+=(b[j]-'0')/10;
b[j]=(b[j]-'0')%10+'0';
}
i++;
}
for(j=0;b[j]!=0;j++);
for(i=0;i<j/2;i++)
{
t=b[i];
b[i]=b[j-i-1];
b[j-i-1]=t;
}
}
else
{
for(i=0;a[i]!=0;i++)
c[i]=b[i]=a[i];
c[i]=b[i]=0;
for(i=0,j=0;;i++)
{
x=0;
while(c[j]!=0)
{
x=x*10+c[j]-48;
c[j]=x/26+48;
x%=26;
j++;
}
a[i]=x%26+96;
for(j=0;c[j]=='0'&&c[j]!=0;j++);
if(c[j]==0)
break;
}
a[++i]=0;
for(j=0;j<i/2;j++)
{
t=a[j];
a[j]=a[i-j-1];
a[i-j-1]=t;
}
}
for(i=0;b[i]!=0;i++);
for(j=0;j<i;j++)
c[j]=b[i-j-1];
c[i]=0;
for(i=0,j=0;c[i]!=0;i++)
{
if(i%3==0&&i!=0)
b[j++]=',';
b[j++]=c[i];
}
b[j]=0;
for(i=0;i<j/2;i++)
{
t=b[i];
b[i]=b[j-i-1];
b[j-i-1]=t;
}
printf("%-22s",a);
printf("%s\n",b);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -