
三种循环一般可以相互转换的,但是根据不同的问题,解决办法的难易程度不一样
do{}while()
先执行do里面的,然后判断while的表达式条件,如果判断为真,就继续执行do里面的,
如果为假,就退出循环
while(){}
这个是先判断while表达式的条件,然后执行里面的循环体
for(1;2;3){}
这个是先执行1,然后执行判断表达式2,如果为真,执行3;再执行判断表达式2,如果为假,就退出循环
如果谢谢
用fortran写,包含输出语句,5行代码。
do i=0,49
m=m+(2i+1)(-1)mod(i,2)
end do
write(,) m
end
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -------------------------------------
; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
; 入口:AX=二进制数
; 出口:在当前光标位置显示转换后的ASCII码数字
Dec_ASCII Proc Near
push dx
push bx
push di
mov bx,10
lea di,@@Temp_Save[6]
mov byte ptr [di],'$'
dec di
cld
@@Divide: xor dx,dx
div bx
or dl,30h
mov [di],dl
dec di
test ax,0ffffh
jnz @@Divide
inc di
push di
pop dx
mov ah,9
int 21h
pop di
pop bx
pop dx
ret
@@Temp_Save db 7 dup()
Dec_ASCII EndP
; -------------------------------------
Start: push cs
pop ds
lea bx,Exit_Proc ;取标号Exit_Proc地址
shr bx,1 ;除以2
mov bx,[bx] ;取指定位置的字数据
mov cx,16 ;字数据,16位
xor ax,ax ;计数器置0,准备计数
clc ;进位标志位复位
@@Counting: shl bx,1 ;左移1位
jnc $+3 ;没有进位,下次循环
inc ax ;有进位,计数
loop @@Counting
call Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
float s; //每个人工资
float t=0; //工资总和
int n=0; //人数
scanf("%f", &s);
if(s != -1)
{ do
{t = t+s;
n++;
scanf("%f", &s);
}while(s!= -1);
printf("%f", t/n);
}
以上就是关于大一新生的C语言问题,第12题,循环结构程序设计用for或while或do while全部的内容,包括:大一新生的C语言问题,第12题,循环结构程序设计用for或while或do while、设计循环结构程序,计算并输出1-3+5-7+9-11…+97-99 。大学计算机基础里的题目、循环结构设计(汇编语言)编写一个程序,记录某个字存储单元格数据中1的个数,以十进制形式显示结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)