#include
void main()
{
char ch;
int sume=0,
a[]={1,3,3,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10};
while((ch=getchar())!='\n') //!=\n跳出循环。顺便赋值
{
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') //检测混合大小写都可以
{
for(int i=0;i<=26;i++) //检测比较不超过数组最大值
{
if((ch-'a'==i)||(ch-'A'==i)) //计算用户输入的字符ch对应在ascii码表的0-26的值在和数组下表比较.
{
sume+=a[i];
break;
}
}
}
}
printf("%d",sume);
}
大写26个字母,小写26个字母。按10进制数值输出用格式 %d。
#include
int main(){
char s[53]="";
int i;
for (i=0;i<26;i++) s[i]='A'+i;
for (i=0;i<26;i++) s[i+26]='a'+i;
for (i=0;i<52;i++) printf("%d\n",s[i]);
return 0;
}
也可以直接初始化:
char s[53]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for (i=0;i<52;i++) printf("%d\n",s[i]); //输出
(也可以用 %x 格式为16进制,%o 格式为8进制 输出)