记录我的C语言练习

前言:

大一软件工程的女学生一枚,在师父的督促和引导下,开始复习巩固C语言知识。害,大家一起共勉吧,我一开始本想用word记录的,可是在写程序上面一点也不方便。所以这是我第一次使用Markdown,感觉还挺不错的,慢慢探索更多功能~

第一题

题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

我的思路:
输入: 1、2、3、4
输出:三位数字
要求:不相同不重复
运用:主要运用循环的知识,还有数字之间相互独立的不重复的条件语句。

我的过程:

#include<stdio.h>
void main()
{int a,b,c;
for(a=1;a<5;a++)
for(b=1;b<5;b++)
for(c=1;c<5;c++)
 {
 if(a!=b&&a!=c&&b!=c)  /*我一开始写的 if(a!=b!=c)*/
 printf("%d%d%d\n",a,b,c);
 }
}

运行结果
在这里插入图片描述
总结:

在做这题的时候,我犯了两个错误:
1、混淆了逻辑表达式的概念。
2、if的条件表达式的定义运用不清晰。

首先,我在编写时忘记使用逻辑表达式来表达“不重复不相同的概念”,普通运算式(if(a!=b!=c),if(a!=b,a!=c,b!=c))无法做到。其次,if的条件表达式是一个式子,当条件为真就执行语句,并且条件只有一个,若有多个条件,只会选择满足第一个条件。

C保证逻辑表达式的求值顺序是从左往右。&&和||运算符都是序列点,所以程序在从一个运算符对象执行到下一个运算对象之前,所有的副作用都会生效。而且,C保证一旦发现某个元素让整个表达式无效,便立即停止求值。
——《C Primer Plus》(第6版) P192

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北山雪初

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值