C语言编程! 编写程序,计算输入的数字、字母和其他字符的个数。

来源:百度知道 编辑:UC知道 时间:2024/05/21 18:08:11

在ascII表中键盘可输入字符是连续的,不包括空格是从33到126,所以可以定义一个128的数组,做个简单hash,输入的字符作hash key。实现如下:

#include <stdio.h>

int main()
{
char a[1024] = {0}; /*接收输入的字符,由于gets不检查长度,所以弄大点*/
int hash_tbl[128] = {0};/*hash 表*/

int i;

printf("Please input string:\n");
gets(a);/*从标准输入读字符*/
for(i=0; a[i]!='\0'; i++) {
hash_tbl[(int)a[i]]++;/*计算输入字符的个数*/
}

/*打印非零字符的个数*/
for(i=33; i<126; i++) {
if (hash_tbl[i]>0) {
printf("%c num is: %d\n", i, hash_tbl[i]);
}
}

return 0;
}

#include<stdio.h>
#include<string.h>
int letter,digit,space,others; //全局变量
main()
{
int count(char str[]);
char text[80];
printf("\ninput string:\n&quo