中易网

C语言解释~~~

答案:2  悬赏:30  
解决时间 2021-01-09 07:59
C语言解释~~~
最佳答案
首先是预处理,#define F (t<=n && t*2>=n),也就是把后面这一个表达式起了一个别名,叫做F,可以理解为F 等于(t<=n && t*2>=n), 然后进入主函数,定义了三个整型变量,

然后是while循环,循环括号里面是一个从键盘输入字符的语句,这句话的意思就是,如果你输入的字符不大于0或者为空的时候,则停止这个while循环,现在假设输入一个4,则现在n = 4,进入这个while循环,对m 和t 进行初始化, 然后是while(!F),这句话也就相当于 while(!(t<=n && t*2>=n)),就是在括号内的表达式算出值之后取反,现在已知n = 4,则 括号内((1 <=4) && (1*2 >=4))第一个式子成立,第二个式子不成立,因为是与关系,所以式子不成立,值为0,然后取反之后是 1,则执行 while循环里面的语句,然后t = t *2 = 1*2= 2; m ++ = 1; 再进行while(!F)的循环,一直到不成立为止,最后打印这个数
全部回答
#include
#define F(t<=n && t*2>=n)       //定义F,如果满足t<=n且2*t>=n,F的值就为1否则就为0
void main()

    int m,t,n;
    while(scanf("%d",&n),n>0)    //从键盘输入参数n,n>0就进入执行while循环里的操作, 输入0或者小于0的数就退出循环  
    {
        m=0;t=1;    
        while(!F)    //!F等价于F==0也就是当t>n或者2*t        {
          t=t*2;    //将2*t的值赋给t,再判断满不满足F的条件,满足时就退出循环,不满足就继续执行,知道满足为止
          m++;    //记录循环的次数
        }
    printf("%d  %d ",n,m);    //输出n,m的值
  }
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汽车门里面可以开外面开不了怎么办
配电母线连接处镀锡么?
求赏析 【人不是因为幸福才笑,而是因为笑才
下面那相是在一个小区外面那条双向八车道的大
两轮电动车的电瓶是用超威的好还是天能的好?
东莞最大的小商品批发市场是什么地方???
宝宝佩戴蜜蜡有什么好处
实习生总结自己在开展“文明礼仪伴我行”主题
最近自学日语,问某人现在在哪里,除了用“今
有一首英文歌开头是ilike
时代拉丁舞地址好找么,我有些事要过去
诗句"守得云开见月明"原作者是谁及全诗是什么
AmoDanceStudio地址在什么地方,我要处理点事
饿了没有饭,木目下是心,太阳变一字,人尔不
刘怀寨村怎么去啊,有事要去办理
推荐资讯
停车场(鹏渤·新加坡花园东)地址好找么,
庞涓恐其贤于己 疾之是什么句式?
诚信保洁(园艺路23号附近诚信保洁)地址在哪,
团埠村地址好找么,我有些事要过去
EVE卫星矿
(90-5x)x7=35用方程解答。
女人说你都快成我男闰蜜了什么意思
在干嘛?用闽南话怎么说?
智慧沃家q5网络机顶盒故障代码2000
ps的图像处理,想让底和物品看上去一样颜色
Win10镜像重装提示计算机意外的重启或遇到错
玄学里的“地丧”是什么意思?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?