当前位置:首页 » 编程软件 » 编程2位

编程2位

发布时间: 2022-07-28 20:28:35

编程从键盘输入一个2位的十六进制整型数据,将这个十六进制整型数转换为二进制

/*这题非常简单,你要学过数据结构就非常容易*/
/*我用个栈来帮你做*/
/*此栈数据项为整型,只定义初始化栈,入栈,出栈操作,输出栈中元素操作*/
#include<iostream.h>
#define MaxSize 100
typedef struct {
int data[MaxSize];
int top;
}Stack;//顺序栈,也可用链栈
void InitStack(Stack &S)//初始化栈
{
S.top=-1;
}
int push(Stack &S,int x)//入栈
{
if(S.top==MaxSize)
return 0; //栈满
else{
S.top++;
S.data[S.top]=x;
return 1;
}
}
int pop(Stack &S,int &x)//出栈
{
if(S.top==-1)
return 0; //栈空
else{
x=S.data[S.top];
S.top--;
return 1;
}
}
void display(Stack &S)
{
int x;
while(S.top!=-1)
{
pop(S,x);
cout<<x<<' ';
}
cout<<endl;
}
//应用程序
void func(int n,int m)//n为十进制数,m为2,8,或16
{
Stack S;
InitStack(S);
while(n!=0)
{
push(S,n%m);
n=n/m;
}
display(S);
}
void main()//这用来测试func
{
int n=12,m=2;
func(n,m);
m=8;
func(n,m);
m=16;
func(n,m);
}
//已在vc2005中测试过,可用,至于16进制时怎么输出A,B,..,F,吃过饭我再来贴

㈡ 汇编编程 2位十进制数的四则运算

; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
ASCII_Binary MACRO ;将两位数字的ASCII码转换成二进制数
mov dl,10
lodsb
and al,0fh
mul dl
mov dx,ax
lodsb
and al,0fh
add al,dl
stosb
EndM
; -------------------------------------
; 功能:输入两位十进制数,将其保存在指定的内存单元
; 入口:es:di=保存输入的数字首地址
; 出口:转换后的二进制数保存在di所指的单元
Input_Dec Proc Near
push cx
push bx
cld
mov cx,2
@@Input_Dec: mov ah,7 ;从键盘接受一个字符
int 21h
cmp al,'0'
jb @@Input_Dec ;若低于数字'0',重新输入
cmp al,'9'
ja @@Input_Dec ;若高于数字'9',重新输入
stosb ;保存
mov ah,0eh ;显示这个数字
xor bh,bh
int 10h
loop @@Input_Dec ;接受下一个数字
pop bx
pop cx
ret
Input_Dec EndP
; -------------------------------------
; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Unsi_Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[5]
mov BYTE PTR [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,ax
jnz @@Divide
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 6 p(?)
Unsi_Dec_ASCII EndP
; -------------------------------------
; 功能:键盘输入一个字符,若输入的是'y'或'n'(不分大小写),则显示并返回
; 入口:无
; 出口:若输入的是'y',进位标志置位;若输入的是'n',进位标志复位。
Yes_or_No proc Near
push dx
push ax
@@Input_Chr: mov ah,7 ;不带回显的键盘输入
int 21h
mov dl,al
and al,0dfh
cmp al,'Y'
jnz $+5
stc
jmp $+7
cmp al,'N'
jnz @@Input_Chr
clc
mov ah,2
int 21h
pop ax
pop dx
ret
Yes_or_No Endp
; -------------------------------------
; 加法运算
Addition Proc Near
mov ax,WORD ptr Number
add al,ah
xor ah,ah
call Unsi_Dec_ASCII ;显示和
ret
Addition EndP
; -------------------------------------
; 减法运算
Subtration Proc Near
mov ax,WORD ptr Number
sub al,ah
xor ah,ah
call Unsi_Dec_ASCII ;显示差
ret
Subtration EndP
; -------------------------------------
; 乘法运算
Multiple Proc Near
mov ax,WORD ptr Number
mul ah
call Unsi_Dec_ASCII ;显示乘积
ret
Multiple EndP
; -------------------------------------
; 除法运算
Division Proc Near
mov ax,WORD ptr Number
mov bl,ah
xor ah,ah
div bl
push ax
xor ah,ah
call Unsi_Dec_ASCII ;显示商数的整数部分
mov cx,6 ;写字符次数
mov al,'.'
mov ah,0eh
@@Write_Dot: int 10h
loop @@Write_Dot
pop ax
xchg ah,al
or al,30h
mov ah,0eh
int 10h
ret
Division EndP
; -------------------------------------
prompt_Str db 13,10,10,'Please input an arithmetical expression:',13,10,'$'
Contin_Str db 13,10,10,'Continue(Y/N)?$'
Number db ?,? ;操作数存储单元
Operators db '+-*/' ;运算符
Procere dw Addition,Subtration,Multiple,Division
Press_Key db 7,13,10,10,'The complated. Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es
Input_Expre: Output prompt_Str ;提示输入算术表达式
lea di,Arith_Expre ;算术表达式缓冲区地址
call Input_Dec ;输入两位十进制数,将其保存在指定的内存单元
Input_Oper: mov ah,7
int 21h
cmp al,'+'
jz Store_Oper
cmp al,'-'
jz Store_Oper
cmp al,'*'
jz Store_Oper
cmp al,'/'
jnz Input_Oper
Store_Oper: stosb ;保存
mov ah,0eh ;显示这个数字
xor bh,bh
int 10h
call Input_Dec
mov al,'='
mov ah,0eh
xor bh,bh
int 10h
lea si,Arith_Expre
lea di,Number ;操作数存储单元地址
ASCII_Binary ;将两位数字的ASCII码转换成二进制数
inc si
ASCII_Binary
mov al,BYTE ptr Arith_Expre[2] ;取运算符
mov cx,4
lea di,Operators
mov bx,di
repnz scasb
xchg di,bx
sub bx,di
dec bx
shl bx,1
call Procere[bx] ;调用相应的运算子程序
Output Contin_Str
call Yes_or_No
jc Input_Expre
; -------------------------------------
Exit_Proc: Output Press_Key ;提示操作完成,按任意键结束程序
mov ah,1
int 21h
mov ah,4ch ;结束程序
int 21h
Arith_Expre: ;算术表达式缓冲区
Code ENDS
END Start ;编译到此结束

㈢ C++编程2位保留小数点

cout<<setiosflags(ios::fixed)<<setprecision(2)<<s<<endl;
注意包含头文件 #include <iomanip.h>

㈣ 编程实现倒计时的秒表,2位LED数码管显示,延时采用软件延时的方法。求大神!

#include "reg51.h"
void delay1s();
void display(unsigned char x);
void main()
{
unsigned char i;
while(1)
{
for(i=99;i>0;i--)
{
display(i);
delay1s();}
}
}
void delay1s()
{
unsigned char i,j,k;
for(i=10;i>0;i--)
for(j=200;j>0;j--)
for(k=250;k>0;k--);
}
void display(unsigned char x)
{
unsigned char dispcode[10]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f};
P2=dispcode[x/10];
P1=dispcode[x%10];
}

c语言怎样输出2位小数

c语言怎样输出2位小数的方法。

如下参考:

1.首先点击打开桌面上的vc++6.0软件,如下图所示。

㈥ C语言编程是如何用指针指向二位数组的某个为

如果,你需要让指针指向哪个数,直接把这个数的地址,赋给该指针,就行了。

比如:int *p1,*p2;
int a[2][3]={{1,2},{3,4}};

p1=&a[0][1];//p1指向2
p2=&a[1][0];//p2指向3

㈦ 编程 把一个2位数交换十位与个位的位置

#include<stdio.h>

intmain(void)
{
intx,y;
printf("输入2位整数:");
scanf("%d",&x);
y=x/10+x%10*10;
printf("输出结果:%d ",y);
return0;
}

热点内容
流控脚本破解 发布:2025-02-07 08:39:09 浏览:413
什么是资源为什么要研究资源配置 发布:2025-02-07 08:25:19 浏览:87
钓鱼网站源码制作 发布:2025-02-07 08:23:54 浏览:139
mac运行fl需要什么配置 发布:2025-02-07 08:15:45 浏览:573
安卓怎么做都比不了苹果 发布:2025-02-07 08:12:47 浏览:238
怎么给物理机配置ip地址 发布:2025-02-07 08:01:37 浏览:139
三国志13未加密 发布:2025-02-07 07:54:37 浏览:926
马斯克中国访问 发布:2025-02-07 07:54:29 浏览:102
数据库有表 发布:2025-02-07 07:50:49 浏览:29
基于nginx搭建图片服务器原理 发布:2025-02-07 07:44:18 浏览:449