程序如下:
MOV R0,#21H ;起始地址
MOV MAX,#0 ;先用0当做最大值
MOV R2,#20H ;数据长度
LOOP:
MOV A,@R0;取来一个数据
CLR C
SUBB A,MAX;减“最大值”
JC rel1 ;不够减就算了
MOV A,@R0;够减,就把这个数据
MOV MAX,A;当做最大值
rel1:
INC R0 ;转向下一个
DJNZ R2,LOOP ;循环
SJMP $ ;结束
END
定义一个变量,用来存最大值的,默认值为0,这里就用“max”变量,再将5个数,存在一个集合(这里用arr[5])里面,for循环,循环这个集合的每个值,循环体内用如下代码
if(max<arr[i]){max = arr[i];
}
最后只要把max输出来,就是最大值了
这是根据楼上人改的,就是实现了互动性
#include <stdioh>
#include <stringh>
int max(int num[],int arraySize)/求最大值的函数/
{
int maxNum=num[0];
for (int i=1;i<arraySize;i++)
if(maxNum<num[i])
{
maxNum=num[i];
}
return maxNum;
}
int min(int num[],int arraySize)/求最小值的函数/
{
int minNum=num[0];
for (int i=1;i<arraySize;i++)
if(minNum>num[i])
{
minNum=num[i];
}
return minNum;
}
void main()/主函数/
{
int array[10];
int arraySize=10;
printf("please info ten different numbers:\n");
for(int i=0;i<arraySize;i++)
scanf("%d",&array[i]);
printf("\n");
printf("In array the maxNum is :%d\n" ,max(array,arraySize)); //输出最大值
printf("In array the minNum is :%d\n" ,min(array,arraySize)); //输出最小值
}
以上就是关于求单片机编程找最大数全部的内容,包括:求单片机编程找最大数、依次输入五个数,将其中最大的数输出的C 语言程序、c程序设计 从10个数中取最大数及最小数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)