以文本方式查看主题

-  泥客论坛(十几年前的回忆)  (http://www.kesonic.com/bbs/index.asp)
--  ☆电脑应用☆  (http://www.kesonic.com/bbs/list.asp?boardid=5)
----  [讨论]C语言编程题  (http://www.kesonic.com/bbs/dispbbs.asp?boardid=5&id=7887)

--  作者:JennyWen
--  发布时间:2005/4/9 21:27:39

--  [讨论]C语言编程题
背景音乐

有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。用两种方法:第一种用字符数组,第二种用字符串指针。

    有哪位朋友会编的,请帮帮忙吧!!!!!


--  作者:小轲
--  发布时间:2005/4/9 21:49:26

--  

俺没有编程的天赋

正好有位编程高手在线,帮你问了一下:

Main()

{int i,j,upp,low,dig,spa,oth;

char text[3][80];

upp=low=dig=spa=oth=0;

for(i=0;i<3;i++)

{printf(“\\n Please input line %d:\\n”,i+1;)

gets(text[i])

for(“j=0;j<80;&& text[i][j]!=’\\0’;j++”)

{if(text[i][j]>=’A’&&text[i][j]<=’Z’)

upp++;

else if(text[i][j]>=’a’&&text[i][j]<=’z’)

low++;

else if(text[i][j]>=’0’&&text[i][j]<=’9’)

dig++;

else if(text[i][j]==’’)

spa++;

else

oth++;

for(i=0;i<3;i++)

printf(“%s\\n”,text[i]);

printf(“upper case:%d\\n”,upp);

printf(“lower case: %d\\n”,low);

printf(“digit case:%d\\n”,dig);

printf(“space case:%d\\n”,spa);

printf(“other case:%d\\n”,oth);


--  作者:小轲
--  发布时间:2005/4/9 21:57:57

--  

运行情况如下:

Please input line l:

I am a student.↙

Please input line 2:

123456↙

Please input line 3:

ASDFG↙

upper case:6

lower case:10

digit:6

space:3

other:1

说明:

数组text的行号为0~2,但在提示用户输入各行数据时,要求用户输入第1行、第2行、第3行,而不是第0行、第1行、第2行,这完全是照顾人们的习惯。为此,在程序第6行中输出行数时用i+1,而不用i。这样并不影响程序对数组的处理,程序其他地方数组的第1个下标值仍然是0~2。


--  作者:爬墙的猫
--  发布时间:2005/4/12 18:07:33

--  

8错8错

    在没有比这更好的了

  不过用数组遍  偶不知道为什么定义upp,low ...

不是可以换别的定义

   还有FOR 循环也不错的哦

      嘿嘿  


--  作者:小轲
--  发布时间:2005/4/12 19:47:37

--  

upp,low 是自己自定义的

改为别的标识符也是可以的


--  作者:JennyWen
--  发布时间:2005/4/12 22:08:10

--  

谢谢啦@!


--  作者:小轲
--  发布时间:2005/4/12 22:14:35

--  
以下是引用JennyWen在2005-4-12 22:08:10的发言:

谢谢啦@!

嘿嘿

这次恰巧帮上你~~

俺以前学过c编程的

可是早忘的净光了


--  作者:JennyWen
--  发布时间:2005/4/13 19:14:38

--  

总之就系吾该晒你啦

Thank you very much!!!@!!