
楼上的数字也要用字符形式哦.
#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码值降序排列这个数字串,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)