应该是while(ch[i]!='\n');
if(ch[i]="A"||ch[i]=="a")
应该是
if(ch[i]=='A'||ch[i]=='a') ==号,单引号
给你个简单的:
#include <stdioh>
int main()
{
static int cnt[26];
char ch;
int i;
printf("输入字符串:");
while((ch=getchar())!='\n')
{
if(ch>='a'&&ch<='z')
cnt[ch-'a']++;
if(ch>='A'&&ch<='Z')
cnt[ch-'A']++;
}
for(i=0;i<26;i++)
{
if(cnt[i])
printf("%c:%d\n",'A'+i,cnt[i]);
}
return 0;
}如果各单词间没有空格或其他标志符,是很难判断的可能你要在你的程序里放一部英文字典,然后再查表决定有多少个单词了
有空格和符号就好办了对每个字母循环判断,只要不是字母就给计数器加1,最后的计数就是单词个数
判断是不是字母可以用比较字母整形值的办法,我记得好象大写的字母在23到48之间,小写的在51到76之间可能不对,你查一下就知道了
只要不在这两个数字范围内就不是字母
另外对于特殊符号比如单引号,你可以查出它的数值,在判断的时候如果是单引号就跳过不计数Private Sub Command1_Click()
n = 0
m = 0
k = 0
l = 0
aa = 0
bb = Text1
Do Until Len(bb) = 0
aa = Asc(bb)
bb = Right(bb, Len(bb) - 1)
Print aa
If 97 <= aa And aa <= 122 Then
n = n + 1
Else
If 65 <= aa And aa <= 90 Then
m = m + 1
Else
If 48 <= aa And aa <= 57 Then
k = k + 1
Else
l = l + 1
End If
End If
End If
Loop
Picture1Print "小写字母为"; n; "个"
Picture1Print "大写字母为"; m; "个"
Picture1Print "数字为"; k; "个"
Picture1Print "特殊符号为"; l; "个"
End Sub
你再调调
要统计英文字母,空格,数字和其他字符的个数,代码如下:
#include<stdioh>
#include<stdlibh>
int main()
{
char c;
int letters=0;
int space=0;
int digit=0;
int other=0;
printf("请输入一行字符:>");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
letters++;
}
else if(''==c)
{
space++;
}
else if(c>='0'&&c<='9')
{
digit++;
}
else
{
other++;
}
}
printf("字母的个数:>%d\n空格的个数:>%d\
\n数字的个数:>%d\n其他字符的个数:>%d\n",\
letters,space,digit,other);
system("pause");
return 0;
}
扩展资料:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<mathh>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:
#include"myprojecth"//用在当前项目中的函数原型、类型定义和宏
你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。
例1在#include命令中的宏
#ifdef _DEBUG_
#define MY_HEADER"myProject_dbgh"
#else
#define MY_HEADER"myProjecth"
#endif
#include MY_HEADER
当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbgh的内容;如果还没定义,则插入myProjecth的内容。
//刚才误解你意思了。\x0d\//判断字母和数字cctype函数里有专门判断的函数。\x0d\#include\x0d\#include\x0d\using namespace std;\x0d\int main()\x0d\{\x0d\string a;\x0d\getline(cin,a);\x0d\int kongge=0;//空格个数\x0d\int zimu=0;//字母数字,必须是英文字母\x0d\int shuzi=0;//数字\x0d\for(int i=0;i!=asize ();i++)\x0d\{\x0d\if(a[i]==')kongge++;\x0d\else if((a[i]>='a'&&a[i]='A'&&a[i]else if(a[i]>='0'&&a[i]}\x0d\cout\x0d\return 0;\x0d\}public class test {public static void main(String[] args) {
Systemoutprintln("请输入字符串:");
Scanner input = new javautilScanner(Systemin);
String str= inputnext();
Systemoutprintln(strlength());
int num=0;//数字
int letter=0;//字母,包括大写和小写
int space=0;//空格
int other=0;//其他
for(int i=0;i<strlength();i++){
char c=strcharAt(i);
int value=(int)c;
// if(value==32){
// ++space;
// }else
if(value>=48 && value<=57){
++num;
}else if((value>=65 && value<=90) || (value>=97 && value<=122) ){
++letter;
}else{
++other;
}
}
Systemoutprintln("数字个数:"+ num +"字母个数:"+letter);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)