求一个Fortran 两个txt文件里的数据相加的程序

求一个Fortran 两个txt文件里的数据相加的程序,第1张

      ! sum two data  ! 如果是用f77的话,‘!’改成‘c’

      implicit none

      integer,parameter:: n=17569

      integer i

      real a(n),b(n)

      

      open(11,file='data01txt')  !第一个txt

      open(12,file='data02txt')  !第二个txt

      do i=1,n

        read(11,) a(i)

        read(12,) b(i)

      end do

      close(11)

      close(12)

      

      open(11,file='sumtxt')

      do i=1,n

        write(11,) a(i)+b(i)

      end do

      close(11)

      

      stop

      end

编程前,应把算法先想清楚了。

code segment;任意两个五位数相加

assume cs:code,ds:code,ss:code

org 100h;标准COM格式

start:

jmp begin

Tips db 0dh,0ah,09,' $'

X1 db '23456+98765='

Y1 db '000000 Esc to Quit',24h

begin:

push cs

pop ds

push ds

pop es

mov ax,3;文本模式

int 10h

Again:mov dx,offset Tips;提示

mov ah,9

int 21h

call input;接收任意两个五位数

call count;求和

; 输出十进制的结果

mov dx,offset Y1[-1]

mov ah,9

int 21h

mov ah,0;暂停

int 16h

cmp ah,01;Esc 退出

jnz Again;计算下一题

mov ah,4ch;结束

int 21h

input:cld

mov si,offset X1

mov cx,2

T0:push cx

mov cx,5

T1:mov ah,0;接收数字

int 16h

cmp al,30h;数据校验

jb T1

cmp al,39h

ja T1

mov ah,0eh;数据显示

int 10h

mov [si],al;存入数据区

inc si

loop T1

inc si;跳过加号

pop cx

cmp cx,2

jnz T2

mov ax,0e2bh;输出加号

int 10h

T2:loop T0

ret

count:mov si,offset X1[4]

mov di,offset Y1[5]

xor dx,dx;清进位

mov cx,5;改变此值,可实现超大数相加

T3: call subs_c;逐位累加

dec si

dec di

loop T3

cmp dl,1;校正最高位

jnz T4

or dl,30h

mov [di],dl;有进位,置1

jmp T5

T4: mov byte ptr [di],20h;去掉前导0

T5: ret

subs_c: ;[原创]多位加法核心子程序

mov al,[si];最低位对齐

mov ah,[si+6]

and ax,0f0fh

add al,ah;自加

add al,dl;加后面进位

aam;二化十

mov dl,ah;存进位位

or al,30h

mov [di],al;保存1位和值

ret

code ends

end start

#include<stdioh>

void main()

{

int i,sum=0;

for(i=1;i<=10;i++)

{

sum+=i;

i++;

}

printf("奇数和为:%d\n",sum);

}

#include <stdioh>

int main()

printf("请输入两个整数:");

scanf("%d %d",&a,&b);//

sum=a+b;//三、数据处理,把a、b的和赋值给sum;

printf("这两个数的和是:%d\n",sum);//

return 0;//返回;

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐,最近25年是使用最为广泛的编程语言。

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的,目前,C语言编译器普遍存在于各种不同的 *** 作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等,C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

下面是一个使用 C++ 语言编写的等差数列求和程序,可以计算从 1 加到 100 的和:

```cpp

#include <iostream>

int main() {

int n = 100; // 等差数列中的最后一项

int a1 = 1; // 等差数列中的第一项

int d = 1; // 公差

int sum = (a1 + n) n / 2; // 使用等差数列求和公式计算和

std::cout << "从 1 加到 100 的和为:" << sum << std::endl;

return 0;

}

```

这个程序使用了等差数列求和公式来计算从 1 加到 100 的和:$S_n = \dfrac{(a_1 + a_n)n}{2}$,其中 $S_n$ 表示前 $n$ 项的和,$a_1$ 表示等差数列中的第一项,$a_n$ 表示等差数列中的最后一项,$n$ 表示等差数列中的项数。因为从 1 加到 100 的等差数列中,第一项 $a_1=1$,最后一项 $a_{100}=100$,项数 $n=100$,公差 $d=1$,因此可以直接套用该公式计算出总和。

注意,在 C++ 中,除法运算 `/` 默认会对整数进行截断,因此在计算和时需要将分子或分母至少转换成浮点数类型,避免结果被截断。在上面的代码中,分子 `(a1 + n)` 和分母 `2` 都是整数型变量,但相乘之后会自动转换成浮点数类型,从而得到正确的结果。

1、首先把头文件,main函数写好#include<stdioh>  main(),如下图所示。

2、之后需要定义几个变量,一个存放和,一个从1开始到100,如下图所示。

3、之后书写for循环,首先给i赋值为1,其中如果要求200以内和把数字100改为200即可。

4、然后写for循环里面的内容,sum=sum+i;把每个i的值加到sum里面。

5、最后进行输出,编写输出语句把它输出出来,sum为整形,故用%d,如下图所示就完成了。

#include "stdafxh"

#include <string>

#include <iostream>

int main(int argc, char argv[])

{

double c=0;

for(int i =1;i<argc;i++)

{

c+=atof(argv[i]);

}

std::cout<<c;

return 0;

}

解答完毕!给我分哦。

以上就是关于求一个Fortran 两个txt文件里的数据相加的程序全部的内容,包括:求一个Fortran 两个txt文件里的数据相加的程序、求用汇编语言编写一个实现任意两个五位数相加的程序、c语言1到10奇数相加的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10081787.html

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

发表评论

登录后才能评论

评论列表(0条)

保存