程序设计中++i与i++分别占中是什么意思思

程序设计题 找出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例_百度知道
程序设计题 找出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例
程序设计题
找出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
请编写程序,找出所有满足上述条件的数,将所有满足条件的数依次按格式&%d\n&写入考生文件夹下的sj540.c文件中。要求每行存放一个数。*注:最终以sj540.c为名保存。
提问者采纳
水仙花数:#include&stdio.h&void main(){
int a,b,c,i;
for(i=100;i&=999;i++)
a=i/100,b=i%100/10,c=i%100%10;/*求出水仙花数每位的数值*/
if((a*a*a+b*b*b+c*c*c)==i)
printf(&%d,%d,%d\n&,a,b,c);
其他类似问题
按默认排序
其他1条回答
#include&stdio.h&int main(){
int n,g,s,b,i;
for(i=100;i&=999;i++)
水仙花数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁这个单片机c程序里的主函数里面的num+i是个什么意思,前面并没有赋初值,这样是干嘛用的?_百度知道
这个单片机c程序里的主函数里面的num+i是个什么意思,前面并没有赋初值,这样是干嘛用的?
#include&reg52.h& #define DataPort P0 sbit LATCH1=P2^2;//定义锁存使能端口 段锁存sbit LATCH2=P2^3;//
位锁存unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~Funsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码void Delay(unsigned int t); //函数声明/*------------------------------------------------
主函数------------------------------------------------*/main(){ unsigned char i=0, while(1)
DataPort=dofly_WeiMa[i]; //取位码
//位锁存
DataPort=dofly_DuanMa[num+i]; //取显示数据,段码
//段锁存
Delay(200); // 扫描间隙延时,时间太长会闪烁,太短会造成重影
//检测8位扫描完全结束?如扫描完成则从第一个开始再次扫描8位
if(j==500)
//检测当前数值显示了一小段时间后,需要显示的数值加1,实现数据显示的变化
if(num==9)
}}/*------------------------------------------------ 延时函数,含有输入参数 unsigned int t,无返回值 unsigned int 是定义无符号整形变量,其值的范围是 0~65535------------------------------------------------*/void Delay(unsigned int t){ while(--t);}
提问者采纳
unsigned char i=0;定义的时候赋了初值,之后的i,num都有改变,就是显示段码值(dofly_DuanMa数组里的)
num不是开始没初值吗,后面怎么就用上了,没初值的时候num里面不是随机数吗,那第一次去dofly_DuanMa这个数组的元素的时候不就可能出错了啊?
确实没赋num的初值,一般情况会默认为0,正常情况还是赋初值好
提问者评价
原来是这样,感谢!
其他类似问题
就是取dofly_DuanMa数组的第num+i个元素,这里没赋值什么事,当然如果你愿意多加一个变量,比如c=num+i;DataPort=dofly_DuanMa[c];这样也是可以的,只是没什么必要。
i只能到7,后来dofly_DuanMa的第八个值是怎么取到的,要是不给num赋初值,那么num里面不就是随机数啊,那不是会出问题的啊
i只到7没错,但是下面的num++;中的num会从0到8变化呀,这样num+i范围就在0-15之间,至于num没有初始值确实是个问题,在不同语言中规定会有区别,一般建议应该在使用前赋值的。
按默认排序
其他2条回答
看到这句了吗unsigned char code dofly_DuanMa[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};// 显示段码值0~F num=0时,数码管显示0x3f所表示的数字,也就是0若i=1
,数码管显示0x06表示的数字,也就是1以此类推其实是个数组问题,若有疑问,可查查数组哦
可是num没有赋初值,里面不是随机的什么数啊,再说i最高取到7,dofly_DuanMa这个数组的第8——15位的元素都是怎么取出来的啊
没有赋初值的数,默认初值为0刚才说错num最大到8i最大到7num+i最大到15
由于这个是unsigned char 所以 最大也就是255,单片机的话ram也有那么几K 所以影响不大!但是这种写法绝对是不允许的!这个代码怎么说呢~!建议你不用看了!写代码的人编程习惯不好!记住一点吧!特别是单片机编程! 对变量初始化特别特别重要!因为对于单片机来说,基本上所有代码都不能够进行vs
vc等单步调试,基本都是直接看现象来调试!如果没有一个好的编程习惯,调试的时候你会遇到各种让你奔溃的问题!比如说这个题,如果他代码时用来做一些直接控制的东西,如果没有初始化!那么你会发现你控制的东东会出现你根本想不到的错误!...额 说的有点多!只是把我以前写单片机程序时经验说一下!因为我当时就是因为这个错误差点疯了!还有就是不管上层软件还是底层软件,都必须对变量初始化!这是个好的习惯!
主函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁算法与程序设计中For i = 1 To 3 是什么意思?_百度知道
算法与程序设计中For i = 1 To 3 是什么意思?
有如下程序段
e = 0: f = 1
For i = 1 To 3
Next I该程序段运行后,f的值为_?当中的“:”
和For i = 1 To 3
是什么意思?
我有更好的答案
按默认排序
从你这段程序来看就是要执行三次.&:&这个是用来分隔E和F的值的.如果没这个程序就会认为E=0F=1这样就是错的执行不了.在实际运用中也可以E和F换行写
其他类似问题
程序设计的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁51单片机。4*4矩阵键盘程序,帮我看下if((key1+1)&&(key+1))这条语句是什么意思和在程序的作用_百度知道
51单片机。4*4矩阵键盘程序,帮我看下if((key1+1)&&(key+1))这条语句是什么意思和在程序的作用
#include&reg51.h&#define uchar unsigned charint key1,key,// 此表为 LED 的字模
e funsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};void delay(uchar z){ uchar i,j;
for(i=0;i&120;i++)
for(j=0;j&z;j++); }void scan()
//要是按键了,扫描键盘编码值{ P0=0xF0; delay(1); temp=P0; switch(temp) { case 0xe0: key1=0; case 0xd0: key1=1; case 0xb0: key1=2; case 0x70: key1=3; } P0=0x0f; delay(1); temp=P0; switch(temp) { case 0x0E: key=key1+0; case 0x0D: key=key1+4; case 0x0B: key=key1+8; case 0x07: key=key1+12; default : key=-1; } if((key1+1)&&(key+1)) disbuf=}void ejjc()
//判断是否按键{P0=0xF0;if(P0!=0xF0)scan();}void main(){while(1){ejjc();P3=LED7Code[disbuf];delay(200);}}
提问者采纳
你这是4*4键盘扫描。key和key1分别对应行和列。如果(key+1 && key1+1) 为真的话,则说明有按键按下。为什么要+1呢?这和你设定的键盘扫描编码有关。如果没有按键,则二者至少有一个为-1,表达式(key+1 && key1+1)为假,反之则为真。
提问者评价
其他类似问题
按默认排序
其他1条回答
这句话没有任何意义,始终为“真”,如果前一个扫描switch(temp)循环中有 default : key1=-1;的话,那么这句就是“判断如果有有效键值的话,存入disbuf中”
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 apec是什么意思 的文章

 

随机推荐