c语言程序设计类问题

2024-12-12 10:50:35
推荐回答(3个)
回答1:

还是改成这样好看些!字符串要自己输入,如果不是要自己输入的,就要记得转换一些东西~~
/* Note:Your choice is C IDE */
#include "stdio.h"
CNT(char TT[],int PP[])
{
int j=0;
for(j=0;j<26;j++)
{
switch(TT[j])
{
case 'A':PP[0]++;break;
case 'B':PP[1]++;break;
case 'C':PP[2]++;break;
case 'D':PP[3]++;break;
case 'E':PP[4]++;break;
case 'F':PP[5]++;break;
case 'G':PP[6]++;break;
case 'H':PP[7]++;break;
case 'I':PP[8]++;break;
case 'J':PP[9]++;break;
case 'K':PP[10]++;break;
case 'L':PP[11]++;break;
case 'M':PP[12]++;break;
case 'N':PP[13]++;break;
case 'O':PP[14]++;break;
case 'P':PP[15]++;break;
case 'Q':PP[16]++;break;
case 'R':PP[17]++;break;
case 'S':PP[18]++;break;
case 'T':PP[19]++;break;
case 'U':PP[20]++;break;
case 'V':PP[21]++;break;
case 'W':PP[22]++;break;
case 'X':PP[23]++;break;
case 'Y':PP[24]++;break;
case 'Z':PP[25]++;break;
}
}
for(j=0;j<26;j++)
{
if(j%5==0)printf("\n");
printf("%c: %d ",'A'+j,PP[j]);
}
}
void main()
{
char a[100];
int i,b[26];
scanf("%s",a);
for(i=0;i<26;i++)
b[i]=0;
CNT(a,b);
}

回答2:

void CNT(char TT[],int PP[])
{int i=0;
while (TT[i]!='\0')
{
if(TT[i]>='A' && TT[i]<='Z')
{
PP[TT[i]-'A']++;//存入对应位置,从0到26对应A-Z;
{

}
}

回答3:

#include

void cnt( char *tt, int *pp )
{
while(*tt)
{
pp[*tt-'A']++;
tt++;
}
}

main()
{
char a[100]={"ABBCCCDDDDEEEEEFFFFFF"} ;
int i , b[26];
for(i=0; i<26 ; i++)
b[i]=0;
cnt(a,b);
for(i=0; i<26 ; i++)
printf(" %c : %d \n",i+65,b[i]);
}