从键盘输入一个数字n(0≤n≤100),求出1到n的累加和并以十进制显示结果,用汇编语言,尽量简单,谢谢了

作者&投稿:诸樊 (若有异议请与网页底部的电邮联系)
从键盘输入一个数字n(0≤n≤100),求出1到n的累加和并以十进制显示结果~

#include]
int main()
{
int n=0;
int s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
s+=i;
printf("%d",s);
}
递归的方法
#include
float fun(int n);
int main()
{
int n=0;

scanf("%d",&n);

printf("%f",fun(n));
system("pause");
}
float fun(int n)
{
int i=0;
int s=0;
i=n;
if(i>0)
s=i+fun(n-1);
else
printf("the answer is :");
return s;
}

你妹 其他编程语言你放倒 C/C++ 这个分类来干吗?
FUCK!

assume cs:codecode segmentstart: mov cx, 10 mov bx, 0 mov ah,1$0: int 21h sub al,30h ;不做输入有效性检查 add bl,al adc bh,0 ;实际上需要,10个9相加也不超过al的范围 loop $0 mov ax, bx call print mov ah,4ch int 21h;print (ax) in decmialprint proc near xor cx,cx mov bx, 10Q0: xor dx,dx div bx xor dx, 0e30h push dx inc cx cmp ax, 0 jnz Q0Q1: pop ax int 10h loop Q1 retprint endpcode endsend start

data segment

msg db 'input N:$'

data ends

code segment

assume cs:code,ds:data

main proc near

start:

mov ax,data

mov ds,ax

mov dx,offset msg

mov ah,09h

int 21h

call decibin;接收N的子程序

mov cx,bx

mov bx,0

loop1:

add bx,cx;1+2+…N的和存入BX

loop loop1

call crlf

call bini;显示BX中的内容

mov ah,4ch

int 21h

ret

main endp

;------------------------------

decibin proc near;接收N子程序

mov bx,0

newchar:

mov ah,1

int 21h

sub al,30h

jl exit

cmp al,9d

jg exit

cbw

xchg ax,bx

mov cx,10d

mul cx

xchg ax,bx

add bx,ax

jmp newchar

exit:

ret

decibin endp

;------------------------------------

bini proc near;转化为十进制输出子程序

mov cx,10000d

call bin

mov cx,1000d

call bin

mov cx,100d

call bin

mov cx,10d

call bin

mov cx,1d

call bin

ret

bini endp

bin proc near

mov ax,bx

mov dx,0

div cx

mov bx,dx

mov dl,al

add dl,30h

mov ah,02h

int 21h

ret

bin endp

;--------------------------------

crlf proc near;回车换行子程序

mov dl,0dh

mov ah,02h

int 21h

mov dl,0ah

mov ah,02h

int 21h

ret

crlf endp

code ends

end start

4.阶乘:

data segment

jiecheng dw ?

data ends

code segment

main proc far

assume cs:code,ds:data

start:

push ds

sub ax,ax

push ax

mov ax,data

mov ds,ax

mov ah,1

int 21h

sub al,30h

mov cl,al

sub bl,bl

mov bl,1

sub ax,ax

mov al,1

cheng1:

mul bl

add bl,1

cmp bl,7

je n2

loop cheng1

jmp n1

n2:

sub cx,1

jcxz n1

cheng2:

mul bx

add bx,1

loop cheng2

n1:

mov bx,ax

mov ah,2

mov dl,13

int 21h

mov ah,2

mov dl,10

int 21h

call binidec

ret

binidec proc near

mov cx,10000d

call dec_div

mov cx,1000d

call dec_div

mov cx,100d

call dec_div

mov cx,10d

call dec_div

mov cx,1d

call dec_div

ret

dec_div proc near

mov ax,bx

mov dx,0

div cx

mov bx,dx

mov dl,al

add dl,30h

mov ah,2

int 21h

ret

dec_div endp

binidec endp

main endp

code ends

end start

http://zhidao.baidu.com/question/359506996.html?oldq=1


