编程编数字
❶ 汇编语言编程,将其中的数字按奇数偶数分开怎么编
DATA SEGMENT
ARM DB 1,2,3,4,5,6,7,8,9,10,11
COUNT EQU $-ARM
QISHU DB COUNT DUP(?) ;这里预留11个字节单元存放奇数
OUSHU DB COUNT DUP(?) ;预留11个字节单元存放偶数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET QISHU ;QISHU首地址的偏移量存入BX
MOV DI,OFFSET OUSHU ;OUSHU首地址的偏移量存入DI
MOV SI,OFFSET ARM ;要处理的数组ARM首地址的偏移量存入SI
MOV CL,COUNT ;设置循环次数
LOP: MOV AL,[SI] ;循环体
INC SI
TEST AL,01H ;测试字节数的最低位是否为1。如果为1,则该数为奇数;
JZ LOP1 ;如果为0,则该数为偶数
MOV [BX],AL ;奇数依此存入QISHU中
INC BX
JMP LOP2
LOP1: MOV [DI],AL ;偶数依此存入OUSHU中
INC DI
LOP2: LOOP LOP
MOV AH,4CH
INT 21H
CODE ENDS
END START
❷ c语言编程:编写程序把由0、1、2、3四个数字组成的所有偶数输出到屏幕上
C语言程序:
#include<stdio.h>
voidmain()
{
inta,b,c,d;
for(a=1;a<=3;a++)
{
for(b=0;b<=3;b++)
{
if(a!=b)
{
for(c=0;c<=3;c++)
{
if(c!=a&&c!=b)
{
for(d=0;d<=2;d++)
{
if(d!=1&&d!=a&&d!=b&&d!=c)
{
printf("%d%d%d%d ",a,b,c,d);
}
}
}
}
}
}
}
}
运行结果:
1032
1230
1302
1320
2130
2310
3012
3102
3120
3210
❸ 如何数字编程
假设输入的整数放到变量x中,则语句x/10%10即是十位上的数字,代码如下: #include int main(void){ int x; printf("输入一个整数:"); scanf("%d",&x); printf("%d的十位上的数字是:%d\n",x,x/10%10); return 0;}
❹ C语言编程! 编写程序,计算输入的数字、字母和其他字符的个数。
在ascII表中键盘可输入字符是连续的,不包括空格是从33到126,所以可以定义一个128的数组,做个简单hash,输入的字符作hash
key。实现如下:
#include
<stdio.h>
int
main()
{
char
a[1024]
=
{0};
/*接收输入的字符,由于gets不检查长度,所以弄大点*/
int
hash_tbl[128]
=
{0};/*hash
表*/
int
i;
printf("Please
input
string:\
");
gets(a);/*从标准输入读字符*/
for(i=0;
a[i]!='\\0';
i++)
{
hash_tbl[(int)a[i]]++;/*计算输入字符的个数*/
}
/*打印非零字符的个数*/
for(i=33;
i<126;
i++)
{
if
(hash_tbl[i]>0)
{
printf("%c
num
is:
%d\
",
i,
hash_tbl[i]);
}
}
return
0;
}
❺ C语言编程 有一组数字 1 3 5 7 9 11 13 15 17 19 输入一个数字,将其按大小插入其中
#include"stdio.h"
intmain(void){
inta[11]={1,3,5,7,9,11,13,15,17,19},i,n;
printf("Inputn(int)... n=");
scanf("%d",&n);
for(i=9;i>=0;i--){
if(n>=a[i]){
a[i+1]=n;
break;
}
a[i+1]=a[i];
}
if(i<0)a[0]=n;
for(i=0;i<11;printf("%d",a[i++]));//Lookat...
printf(" ");
return0;
}
❻ 你好,请问在做单片机编程时,我要编数码管显示0到16,怎么知道要编出数字1时需要的是0x多少
单片机教程上都有,只管抄过来就行,共阳和共阴的相反。如果自己推算也可以,弄清ABCDEFG DP对应数码管的哪一段,然后亮者为1,不亮者为0,写出各种显示数字的二进制数,再化成十六进制即可。例如显示0,ABCDEF亮,H段和小数点不亮,对于共阴数码管,亮的那一段是1,小数点接高位,A接低位,那么二进制数是00 11 1111,化化成十六进制是0x3f。
❼ 何为数字编程
估计你说的是fpga或者是cpld吧
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 ——2)FPGA可做其它全定制或半定制ASIC电路的中试样片。
3)FPGA内部有丰富的触发器和I/O引脚。
4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。
❽ 求编程输出如下数字图案的代码
按照你的要求编写的输出数字图案的Java程序如下
public class M{
public static void main(String[] args) {
int i,j,k,index,count=1,N=5;
int arr[][]=new int[N][N];
for(index=1;index<=N;index++){
i=0;
j=index-1;
for(k=1;k<=index;k++){
arr[j][i]=count++;
i++;
j--;
}
}
for(i=0;i<N;i++){
for (j=0;j<N-i;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}
}
❾ 汇编语言编程将其中的数字按奇数偶数分开怎么编
#中
()
{
int
i,p,y
=
0,x
=
0时,奇[10],甚至[10]
输出(“请输入一个数字”);
scanf的(“%d的”,&i);
而(%10
=
0)
{
p
=
i%
10;
=
i/10;
(p%2
==
0)
奇[+
+]
=
p;
否则即使[y
+
+]
=
p;
}
(x
=
0)
printf的(“该号码不含有奇数号\
n”);
其他
{
/
(r
=
0,r
<=
x-1,r
+
+)
printf的(“这个数字包含奇数为%d
\
n”,奇[r]);
}
br
/>
(y
==
0)
printf的(“这个数字不包含偶数号\
n”);
其他
{
(
int
m
=
0,m
=
y-1,m
+
+)
printf的(“%d
\
n”这个数字包含了就算了,甚至[m]);
}
}
这样的代码,我已经完成了我的测试,没有问题。
❿ c语言编程 编一个猜数字游戏
源码如下:
/*File:guess.c*/
#include<stdio.h>/*standardinput&outputsupport*/
#include<stdlib.h>/*srand()rand()*/
#include<time.h>/*time()*/
/*宏定义*/
#defineNUMBER_LENGTH5/*随机数长度*/
#defineNUMBER_LIMIT10/*随机数限制,每一位0-9*/
#defineINPUT_LENTH128/*输入缓冲区大小*/
chargoal[NUMBER_LENGTH]={0};/*保存随机数*/
charflag[NUMBER_LIMIT]={0};/*保存随机数标志,保证不重复*/
charinput[INPUT_LENTH]={0};/*保存输入*/
/*初始化用于保存数据的数组*/
voidinitData()
{
inti=0;
while(i<NUMBER_LENGTH)
goal[i++]=0;
i=0;
while(i<NUMBER_LIMIT)
{
flag[i++]=0;
}
}
/*初始化用于保存缓冲区的数组*/
voidinitBuffer()
{
inti=0;
while(i<INPUT_LENTH)
input[i++]=0;
}
/*显示猜测结果*/
voiddisplay()
{
intcount=0;
inti=0;
while(i<NUMBER_LENGTH)
{
if(input[i]==goal[i])
{
printf("%c",'o');
count++;
}
else
{
printf("%c",'x');
}
i++;
}
printf(" RIGHT:%dbit(s) ",count);
if(count==NUMBER_LENGTH)
{
printf("Youwin!Thenumberis%s. ",goal);
exit(0);
}
}
/*生成随机数*/
voidgeneral()
{
/*以时间作为时间种子保证生成的随机数真正具有随机性质*/
srand((unsignedint)time(NULL));
inti=0;
while(i<NUMBER_LENGTH)
{
chartmp;
do
{
tmp='0'+((i!=0)?(rand()%10):(1+rand()%9));
}while(flag[tmp]!=0);
flag[tmp]=1;
goal[i++]=tmp;
}
}
/*输入方法,用于猜测*/
voidguess()
{
printf(": ");
scanf("%s",input);
display();
initBuffer();
}
/*主函数,程序主框架*/
intmain(intargc,constchar*argv[])
{
initData();
initBuffer();
general();
while(1)guess();
return0;
}
==============================================
运行结果见附图,希望我的回答能够对你有所帮助。