#include<stdioh>
void main() { char str[5][10]={ "优秀","良好","中等","及格","不及格" },str1[20],c;
printf("请输入成绩等级: "); scanf("%s",str1); c=str1[0];
if ( c>='A' && c<='E' ) printf("成绩%c: %s\n",c,str[c-'A']);
else printf("无效的成绩等级。\n");
}
Code SEGMENT
ASSUME CS:Code,DS:Code
CR EQU 000DH
LF EQU 000AH
KBBack EQU 0008H
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----MACRO--------------LEA--DX----------
; MOV输出AH字符
; INTdl=要显示的字符 ENDMtput_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; --------------------------------------PROC
NEAR:输出回车换PUSHutAXt_CTLFMOVocAHear
puINT ax
puPOP dAX
mRET ah,02h
movENDP,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
; ---------------------PROC-NEAR-----PUSH--AX; 功能:取PUSH
DX入口:无MOV出口:AH=行号,DL=列号MOVetDLrsor ProcINTar
MOV DLSH AX
INT PUSHPOPXDX POP PAXH CXRET XOR ENDPX
MOV AH,3
INT 10H
MOV Cursor_Row,DH
MOV Cursor_Col,DL
POP CX
POP BX
PROCPNEAR AX
PUSHETAXCursor_Row DBPUSH
BXrsor_Col DB PUSHeCXursor EndP
XOR---BX-BX-------------MOV---AH-----------
; INT置光标位置
; 入口:Cursor_MOV=行坐标; Cursor_DHl: 列坐标)
SetCMOVor Proc NeaDL
POPH CX
POPH CBX
POPH AX
RETH AX
DB MOV DH,CursDB_Row
ENDP DL,Cursor_Col
XOR BX,BX
MOV AH,2
INT 10H
POP AX
POP BX
POP CX
POP DXPROC NEAR RET
SetCurPUSH DXdP
; -------PUSH-CX-------------PUSH--BX------
; 功能:PUSH一个AX位数的十进制数字,将其转换MOV制数并DH在指定的内存单元。
; 入口:@@DigitsMOV位数;DL=保存输入的数字首地址
; @@TXOR_DaBX=BX的数据类型,B=字节类型,MOV类型。AH; 出口:转换后的二进制数保存INT所指的单元
Input_Digit POPc NAXr
push dxPOP pBXh cx
pushPOP
CX push di
POP DX,@@Save_Tmp
RETpush di
cENDP mov cl,@@Digits
xor ch,ch
push cx
@@Input: call GetCursor ;取光标位置
mov ah,1 ;从键盘接受一个字符
int 21h
cmp al,CR ;若键入的是回车,已经键入的数字不足N位
jz @@ASC_Dec ;转去处理已经键入的数字
cmp al,KBBack
jz @@KB_Back ;若是回空键,重新输入
cmp al,'0'
jb @@KBBack ;若低于数字'0',重新输入
cmp al,'9'
ja @@KBBack ;若低于数字'9',重新输入
jmp @@SaPROCiNEAR@KB_BPUSH DXc CuPUSH_CXl
PUSH BXx
PUSH DIi
@@LEAacDI call SetCursor PUSH位DI
CLD @@IMOVtCL@Save_Dig: and XOR,0CH CH换成二进制PUSH CXtosb ;保存
CALLop @@Input ;接受下一个数字
@@ASC_MOV: AHv ax,cx
pop cx
poINTsi
subCMPx,AL ;实际输入的数字位数
xor bp,bp
xor dx,dx
xJZ ax,ax
jcxz @@Retturn ;若是直接回车,没有输入任CMP,按AL'0'处理
deJZ cx ;实际输入的数字位数减1,准备把输入的这一串数字转换成二进制数
CMPcxAL@@One_DigJB ;若输入的数字只有一位,转去直接保存这个二进制数
mov bx,10CMP@MAL_Ten: lodJA
cbw
add ax,bp
mul bx
JMP bp,ax
loop @@Mul_TeDEC@@One_Digit:lodsbINC CXw
DECd DIx,bp
@@SaveCALL: pop di
cmp @@Type_DJMP,'B' ;字节类型?
jz $+5AND ALosw
jmp $+3
stosb
pop bx
LOOPp cx
pop dx
clc
ret
@@MOVtuAX:CXop dPOP CXop bPOP SIop cSUB CXoAX dx
stc
ret
@@DiXORs BP BP ;十进制XOR数DX@TDXe_DatXORb AXBAX;保存的数JCXZB=字节类型,W=字类型
@@Save_Tmp db 16 dup()
Input_Digit EndP
; --DEC--CX--------------------------------
Prompt_Str db 'Please enter a sJCXZ: $' ;提示输入一个分数
Score db ;存放分数
Press_Key db 13,10,13,10,'PMOVs BXy key to exit$'
StartCBW pushADD
AX BPp dsMUL BXsh csMOV BPpAXes ;使LOOP附加段与代码段同段
; ---------------------CBW-----ADD--AX-BP--
; 输入成绩
POPv DI@DigiCMP3 ;十进制数字位数
mov @@Type_Data,'BJZ;保存的数据类型。B=字节类型,W=字类JMPInput_Score:Output pPOPptBXtr ;提POP分数CX lePOPdiDXcore CLC存放地址RET call Input_DiPOP ;DI分数
POPc BX@Any_POP ;CX直接回车,POP入任DX字,则结束STC
RET dl,10 ; DB除10
mov al,Score ; 提取分数
DB xor ah,ah
div dl ; 除10
cmp al,5 ; >5DB格
DUP ja $+4
ENDP al,5 ; <=5,不及格
sub al,5 ; 减5
mov dl,'F'
test al,0ffh
jz $+6
cmp al,5
DBjz $+4
inc al
add Cursor_Col,6
call SetDBrsor
sub dl,al
cDBl Output_Chr ;显示一个字符
call Output_CTLF ;输出一个回车、换行
PUSHmCS InpuPOPcoDS
@@APUSHeCS OutpPOPPrESs_Key
mov ah,1
int 21h
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
MOVMOVLEADICALLJCMOVDLMOVALXORAHAHDIVDLCMPALJAMOVALSUBALMOVDLTESTALJZCMPALJZINCALADDCALLSUBDLALCALLCALLJMPMOVAHINTMOVAHINTENDSEND
switch(成绩)
{ case 成绩>90:
printf("A");break;
case 成绩>=80&&成绩<=90:
printf("B");break;
case 成绩>=60&&成绩<80:
printf("C");break;
case 成绩<60:
printf("d");break;
}
材料/工具:Excel2010
1、表格中的黄颜色区域为评分标准,要求根据这个评分标准对A列的学生成绩进行评级划分,结果在B列显示。
2、选中B2单元格,在单元格中输入[=],然后点击插入函数按钮。
3、如下图d出插入函数对话框在或选择类别中选择[全部]选项;在选择函数中选择[LOOKUP]函数,然后点击确定按钮。
4、d出函数参数对话框:将光标移动到第一个参数后面,直接选择表格中的A2单元格;将光标移动到第二个参数后面,在对话框中输入[{0,60,80}];将光标移动到第三个参数后面,在对话框中输入[{"差","良","优秀"}],所有参数设置好后,点击确定按钮。
5、返回到工作表中,B2单元格显示出评级成绩。
6、选中B2单元格,拖动鼠标左键即可将剩余的评级成绩求出。
public class Degree {
public String getDegree(int score) {
if (score < 0 || score > 100) {
return "分数格式非法";
}
int degree = score / 10;
switch (degree) {
case 10:
case 9:
return "优";
case 8:
return "良";
case 7:
return "中";
case 6:
return "及格";
default:
return "不及格";
}
}
public static void main(String[] args) {
Degree d = new Degree();
String result = dgetDegree(80);
Systemoutprintln(result);
}
}
以上就是关于编写成绩转换程序,输入成绩等级ABCDE,分别转换输出为优秀,良好,中等,及格和不及格,要c语言全部的内容,包括:编写成绩转换程序,输入成绩等级ABCDE,分别转换输出为优秀,良好,中等,及格和不及格,要c语言、汇编语言程序设计:1:成绩等级判断程序:90以上输出A,80~90输出B……;可以重复输入,有退出键功能。、使用switch函数实现判断成绩等级的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)