请教请C语言写一个算法

来源:百度知道 编辑:UC知道 时间:2024/06/27 16:19:54
A0=1 A1=13 A2=25 A3=37 A4=49 A5=61 A6=73 A7=85
A8=2 A9=14 A10=26 A11=38 A12=50 A13=62 A14=74 A15=86
A16=3 A17=15 A18=27 A19=39 A20=51 A21=63 A22=75 A23=87
A24=4 A25=16 A26=28 A27=40 A28=52 A29=64 A30=76 A31=88
A32=5 A33=17 A34=29 A35=41 A36=53 A37=65 A38=77 A39=89
A40=6 A41=18 A42=30 A43=42 A44=54 A45=66 A46=78 A47=90
A48=7 A49=19 A50=31 A51=43 A52=55 A53=67 A54=79 A55=91
A56=8 A57=20 A58=32 A59=44 A60=56 A61=68 A62=80 A63=92
A64=9 A65=21 A66=33 A67=45 A68=57 A69=69 A70=81 A71=93
A72=10 A73=22 A74=34 A75=46 A76=58 A77=70 A78=82 A79=94
A80=11 A81=23 A82=35 A83=47 A84=59 A85=71 A86=83 A87=95
A88=12 A89=24 A90=36 A91=48 A92=60 A93=72 A94=84 A95=96

当向程序输入A0时,程序输出对应的1,当向程序输入A60时,程序输出对应的56,以此类推,要求找出此数据的规律,然后通过公式得出对应的值,可以用循环,但不要用N多个if ..then 哦,那样的话,我就不在此请教了!

楼上写复杂了

如果输入为n则输出为n/8 + (n%8)*12 + 1

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
int a[100],i,temp;
char s[10];
a[0]=1;
for(i=1;i<=95;++i)
{
a[i]=a[i-1]+12;
if(a[i]>=97)
a[i]-=95;
}
while(scanf("%s",s)!=EOF)
{
if(s[0]=='A')
{
if(strlen(s)==3)
{
if(isdigit(s[1])&&isdigit(s[2]))
{
temp=(s[1]-'0')*10+s[2]-'0';
printf("%d\n",a[temp]);
}
}
else
if(strlen(s)==2)
{
temp=s[1]-'0';
printf("%d\n",a[temp]);
}
}
}
return 0;
}