输入一行字符,分别统计其中英文字母、空格、数字和其它字符个数。

请用循环编写,难了我不懂.....

第1个回答  2008-03-17
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n'.

2.程序源代码:
#include "stdio.h"
main()
{char c;
int letters=0,space=0,digit=0,others=0;
printf("please input some characters\n");
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
others++;
}
printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,
space,digit,others);
}
第2个回答  2008-03-21
可以导入一个.txt文件统计其中出现过的字符次数,比如字母a出现了12次

package io.read;
import java.io.*;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

public class Test {
String filename;
public String read() throws Exception{
//this.filename=filename;
BufferedReader bf=new BufferedReader(
new FileReader(
new File(filename).getAbsoluteFile()));
StringBuffer sb=new StringBuffer();
String s;
while((s=bf.readLine())!=null){
sb.append(s);
sb.append('\n');
}
return sb.toString();
}
public void count(String filename) throws Exception{
this.filename=filename;
String s=read();
//System.out.println(s);
int len=1;
char im;
int sign=0;
char [] c=new char[10240];
int [] in=new int[10240];
//System.out.println(s.length());
for(int i=0;i<s.length();i++){
im=s.charAt(i);
if(im==' '||im=='\n'||im=='\r'||im=='\n'){
continue;
}
for(int j=0;j<len;j++){
if(im==c[j]){
in[j]+=1;
sign=0;
break;
}
sign=1;

}
if(sign==1){
c[len-1]=im;
in[len-1]+=1;
len=len+1;
}

}
for(int i=0;i<len-1;i++){
System.out.print(c[i]+":"+in[i]+" ");
if(i>0&&i%10==0){
System.out.println();
}
}
System.out.println();
System.out.println("总计"+(len-1)+"个字符");
}

public static void main(String[] args) {
Test t=new Test();
try {
t.count("read.txt");
} catch (Exception e) {
//e.printStackTrace();
System.out.println("done");
}

}

}
第3个回答  2008-03-16
#include "stdio.h"
main()
{ char *a;
int b[129],i;
scanf ("%s",a);
for (i=0;i<=128;i++)
b[i]=0;
for (i=0;a[i];i++)
b[a[i]]++;
for (i=0;i<=128;i++)
if (b[i]!=0) printf("%c:%d",a[i],b[i]);
}
第4个回答  2008-03-16
/***********************************************************************************
第六章随堂练习一
统计字符,单词和行数
**********************************************************************************/
#include<stdio.h>
#include<ctype.h>
#define STOP '|'
int main(void)
{
char c;
char prev;
long n_chars = 0L;
int n_lines = 0;
int n_words = 0;
int p_lines = 0;
int inword = 0;

printf("Enter text to be analyzed( | to be quit):\n ");
prev = '\n';
while((c = getchar()) != STOP)
{
n_chars++;
if (c == '\n')
n_lines++;
if (!isspace(c) && !inword)
{
inword = 1;
n_words++;

}
if(isspace (c) && inword)
inword = 0;
prev = c;
}

if(prev != '\n')
p_lines = 1;
printf("characters = %ld,word = %d,line = %d,",
n_chars,n_words,n_lines);
printf("partial lines = %d\n",p_lines);
return 0;

}本回答被提问者采纳

输入一行字符,分别统计其中英文字母、空格、数字和其它字符个数。
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为'\\n'.2.程序源代码:include "stdio.h"main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\\n");while((c=getchar())!='...

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
程序首先定义了四个整型变量,分别表示四种类型的字符计数:letters(英文字母)、spaces(空格)、digits(数字)和others(其他字符)。然后通过一个while循环,用户输入一串字符,程序会逐个检查每个字符,根据其ASCII值进行分类计数。当输入的是大写或小写字母(ASCII值为65到90或97到122),就增加letters计...

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
intmain(){ charc;intletters=0,spaces=0,digits=0,others=0;printf(请输入一串任意的字符:\\n);while((c=getchar())!=\\n){ if((c=ac=z)||(c=Ac=Z))letters++;elseif(c=0c=9)digits++;elseif(c==)spaces++;else others++;} printf(字母有%d个,数字有%d个,空格有%d个,其他...

...统计出其中英文字母,空格,数字和其他字符的个数
输入一行字符=input("请输入任意数据:")数字个数=len(list(i for i in 输入一行字符 if i.isdigit()==1))中英文字母个数=len(list((i for i in 输入一行字符 if i.isalpha()==1)))空格个数=len(list(i for i in 输入一行字符 if i==" "))其他个数=len(输入一行字符)-数字个...

...统计出其中英文字母,空格,数字和其他字符的个数,用while语句~~谢谢...
s[i]<='Z' && s[i]>='A')ch++;else n++;i++;} printf("刚才输入的字符中英文字符个数为 %d\\n", ch);printf("刚才输入的字符中空格个数为 %d\\n", space);printf("刚才输入的字符中数字个数为 %d\\n", num);printf("刚才输入的字符中其他个数为 %d\\n", n);return 0;} ...

5.1输入一行字符,分别统计出其中的英文字母、数字、空格和其它字符的个...
1、读入字符,直到遇到换行结束。2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。3、对于每个字符判断后,对应类别计数器自加。4、最终输出结果。三、参考代码:include <stdio.h>int main(){ int a,b,c,d,ch; a=b=c=d=0;\/\/计数器初始化为0. while((ch=getchar...

C语言编程:输入一行字符,统计其中英文字母的个数?
include<stdio.h> int main(){char s[200];int i,n=0;gets(s);for(i=0;s[i];i++)if(s[i]>='A'&&s[i]<='Z'||s[i]>='a'&&s[i]<='z')n++;printf("%d\\n",n);getch();return 0;}

...统计出其中英文字母,空格,数字和其他字符的个数。
include <stdio.h> int main(){ int letter=0,space=0,number=0,others=0;char nextchar;printf("Input your string\\n");for(;nextchar!='\\n';){ scanf("%c",&nextchar);if('a'<=nextchar&&nextchar<='z'||'A'<=nextchar&&nextchar<='Z')letter++;else if(nextchar==' ')space++...

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数...
printf("请输入一串任意的字符:\\n");while((c=getchar())!='\\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))letters++;else if(c>='0'&&c<='9')digits++;else if(c==' ')spaces++;else others++;} printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",...

输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数...
1 while语句:include<stdio.h> int main(void){ \/\/输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。char ch;int char_num=0,kongge_num=0,int_num=0,other_num=0;while((ch=getchar())!='\\n')\/\/回车键结束输入,并且回车符不计入 { if(ch>='a'&&ch<='z'||...

相似回答
大家正在搜