用汇编语言编译程序任意输入1到9之间的一位数字n 求从1开始连续n个奇数的和

用汇编语言编译程序任意输入1到9之间的一位数字n 求从1开始连续n个奇数的和,第1张

data segment

sum db ;存放结果

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

mov ah,1

int 21h ;1号功能调用,输入一个1-9的数字字符

and al,0fh ;将数字字符转换成数值

mov cl,al

xor ch,ch ;将输入的数值放到cl,并将ch清零,即将输入的数值存放到cx中

mov bl,1 ;bl置为1,bl存放奇数

xor al,al ;al作为累加寄存器,清零

next: add al,bl ;将奇数加到al中

inc bl

inc bl ;两次加1,形成下一个奇数

loop next ;loop循环——cx减一,cx不为零的话转next,否则向下执行

mov sum,al ;保存结果到sum中

mov ax,4c00h

int 21h

code ends

end start

写个样例给你看看吧

#include <stdioh>

int main()

{

int n, a[11], i, j, t, v;

//scanf("%d", &n);

scanf("%d", &a[0]);//输入第一个数

for (i = 1; i < 9; ++i){//剩下的八个

scanf(",%d", &a[i]);

}

n = 9;

for (i = 0; i < n; ++i){//选择排序

t = i;

for (j = i + 1; j < n; ++j){

if (a[t] > a[j])t = j;

}

if (t != i){

v = a[t], a[t] = a[i], a[i] = v;

}

}

scanf("%d", &v);//要插入的数

for (i = n-1; i >= 0; --i){

if (a[i] > v){

a[i + 1] = a[i];

}

else break;

}

++i;//插入位置

a[i] = v;

n++;

for (i = 0; i < n; ++i){//输出

if (i == 0)printf("%d", a[i]);

else printf(",%d", a[i]);

}

printf("\n");

return 0;

}

用sendkey

"{enter}"来模拟输入回车

用sendkey

"

"来模拟空格

总之,用sendkey

"你想输入的字符"就可以了

sendkey一般都放在timer1_timer()过程中

但用sendkey时要注意一个问题:

sendkey模拟的键盘 *** 作仅对当前活动窗体有效!!!

也就是说调用sendkey的一瞬间,你必须正在游戏中,游戏必须已启动,否则sendkey就会失效,甚至产生意想不到的结果

以上就是关于用汇编语言编译程序任意输入1到9之间的一位数字n 求从1开始连续n个奇数的和全部的内容,包括:用汇编语言编译程序任意输入1到9之间的一位数字n 求从1开始连续n个奇数的和、C语言编程 排序并插入、VB:在键盘上输入字母或0~9的数字,编写程序对其进行分类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存