c语言,从键盘中输入一个正整数n分别求1到n之间所有个位数是3或5的数的...
include <stdio.h> int main(){ int n, sum = 0;printf("请输入一个正整数:");scanf("%d", &n);for (int i = 1; i <= n; i++){ int digit = i % 10;if (digit == 3 || digit == 5){ sum += i;} } printf("1到%d之间所有个位数是3或5的数的和为:%d\\n",...

从键盘任意输入一个正整数n(n<10),求fac=n!并输出fac的值
int n, fac = 1;printf("请输入一个正整数n(n<10):\\n");scanf("%d", &n);for (int i = 1; i <= n; i++) { fac *= i;} printf("fac = %d\\n", fac);return 0;} 这里使用scanf函数从键盘输入一个正整数n,然后使用循环计算n的阶乘fac。循环中,从1到n依次乘上每个数...

从键盘读入一个数n,先逆序输出n的各位数,再输出n的各位数之和.
int n,sum=0,x; printf("请输入一个整数:"); scanf("%d",&n); printf("该数的各位之逆序为:"); while(n){ sum+=(x=n%10); printf("%d",x); n\/=10; } printf("\\n该数的各位数之和为:%d\\n",sum);} White_MouseYBZ | 发布于2013-07-12 举报| 评论 7 0 为您推荐: 葱键盘输出...

使用键盘输入一个多位整数n,利用循环实现将这个整数逆序输出?
} printf("逆序输出为:%d\\n", reversed);return 0;} 这里使用scanf函数从键盘输入一个多位整数n,然后使用循环将这个整数逆序输出。循环中,每次取出n的个位数,加入到reversed的末尾,然后将n除以10去掉个位数。最终,reversed中存储的就是n的逆序数。运行程序后,输入一个多位整数,程序会将其逆序...

