作业求助!!我的代码哪里出问题了
要统计一段话中各个字母 数字 标点符号 空格出现的次数#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define LEN 500
#define CNT 60
main()
{
char Paragraph={"agb+*/-as/*dfasdgf13412!adsg 1212!@#asdasgf3"};
int LetterCnt={0},Length;
int i,j,o,p,q,m,k,l;
Length=strlen(Paragraph);
for(i=0;i<=Length-1;i++)
{
if(isalpha(Paragraph))
{
j=tolower(Paragraph)-'a';
LetterCnt++;
}
}
printf("The paragraph contains:\n");
for(i=0;i<=j-1;i++)
{
if(LetterCnt!=0)
{
printf("%c=%d\t",i+'a',LetterCnt);
}
if((i+1)%7==0)
{
printf("\n");
}
}
printf("\n");
for(o=0;o<=Length-1;o++)
{
if(isdigit(Paragraph))
{
p=(Paragraph)-48;
LetterCnt++;
}
}
printf("The number contains:\n");
for(o=0;o<=p-1;o++)
{
if(LetterCnt!=0)
{
printf("%c=%d\t",o+48,LetterCnt);
}
if((o+1)%7==0)
{
printf("\n");
}
}
printf("\n");
for(q=0;q<=Length-1;q++)
{
if(ispunct(Paragraph))
{
m=(Paragraph)-33;
LetterCnt++;
}
}
printf("The paragraph contains:\n");
for(q=0;q<=m-1;q++)
{
if(LetterCnt!=0)
{
printf("%c=%d\t",q+33,LetterCnt);
}
if((q+1)%7==0)
{
printf("\n");
}
}
printf("\n");
for(k=0;k<=Length-1;k++)
{
if(ispunct(Paragraph))
{
l=(Paragraph)-32;
LetterCnt++;
}
}
printf("The paragraph contains:\n");
for(k=0;k<=l-1;k++)
{
if(LetterCnt!=0)
{
printf("%c=%d\t",k+32,LetterCnt);
}
if((k+1)%7==0)
{
printf("\n");
}
}
printf("\n");
} 运行之后只有字母是对的 数字 标点和空格都不对 sad 楼主,试一下这个代码
#include <stdio.h>
int main(void)
{
char c ;
int d = {0} , i ;
for(i = 0 ; (c = getchar()) != '\n' ; i ++) d ++ ;
for(i = 0 ; i < 128 ; i ++) if(d) printf("%c : %2d\n" , i , d) ;
}
页:
[1]