① 输入八个数,求偶数和奇数的个数,并求偶数的平均值,奇数的平均值(c语言编程)
#include<stdio.h>
intmain()
{
inta;
intc=0;
intb=0;
doublee=0.0;
doubled=0.0;
printf("请输入整数(输入0表示输入结束,数与数之间用空格隔开):");
scanf("%d",&a);
while(a!=0){
if(a%2==1)
{
++b;
d+=a;
}
else
{
++c;
e+=a;
}
scanf("%d",&a);
}
printf("奇数的个数:%d 偶数的个数:%d ",b,c);
printf("奇数平均值%lf ",d/b);//奇数的和除奇数的个数
printf("偶数平均值%lf ",e/c);//偶数的和除偶数的个数
getche();
return0;
}
② 单片机编程:8个无符号数的平均值
8无符号数存放内部RAM20H开始8单元结保存R2
程序下:
MOV
R0,
#20H
MOV
R1,
#8
MOV
R2,
#0
MOV
R3,
#0
LOOP:
MOV
A,
@R0
ADD
A,
R3
MOV
R3,
A
JNC
QQQ
INC
R2
QQQ:
DJNZ
R1,
LOOP
;
ANL
A,
#0F8H
ADD
A,
R2
RL
A
SWAP
A
MOV
R2,
A
;
SJMP
$
END
----------------------
内部RAMLIST单元开始存有组单字节带符号数数据长度30要求找出大数存入BIG单元
程序下:
MOV
BIG,
#0
MOV
R0,
#LIST
MOV
R2,
#30
CHA:
MOV
A,
@R0
CJNE
A,
BIG,
QQQ
QQQ:
JC
WWW
MOV
BIG,
A
WWW:
INC
R0
DJNZ
R2,
CHA
SJMP
$
END
;完
③ 单片机编程: 求8个无符号数的平均值,这8个无符号数存放在内部RAM以20H开始的8个单元中,结
;启动入口========================
ORG 0000H ;复位启动
AJMP START ;
;主程序==========================
START: MOV R0,#20H ;数据开始地址
MOV R2,#0 ;清零结果低字节
MOV R3,#0 ;清零结果高字节
MOV B,#8 ;数据个数
;
LOOP1: MOV A,@R0 ;取得一个数据
ADD A,R2 ;相加
MOV R2,A ;存回
;
MOV A,R3 ;高位和
ADDC A,#0 ;
MOV R3,A ;存回
INC R0 ;指向下一单元
DJNZ B,LOOP1 ;加完所有数据
;
MOV B,#3 ;准备除8
LOOP2: MOV A,R3 ;高位和
CLR C ;
RRC A ;CY→D7→...→D0→CY
MOV R3,A ;存回
MOV A,R2 ;低位和
RRC A ;CY→D7→...→D0→CY
MOV R2,A ;存回
DJNZ B,LOOP2 ;右移3次,平均值结果在R2中
END ;结束
④ 怎么用c语言计算平均数
1、新建一个求数组内所有元素的平均值项目。
⑤ 用51单片机对N个数取平均值的程序
楼上的说的是,不过提醒你一点,注意变量范围,比如说unsigned char 只有8位的最大只有256