3. 编写函数实现任意两个整数求和,在主函数中输出计算结果。

3. 编写函数实现任意两个整数求和,在主函数中输出计算结果。,第1张

下面的程序使用C语言编写的。

#include <stdioh>

#include <stdlibh>

int sum(a,b) /求和函数/

{

int he;

he=a+b;

return he; /返回求和结果/

}

int main()

{

int num1,num2;

printf("请输入要求和的两个-32768到32767之间的整数\n");

scanf("%d %d",&num1,&num2);

printf("两个数的和:%8d\n",sum(num1,num2)); /求和函数调用/

system("pause");

return 0;

}

有两个函数。一个是求两数中大的数,一个是求两数之和。

C语言函数

main(中文:主函数)

max(中文:求“最大数”的函数)

scanf(中文全称:“格式输入”函数)

printf(中文全称:“格式输出”函数)

扩展资料:

函数与不等式和方程存在联系(初等函数)。令函数值等于零,从几何角度看,对应的自变量的值就是图像与X轴的交点的横坐标;从代数角度看,对应的自变量是方程的解。

另外,把函数的表达式(无表达式的函数除外)中的“=”换成“<”或“>”,再把“Y”换成其它代数式,函数就变成了不等式,可以求自变量的范围。

输入值的集合X被称为f的定义域;可能的输出值的集合Y被称为f的值域。函数的值域是指定义域中全部元素通过映射f得到的实际输出值的集合。注意,把对应域称作值域是不正确的,函数的值域是函数的对应域的子集。

计算机科学中,参数和返回值的数据类型分别确定了子程序的定义域和对应域。因此定义域和对应域是函数一开始就确定的强制进行约束。另一方面,值域是和实际的实现有关。

参考资料来源:百度百科-函数

data segment

num1 db 0;3 dup()

num2 db 0;3 dup()

data ends

code segment 'code'

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov si,offset num1

输入一组数

mov ah,01h

int 21h

sub al,'0';;

mov dl,al

mov cl,3

shl al,cl

shl dl,1

add al,dl

mov [si],al

mov ah,01h

int 21h

sub al,'0'

add [si],al

mov ah,01h

int 21h

mov bx,offset num2

再输入一组数

mov ah,01h

int 21h

sub al,'0'

mov dl,al

mov cl,3

shl al,cl

shl dl,1

add al,dl

mov [bx],al

mov ah,01h

int 21h

sub al,'0'

add [bx],al

mov ah,02h

mov dl,0dh

int 21h

mov dl,0ah

int 21h

把两组数求和

mov al,[bx]

add al,[si];al=sum

xor ah,ah

mov cl,100

div cl

mov bx,ax

test al,al

jz  @f

add al,'0'

mov dl,al

mov ah,02h

int 21h

@@:

mov al,bh

xor ah,ah

mov cl,10

div cl

mov bx,ax

add al,'0'

mov dl,al

mov ah,02h

int 21h

add bh,'0'

mov dl,bh

mov ah,02h

int 21h

mov ah,4ch

int 21h

code ends

end start

input example:

12 34<Enter>

or

02 08<Enter>

扩展资料:

十进制转二进制代码:

void dectobin( int n ){

int result=0,k=1,i,temp;

temp = n;

while(temp){

i = temp%2;

result = k i + result;

k = k10;

temp = temp/2;

}

printf("%d\n", result);

}

算法分析:

在实现模2取余后需要逆序输出,这个地方通过不断乘以10来实现后一位比前一位的位数多10,不需要再通过数组或者逆序函数来实现。

如下代码是实现任意两个整数(包括大整数)相加的代码:

#include <iostream>

using namespace std;

#include<stringh>

 

void ad(string s1,string s2){

 int l1=s1length(),l2=s2length(); 

 

 int x[l1+10],y[l2+10];

 memset(x,0,sizeof(x));

 memset(y,0,sizeof(y));

 

 int i,j,k=0;

 //把s1转换成int数组 

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

  x[k++]=s1[i]-'0'; 

 }

 k=0;

 //把s2转换成int数组 

 for(j=l2-1;j>=0;j--){

  y[k++]=s2[j]-'0';

 }

 //逐位累加 

 for(i=0;i<l2+10;i++){

  x[i]+=y[i];

  if(x[i]>=10){

   x[i]-=10;

   x[i+1]+=1;

  }

 }

 //输出计算结果 

 for(i=0;i<l1+10;i++){

  cout<<x[i];

 }

 cout<<endl;

 

}

 

 

int main(int argc, char argv[]) {

 ad("99","999");

 return 0;

}

以上就是关于3. 编写函数实现任意两个整数求和,在主函数中输出计算结果。全部的内容,包括:3. 编写函数实现任意两个整数求和,在主函数中输出计算结果。、汇编程序:从键盘输入两个十进制数然后把这两个数相加,并将结果显示在屏幕上、用c++,编写程序求输入任意两个数的和等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存