fortran程序问题:k=1 DO 10 I=1,2 DO 10 J=1,2 10 K=K*I/J WRITE(*,*
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/15 19:49:11
fortran程序问题:k=1 DO 10 I=1,2 DO 10 J=1,2 10 K=K*I/J WRITE(*,*)K END 的结果为什么是0?
第一次:K=1
K=K*I/J
其中I = 1 , J=1
所以 K = 1*1/1 = 1
第二次
K=K*I/J
其中I = 1 , J=2
所以 K = 1*1/2 = 0
以后 K 乘任何数都是 0,所以最终结果是 0
请注意:1/2 = 0 因为 1 和 2 都是整数,除了以后还是整数,0.5 转换成整数就是取整,即为 0
如果你要实现你的期望.应当把 K 定义为实数,即:
Real K
并且把
K=K*I/J
改为
K=K * I * ( 1.0 / J )
K=K*I/J
其中I = 1 , J=1
所以 K = 1*1/1 = 1
第二次
K=K*I/J
其中I = 1 , J=2
所以 K = 1*1/2 = 0
以后 K 乘任何数都是 0,所以最终结果是 0
请注意:1/2 = 0 因为 1 和 2 都是整数,除了以后还是整数,0.5 转换成整数就是取整,即为 0
如果你要实现你的期望.应当把 K 定义为实数,即:
Real K
并且把
K=K*I/J
改为
K=K * I * ( 1.0 / J )
int i=2,j=1,k=3 i&&(i+j)&k|i+j
第一题K=0DO 10 I=1,2DO 10 J=1,210 K=K+I/JWRITE(*,*)KEND第二题K=0DO
write(*,*) (' ',J=1,5-I),('@',k=1,
解析下列程序运算过程main(){ int i=1,j=2,k=3; if(i++==j)&&k--==j) print
main() {int k=1,j=1; do{k+=(j-1)*j; if(j>4)break; else k+=2*
英语翻译begin k:=100; 10:if k>i+j thenbegin k:=k-1;goto 10;end e
水仙花数C语言程序#includevoid main(){ int i,j,k,n; n=i*100+j*10+k; f
设有int i,j,k; 则表达式i=1,j=2,k=3,i&&j&k 的值为1,
main( ) {int i=1,j=4,k=7 do {if(i%j==0) if(i%k==0) {printf("
main( ) { int i=1,j=4,k=7; do {if(i%j==0) if(i%k==0) {printf
{ int i,j,k; for(i=4;i>0;i--) { j=5; k=i+j; if((k%4=1)||(k%4
#include ; main( ) {int i,j,k,s; i=0,j=10,k=2,s=0; for(; ;)