#include <stdio.h>
#include <string.h>
str_num[0] = strlen(Q);
for (p+=str_num[0]-1; p>=Q; p--)
{
printf("%c",*p);//一个个输出
if ((*p>='A' && *p<='Z') || (*p>='a' && *p<='z'))
{
str_num[1]++;
}
else if ((*p>='0') && (*p<='9'))
{
str_num[2]++;
}
else if (*p == ' ')
{
str_num[3]++;
}
else
{
str_num[4]++;
}
}
printf("str_cd:%d\n",str_num[0]);
printf("str_zm:%d\n",str_num[1]);
printf("str_sz:%d\n",str_num[2]);
printf("str_kg:%d\n",str_num[3]);
printf("str_qt:%d\n",str_num[4]);
}
//最好不要用scanf函数,因为用scanf函数作为输入字符串时,字符串中不能含有空格,否则空格将作为串的结束符
int main()
{
#include <string.h>
#define NUM 100
/********************************************************
*
* 时 间:2013-10-25_参考与完善
* 函数名称:String_Handle
* 函数功能:任意输入字符串,计算其个字符的个数
* 形 参:无
* 返 回 值:无
* 说 明:实现字符串的逆序输出并统计各个字符个数
*
*********************************************************/
{
char* const Q=p;
int str_num[5]={0};
str_num[0] = strlen(Q);
for (p+=str_num[0]-1; p>=Q; p--)
{
printf("%c",*p);//一个个输出
if ((*p>='A' && *p<='Z') || (*p>='a' && *p<='z'))
{
str_num[1]++;
}
else if ((*p>='0') && (*p<='9'))
{
str_num[2]++;
}
else if (*p == ' ')
{
str_num[3]++;
}
else
{
str_num[4]++;
}
}
printf("\n");
printf("\n");
printf("该字符串的长度、字母、数字、空格及其他字符的个数分别为:\n");printf("str_cd:%d\n",str_num[0]);
printf("str_zm:%d\n",str_num[1]);
printf("str_sz:%d\n",str_num[2]);
printf("str_kg:%d\n",str_num[3]);
printf("str_qt:%d\n",str_num[4]);
}
//最好不要用scanf函数,因为用scanf函数作为输入字符串时,字符串中不能含有空格,否则空格将作为串的结束符
int main()
{
char str[NUM];
gets(str);
printf("\n");
printf("The reverse string is:\n");String_Handle(str);
return 0;
}
}