编写一个程序,从键盘输入一行字符按Enter键结束分别统计并输出出英文字母、空格、数字及其他字符的个数。

编写一个程序,从键盘输入一行字符按Enter键结束分别统计并输出出英文字母、空格、数字及其他字符的个数。,第1张

楼上的数字也要用字符形式哦.

#include<stdioh>

int main()

{

int letters,space,digit,other;

char c;

letters=0,space=0,digit=0,other=0;

while((c=getchar())!='\n')

{if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters ++;

else if(c>='0'&&c<='9')

digit++;

else if(c==' ')

space++;

else

other++;}

printf("letters=%d space=%d digit=%d other=%d\n",letters,space,digit,other);

}

如果是在程序末尾可以写上

getchar();

或者是

system("pause");

例如:

/

作者:

功能:

日期:

/

#include<stdioh>

#include<stdlibh>

int main(void)

{

//程序内容

system("pause");

return 0;

}

如果是在程序中间可以使用:

char a;

a=getchar();

if (a=='\n')

{

exit(0); //程序退出

}

;================================================

ASSUME CS:CODE, DS:DATA

DATA SEGMENT

MSG1 DB 'Please Enter:'

CRLF DB 13, 10, '$'

MSG2 DB 13, 10, 'After sort:'

;----------------------------------

BUFSIZE DB 80 ;可键入字符

ACTLEN DB ;实际字符数

CHARS DB 80 DUP() ;字符存放

DATA ENDS

;----------------------------------

CODE SEGMENT

START:

MOV AX, DATA

MOV DS, AX

;-----------------------

MOV DX, OFFSET MSG1

MOV AH, 9

INT 21H

MOV DX, OFFSET BUFSIZE

MOV AH, 10

INT 21H ;输入字符串并送入缓冲区

;-----------------------

MOV CL, ACTLEN ;输入的字符数

ADD CL, 0

JNZ OK ;长度不为零就去排序

JMP EXIT

;-----------------------

OK:

MOV CH, 0

MOV BX, CX

MOV SI, OFFSET CHARS

MOV BYTE PTR [BX + SI], '$'

;-----------------------

DEC CX

S: PUSH CX

MOV DI, SI

S1: MOV AL, [DI]

CMP AL, [DI + 1]

JNB JX

XCHG AL, [DI + 1]

MOV [DI], AL

JX: INC DI

LOOP S1

POP CX

LOOP S

;-----------------------

MOV BUFSIZE, 13

MOV ACTLEN, 10

MOV DX, OFFSET MSG2

MOV AH, 9

INT 21H

MOV DX, OFFSET CRLF

MOV AH, 9

INT 21H

MOV DL, CHARS

MOV AH, 2

INT 21H

DEC BX

MOV DL, [BX + SI]

MOV AH, 2

INT 21H

EXIT:

MOV AH, 4CH

INT 21H ;返回DOS

;----------------------------------

CODE ENDS

END START

;================================================

你可以用gets() 输入法   或者是getchar()   或者是cingetline等输入法

因为cin会过滤掉空格

#include <iostream>

using  namespace std;

int main()

{

char c;

while((c=getchar())!='\n')

putchar(c);

putchar('\n');

}

还有问题可以追问

以上就是关于编写一个程序,从键盘输入一行字符按Enter键结束分别统计并输出出英文字母、空格、数字及其他字符的个数。全部的内容,包括:编写一个程序,从键盘输入一行字符按Enter键结束分别统计并输出出英文字母、空格、数字及其他字符的个数。、如何c++使程序可以在安回车后结束运行、汇编程序从键盘输入一个ENTER结束的十进制数字串,按ASCII码值降序排列这个数字串,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9688746.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存