编程~~~~~~~求助!!!!!!

试编程实现:
(1)AL寄存器的低4位清零;
(2)BL寄存器的低4位置1;
(3)CL寄存器的低4位取反;
(4)测试DL寄存器的最低2位是否为0,若是,则将0送入AL寄存器;否则将1送AL寄存器。(课本:微型计算机原理与接口技术(人民出版社,史新福主编))

#include <stdio.h>

#define MAX 5/*宏定义5个学生*/

void main(void)
{
int i, j;
float temp;/*交换变量*/
float sumDB = 0;
float sumOS = 0;
float sumMIS = 0;/*以上三项必须初始化为0,后面要进行累加运算*/
float DB[MAX] = ;
float OS[MAX] = ;
float MIS[MAX] = ;
float sum[MAX] = ;

printf("\n请输入学生成绩:\n\n");

for (i=0; i<MAX; i++)
{
printf("No. %d : ", i+1);
scanf("%f%f%f", &DB[i], &OS[i], &MIS[i]);

sumDB += DB[i];
sumOS += OS[i];
sumMIS += MIS[i];/*统计三门课的总分*/

sum[i] = DB[i] + OS[i] + MIS[i];/*统计每个学生的总分*/
}

for (i=0; i<MAX; i++)
{
for (j=i+1; j<MAX; j++)
{
if (sum[i] < sum[j])
{
temp = DB[i];
DB[i] = DB[j];
DB[j] = temp;

temp = OS[i];
OS[i] = OS[j];
OS[j] = temp;

temp = MIS[i];
MIS[i] = MIS[j];
MIS[j] = temp;/*交换三门课的成绩*/

temp = sum[i];
sum[i] = sum[j];
sum[j] = temp;/*交换总分*/
}
}
}

printf("\n");

printf("DB AVG : %5.2f DB SUM : %5.2f\n", sumDB/MAX, sumDB);
printf("OS AVG : %5.2f OS SUM : %5.2f\n", sumOS/MAX, sumOS);
printf("MIS AVG : %5.2f MIS SUM : %5.2f\n", sumMIS/MAX, sumMIS);/*打印各科平均分和总分*/

printf("\n");

for (i=0; i<MAX; i++)
{
printf("DB : %5.2f OS : %5.2f MIS : %5.2f AVG : %5.2f SUM : %5.2f\n", DB[i], OS[i], MIS[i], sum[i]/3, sum[i]);
}/*打印每个学生的三门课成绩、平均分、总分*/

printf("\n");

return;
}

如果对你有所帮助,请记得采纳最佳,谢谢!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-22
AL寄存器的低4位清零: AND AL,0F
BL寄存器的低4位置1:OR BL,1F
CL寄存器的低4位取反:XOR CL,1
测试DL寄存器的最低2位是否为0,若是,则将0送入AL寄存器;否则将1送AL寄存器: TEST DL,1100F MOV AL,0本回答被提问者和网友采纳
第2个回答  2019-04-30
先由C学起吧..学好基础的话什么的语言都一样的.程序员大部分都是从C学起的.加油咯
第3个回答  2019-12-06

C语言编程求助!!!求高手帮忙!感激不尽!
include"string.h"int main(){ int i,s = 0; \/*请修改此处:int和i间有空格; 计算的和值s首先要清零 *\/ char str[80];i=0;while ((str[i]=getchar())!='\\n')i++;str[i]='\\0';for(i=0;i<80;i++)if (str[i]>='0' && str[i]<='9') \/*请修改此处:应该是...

C语言编程菜鸟求助,谢谢
第一,你第六行少个分号,第二,对于身高你定义的量前后不一致,前头用的hight,后头就成了high,(其实那个单词是height),应该前后一致。修改如下:main(){ int age;float hight;char name1[50],name2[50];printf("请输入你的年龄 \\n");scanf(" %d",&age);printf("请输入你的身高\\n");sca...

Python编程题求助
该答案为组合数学中著名的卡特兰数,其通式为C(2n,n)-C(2n,n-1)这里采用递推关系求解,即动态规划的方法 设n对父子有d[n]种出场策略,注意初值d[0]=1 因为每个孩子前面必有一个父亲与之对应 对于i对父子,遍历第j个孩子,该孩子前面有j-1个孩子,对应d[j-1]种出场策略 后面有i-j个孩子...

Javaweb编程技术作业求助,谢谢
1、定义JavaBean类 定义一个与表相对应的JavaBean类,该类中需要包含对应表的字段,并使用getters和setters方法来访问这些字段。例如:public class User { private int id;private String name;private String email;\/\/ Getters and setters for the fields public int getId() { return id;} public ...

Python编程题!求助!
import datetime def find_date(t):lis = []while True:n = int(input("请输入 n(2<=n<=8):"))if n <= 8 and n >= 2:break d = datetime.datetime.now()while t > 0:if len(set(d.strftime('%Y-%m-%d'))) == n + 1:lis.append(d.strftime('%Y-%m-%d'))t -= ...

求助编程大神!!matlab
1、创建自定义极小值函数,其主要代码 if pc*pf>1024 %判断pc*pf是否小于等于1024 f1=inf;else f1=c\/pc*f\/pf;end 2、使用for循环语句,分别将c和f值赋值给自定义函数for i=1:5c=c0(i);f=f0(i);。。。end 3、使用ga函数求其pc和pf值,即A=[];b=[];Aeq=[];beq=[];lb=[0...

java编程题,求助
1,abstract修饰类会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。2,abstract修饰方法会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以”;”代替。需要...

matlab 编程题,求助!
matlab自带erf函数,因此只要一句话就可以完成了,当x已知的情况下,程序如下:

Java 编程问题 求助!
程序用User类封装了用户信息,符合OO思想,代码如下,经过Eclipse测试通过:import java.util.Scanner;public class User { private String fullName;private int age;private String nationality;public String getFullName() { return fullName;} public void setFullName(String fullName) { this.full...

求助求助~~C++编程。随意输入一个正整数N,计算从1~N之间0、1、2、3...
\/\/如果n=13,1出现的次数只有6次吧:1 10 11 12 13 include <iostream> using namespace std;int main(){ int i,n,num,a[10]={0};\/\/定义变量,初始化数组a为零 cin>>n;for (i=1;i<=n;i++){ num=i;while (num) \/\/统计0..9数字出现的次数 { a[num%10]++;num\/=10;} ...

相似回答