从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形. 要数字图行不是...
include<stdio.h> int main(){ int i,j,n,p,q;scanf("%d",&n);for(i=1;i<=n;i++){ for(j=1;j<=n-i;j++)printf(" ");for(p=1;p<=i;p++)printf("%d",p);for(q=i-1;q>0;q--)printf("%d",q);printf("\\n");} for(i=1;i<=n-1;i++){ for(j=1;j<...

C语言考试:从键盘输入整数n(n的值不超过10),编程求n!+(n+1)!
include <stdio.h> include <stdlib.h>long factorial(int n) { if(n <= 1) return 1;return n*factorial(n - 1);}int main() { int n;printf("请输入一个正整数 : ",&n);scanf("%d",&n);printf("\\n%d! + (%d + 1)! = %u\\n\\n",n,n,factorial(n) + factorial(n +...

从键盘上任意输入一个整数n,编程计算并输出1~n之间的所有素数及所有素数...
printf("请输入一个大于2的整数:");scanf("%d",&n);l=n;for(;n>=2;n--){ for(i=2;i<n;i++){ if(n%i!=0)\/\/判断其为素数 t=1;1 else { t=2;break;} } if(t==1){ sum+=n;\/\/printf("%d ",n);\/\/输出1-n之间的所有素数 } } printf("1-%d之间的所有素数和为...

编程实现:从键盘输入一个数n,分别求出n的个位数字,十位数字和百位数字...
int num,a,b,c,temp;cout<<"请输入一个三位数:"<<endl;\/\/不知道是几位数,以三位数为例 cin>>num;c=num%10;\/\/个位数c a=num\/100;\/\/百位数为c temp=num%100;b=temp\/10;\/\/b为十位数 return;

...任意一个整数n,计算1到n的和。 输入 从键盘输入任意整数n。 输出1...
include <stdio.h> void main(){ int n;printf("请输入一个整数n=");scanf("%d",&n);int i=1;int sum=0;while(i<=n){ sum=sum+i;i++;} printf("从1到%d的和为%d\\n",n,sum);} 已经调试,成功输出,请采纳 有图有真相 ...

用C语言编写程序从键盘输入一个正整数数n,输出n!
void main(){int n =0,m=0;printf("请输入一个正整数:")scanf("%d",&n);m=Func(n);printf("%d!=%d\\n",n,m);} 在以上程序代码中,Func()为递归函数,主函数main()中接收键盘输入整数值后,调用Func()递归函数,首层m=n*(n-1)!,继续递归调用,m=n*(n-1)(n-2)!,...

云溪区13187719650: 从键盘输入一个数字n(0≤n≤100),求出1到n的累加和并以十进制显示结果 -
道卞牛痘: 'vbs脚本文件 dim n,k,lj k=0 do while k n = inputbox("请输入0到100之间整数") if n>100 or n k = k+1 if k>=3 thenmsgbox "你已经3次输入了不符合要求的数字,再见!"else msgbox "输入的数值不符合要求,请重新输入!" end if elselj=0 for i=1 to n lj=lj+i next msgbox "从0累计到 " & n & " 的值是:" & lj exit do end if loop

云溪区13187719650: 用C语言编写一个程序:从键盘输入n(0<N<100)个整数,计算并输出其中出现次数最多且数值最大的元素. -
道卞牛痘: 1:次数最多2:在次数最多的基础上,数值最大 _______________________________________________以下为程序:#include <iostream>// 设置最大值#define MAX 100 typedef struct record { int number[MAX]; int counter[MAX]; }record; int ...

云溪区13187719650: 编写程序:从键盘输入n(0<n<100)个整数,计算并输出其中出现次数最多且数值最大的元 -
道卞牛痘: 这个程序查询结果是不是可以理解为:先计算次数出现最多的,在出现次数相等的情况下,数值最大的? 因为这个问题是有矛盾的,出现次数最多的不一定数值最大 用c++写的,思路都在,vb很久没有用了.不想去看了.希望思路对你有用 #...

云溪区13187719650: 输入一个正整数n(1< n ≤10),再输入n个整数,输出平均值(保留2位小数). -
道卞牛痘: #include<stdio.h> void main() { int n,i,sum=0; int a[10]; float p; printf("请输入n(0-10):\n"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",a[i]); sum=sum+a[i]; } p=sum*1.0/n; printf("平均值为:%.2f\n",p); }

云溪区13187719650: 从键盘上输入一个正整数n(n≤10),求n的阶乘并输出结果 -
道卞牛痘: int n,P;P=1; scanf("%d",&n); for(i=1;i{ P=P*i;} printf("%d",P); 望采纳,谢谢~

云溪区13187719650: 在数组中查找指定元素.输入一个正整数n(1≤n ≤10),然后输入n个整数存入数组a中,再输入一个整数x,在 -
道卞牛痘: #include int search(int list[],int n,int x) { int i; for(i=0;i if(list[i]==x)return i; return -1; } main() { int list[10],n,x,i; printf("input n(1 scanf("%d",&n); printf("input %d numbes:\n",n); for(i=0;i scanf("%d",&list[i]); printf("input x:"); scanf("%d",&x); ...

云溪区13187719650: C语言题目:输入一个正整数n(1<n≤10),再输入n个正数,输出平均值(保留两位小数),并逆序输出这些数. -
道卞牛痘: #include<stdio.h> int main(void) { int a[10]; int n,i; float average,sum=0; //sum定义成float才合适 printf("Please input n:"); scanf("%d",&n); printf("Please input %d integers:",n); //移动到循环外 for(i=0;i<n;i++) //这里多了分号 { scanf("%d"...

云溪区13187719650: 输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中. -
道卞牛痘: #include <stdio.h> #include <stdlib.h>int main(void) {int n = 0, i;int min = 0,minpos = 0;int* a = NULL;printf("请输入你要输入多少整数\n");scanf("%d",&n); a = (int*)malloc(n*sizeof(int)); if(a == NULL) return -1; printf("请输入这...

云溪区13187719650: 从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后找出最大值,并输 -
道卞牛痘: int n,a[10],i,j,t; cout<<"输入一个整数N(N<10)\n"; cin>>n; cout<<"输入N个整数:\n"; for(i=0;i<n;i++) { cin>>a[i]; } for(i=0;i<n;i++)//输出 { cout<<a[i]<<" "; } for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(a[i]<a[j]) {t=a[i]; a[i]=a[j]; a[j]=t; } cout<<"排序后:\n"; for(i=0;i<n;i++) cout<<a[i]<<" "; cout<<"最大的为:"<<a[0]; 这样及排序当然也就找到最大值了

云溪区13187719650: 输入一个正整数n(1<n≤10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换. -
道卞牛痘: 可以参考下面的代码: #include <stdio.h> void main() { int i,j=0,k=0,t,n,min,max,a[10]; printf("输入整百数度的个数: "); scanf("%d",&n); printf("输入%d个整数: ",n); scanf("%d",&a[0]); max=a[0];min=a[0]; for(i=1;i<n;i++) { scanf...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网