首页 > 软件 > 在键盘上输入自己姓名的拼音,如“Wang Fei”,以回车结束。输入结束后,将大小写互换 并

在键盘上输入自己姓名的拼音,如“Wang Fei”,以回车结束。输入结束后,将大小写互换 并

软件 2023-12-13

c语言编程题:输入一行字符,并以回车结束,将其中的小写字母转换成大写字母,其他字符不变。

/*功能:输入一行字符,并以回车结束,将其中的小写字母转换成大写字母,其他字符不变。*/ /*说明:改变N的大小可以改变输入字符串的范围大小*/ #include #include #define N 100 int main(void) { int i,len; char str[N]; printf("Please input a string: "); gets(str); len = strlen(str); for(i=0;i= 97 && str[i] <= 122) str[i] = str[i]

用C语言编写程序:从键盘输入一串字符,按回车键后结束,最后将字符串在屏幕上输出。

#include void main() { char *p[20]; printf("\n Please input some chars:"); scanf("%s",p); printf("\n You inputed: %s\n",p); getchar(); } 注意,该程序最多可输入20个字符,如果要更多,自己把*p[20];里的数字改得列大就行了

汇编语言顺序程序设计:从键盘输入一个字符串,讲其中的小写字母转换为大写字母,然后原样输出。

1. 首先题目就有问题,不可能“接收从键盘输入的字符,以CTR+C 结束”。对于命令提示符来说,按下CTRL+C,就会强行退出这个程序,所以不可能以CTRL+C结束的。应该是按回车结束输入。
2. DATA里有中文标点符号。
3. 输入字符后,按下回车,在C语言里运行的时候会自动换行,但是在汇编里不会,所以你要自己换行。
4. 用MOV AH, 0AH; INT 21H中断输入后,输入的有效字符数存放在BUF1单元里,所以循环的时候应该把CX设置为BUF1单元里的值,而不是COUNT
5. 输入的有效字符从BUF2单元开始存储,所以做大小写转换的时候,应该从BUF2单元开始,而不应该从BUF单元开始
6. 61H和7AH都是小写字母,所以跳转指令中不应该有E。同时,有符号、无符号不要混用,所以JBE改为JB,JGE改为JA。
7. 输入字符时,是以回车符作为结束;而输出字符时,是以'$'作为结束,所以对输入的字符,你要把最后一个回车符转为‘$'。
修改后的程序如下:
DATA SEGMENT
MESS1 DB 'INPUT: ',13,10,'$'
NEWLINEDB 13, 10, '$' ;这行是专门用来换行的
MESS2 DB 'OUTPUT:',13,10,'$'
BUF DB 20
BUF1 DB ?
BUF2 DB 20 DUP(?)
COUNT EQU $-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI, 0
LEA DX,MESS1
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF
MOV AH,0AH
INT 21H
LEA DX, NEWLINE ;专门用来换行
MOV AH, 9
INT 21H
MOV CL, BUF1
MOV CH, 0 ;BUF1单元中存放的是有效输入字符数
LOOP1:MOV AL,BUF2[SI] ;从BUF2单元开始才是有效字符
CMP AL,61H
JB NEXT ;JBE改为JB
CMP AL,7AH
JA NEXT ;JGE改为JA
SUB AL,20H
MOV BUF2[SI],AL ;从BUF2单元开始才是有效字符
NEXT: INC SI
LOOP LOOP1
MOV BUF2[SI], '$' ;循环结束,把当前的字符修改为'$'
LEA DX,MESS2
MOV AH,09H
INT 21H
MOV DX,OFFSET BUF2 ;从BUF2单元开始才是有效字符
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START

汇编语言:从键盘输入字符,以回车键结束,将字符串中包含的字母输出到屏幕第2行,包含的数字输出到第3行

CODESEGMENT
ASSUMECS:CODE
START:JMPBBB
MSG1DB'pleaseinput:$'
STR0DB255
STR1DB?
STR2DB255DUP('$')
ALPHA0DB13,10
ALPHADB255DUP('$')
NUMBER0DB13,10
NUMBERDB255DUP('$')
BBB:PUSHCS
POPDS
PUSHCS
POPES
MOVAH,9
LEADX,MSG1
INT21H
MOVAH,10
LEADX,STR0
INT21H
MOVCL,STR1
MOVCH,0
LEASI,STR2
LEABX,ALPHA
LEADI,NUMBER
CLD
@0:
LODSB
CMPAL,'0'
JB@10
CMPAL,'9'
JA@1
STOSB
JMP@10
@1:
CMPAL,'A'
JB@10
CMPAL,'Z'
JA@2
MOV[BX],AL
INCBX
JMP@10
@2:
CMPAL,'a'
JB@10
CMPAL,'z'
JA@10
MOV[BX],AL
INCBX
@10:
LOOP@0

MOVAH,9
LEADX,ALPHA0
INT21H
LEADX,NUMBER0
INT21H

MOVAH,4CH
INT21H
CODEENDS
ENDSTART

从键盘输入一串字符,以回车键结束,将其写入文本文件a1.txt,并显示。

#include int main() { FILE *fp=fopen("a1.txt", "w"); char str[100]; gets(str); //输入 fputs(str,fp); //输出到文件 puts(str); //输出到屏幕 fclose(fp); return 0; }

标签:编程语言 编程 信息技术 字符串 键盘输入

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18