[清理垃圾帖子]
----------[ 本帖最后由 BlueGuy 于 2015-6-3 20:26 编辑 ]
#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后面没做了。
#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应该都可以,超过了就溢出了
#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; }
#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"); }实在不想再改了,真是