scanf语句遇到空格、退格符、回车就结束读取,因此如果字符串中有空格,不能用scanf,可以用gets。另外,这个程序写得实在太乱了。太多大括号,基本上都不需要,一对大括号就可以了。else if的用法也不是这样用的。printf语句也没必要分这么多句。main为int型,要有返回值。修改一下:
#include <stdio.h>#include <string.h>
int main()
{
int l=0,s=0,n=0,o=0
char a[1000]={'\0'}
gets(a)
for(int i=0a[i]!='\0'i++)
if(a[i]<='z'&&a[i]>='a'||a[i]<='Z'&&a[i]>='A')
l++
else if(a[i]==' ') s++
else if(a[i]<='9'&&a[i]>='0') n++
else o++
printf("字母: %d\n数字: %d\n空格: %d\n其它: %d",l,n,s,o)
return 0
}
//运行示例:
可以参考下面的代码:
#include <stdio.h>
#include <string.h>
voidmain()
{charc,s[80]inti,k=0
gets(s)/*输入字符串*/
printf("Pleaseinputacharacter:")c=getchar()
for(i=0s[i]!='\0'i++)
{if(s[i]==c)
k++
}
printf("%cisfound%dtimes",c,k)
}
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
扩展资料:
C语言参考函数
C语言labs()函数:求整数的绝对值(针对long类型)
C语言isgraph()函数:判断一个字符是否是图形字符
C语言isdigit()函数:判断一个字符是否为数字
C语言iscntrl()函数:判断一个字符是否为控制字符
C语言isalpha()函数:判断一个字符是否是字母
C语言isalnum()函数:判断一个字符是否是字母或者数字
C语言frexp()函数:提取浮点数的尾数和指数部分
参考资料来源:百度百科-c语言