汇编模拟器一(单一语句简单寄存器)
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
设计程序,读入寄存器的初始值和寄存器操作语句mov,实现简单的寄存器k0、k1、k2、k3数据赋值。
语句:
mov k1 k2 解释:把k2的值赋给k1。
输入:
首先输入四个寄存器的数值,中间用空格隔开,然后输入mov语句。
输出:
输出赋值后所有寄存器的值,每个数据占一行。
输入样例:
1 2 3 4 mov k2 k3
输出样例:
1 2 4 4
我的思路是定义两个数组,一个整型数组,用来存放数字;另一个字符型数组,用来存放字符串。但在编程过程中出现了无法输入 字符串的情况,这是因为输入数字后有一 个回车,遇到回车则输入停止。所以需要想办法将回车当作变量存入,这就用到了getchar().getchar()函数从终端读入一个字符作为函数值,在输入里,空格、回车都将作为字符读入。
#include<stdio.h> int main() { int a,b,i,k[4]; char m[9]; for(i=0;i<4;i++) { scanf("%d",&k[i]); } getchar(); //用来存放回车 gets(m); a=m[5]-'0'; b=m[8]-'0'; k[a]=k[b]; for(i=0;i<4;i++) { printf("%d\n",k[i]); } }