创建一个数组,将26个英文字母存储在数组中,并输出数组中所有的值

2025-02-24 12:13:48
推荐回答(2个)
回答1:

#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);
}

回答2:

大写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进制 输出)