OK,先审题,我们最后要输出的那些数是需要满足两个条件的,第一个条件是,这个数不是3的倍数,第二个条件是这个数是偶数。也就是这样的数需要同时满足这两个条件的时候才把这个数输出。

不是3的倍数这个条件在c语言中怎么表达出来呢?  先想一下它的反面,如果一个数是3的倍数改怎么表达,那么它的反面就OK了,num%3==0,表示num这个数是3的倍数,那么不是3的倍数就是 !(num%3)==0

偶数的条件是num%2==0这个就没什么好说的了。

OK,还是从结果出发,最后我们肯定是要输出这些数的,所以一定会有一句

printf("%d",num);

那么num就需要事先定义一下

int num;

printf("%d",num);

但printf语句并不是随随便便就会打印的,是需要满足一定条件的,什么条件呢?

int num;

if(!(num%3==0)&&(num%2==0))

{

  printf("%d",num);

}

OK,我们的num是需要从用户输入的一个区间来找数的,一个一个的往过数,所以需要一个循环,以及用户输入区间。

int num;

int start;

int end;

scanf_s("%d %d",&start,&end);

for(num=start;num<=end;num++)

{

  

if(!(num%3==0)&&(num%2==0))

{

  printf("%d ",num);

}

}

for循环的条件怎么想出来的,为什么是num<=end,我们想什么时候就不循环了,是不是num>end的时候,因为我们是让程序从[start,end]这个区间中找数的,你超过了就不行了,所以num>end 的反面也就是num<=end的时候就是循环继续的条件。

用户输入的start end 是无法预估的,我们最希望用户输入的情况是start小于end这种情况,当start==end的时候也是可以的,只是比较特殊,当start>end的时候,我们就不做输出了,所以需要对满足条件的start和end才会进入循环,所以代码最后变成这个样子了。

int main(void)
{
int num;
int start;
int end; scanf_s("%d %d",&start,&end);
printf("\n"); if (start <= end)
{
for (num = start; num <= end; num++)
{
if (!(num % 3 == 0) && (num % 2 == 0))
{
printf("%d ", num);
}
}
}
else
{
printf("N/A");
}
return 1; }

  

记录一下思考过程。

c语言实践输出某个区间中不是3的倍数的偶数的更多相关文章

  1. C语言实现输出一组数字中的所有奇数

    /*第二题*/ #include<stdio.h> //输入186732468 //输出173 //输入12345677 //输出13577 main(){ ;//输入的数字,数字的长度 ...

  2. C语言实践 输出100以内的素数

    int main() { int isprime = 1; for (int i = 2; i < 101; i++) { isprime = 1;//要确保每次循环都要把这个值设置为1,不然上 ...

  3. hdu6003 Problem Buyer 贪心 给定n个区间,以及m个数,求从n个区间中任意选k个区间,满足m个数都能在k个区间中找到一个包含它的区间,如果一个区间包含了x,那么 该区间不能再去包含另一个数,即k>=m。求最小的k。如果不存在这样的k,输出“IMPOSSIBLE!”。

    /** 题目:hdu6003 Problem Buyer 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6003 题意:给定n个区间,以及m个数,求从n个区 ...

  4. 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素

    //旋转数组的最小数字 //题目:把一个数组最開始的若干个元素搬到数组的末尾.我们称之为数组的旋转. //输入一个递增排序的数组的一个旋转.输出旋转数组中的最小元素. //比如:数组{3.4,5,1, ...

  5. C语言:计算输出给定数组中每相邻两个元素的平均值的平方根之和。

    //计算输出给定数组中每相邻两个元素的平均值的平方根之和. #include <stdio.h> #include <math.h> ]) { double a,b,s=0.0 ...

  6. 《程序设计语言——实践之路(英文第三版)》【PDF】下载

    <程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...

  7. 《程序设计语言——实践之路【PDF】下载

    <程序设计语言--实践之路[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382240 内容简介 <程序设计语言--实践之路(第3版 ...

  8. R语言︱H2o深度学习的一些R语言实践——H2o包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...

  9. 使用函数式语言实践DDD

    长期以来我都在实践OOP,进而通过OOP来实现DDD,特别是如何通过面向对象的技巧来建立一个领域模型.OO的一些特性在建立领域模型时显得恰如其分,能否掌握OO的技巧,对创建领域模型有着至关重要的作用. ...

随机推荐

  1. 基于epoll的TP传输层实现

    1. 抽象TP传输层设计 在使用epoll实现实际的传输层之前,先设计一个抽象的传输层,这个抽象的传输层是传输层实现的接口层. 接口层中一共有以下几个通用的类或者接口: (1)Socket:通用的套接 ...

  2. Python之contextlib库及源码分析

    Utilities for with-statement contexts __all__ = ["contextmanager", "closing", &q ...

  3. win10环境变量的配置

    c盘->环境变量: 1.添加变量名和变量值 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_161 2.添加变量名和变量值 变量名:JAVA_H ...

  4. vc++ windows 创建桌面快捷方式

    创建桌面快捷方式 在windows软件开发中,软件安装过程中总是需要在桌面创建快捷方式,下面介绍一种创建桌面快捷方式的方法,具体代码如下: /* * 创建快捷方式 * szExePath[in]:要创 ...

  5. 在JVM中,新生代和旧生代有何区别?GC的回收方式有几种?server和client有和区别?

    在JVM中,新生代和旧生代有何区别?GC的回收方式有几种?server和client有和区别? 2014-04-12 12:09 7226人阅读 评论(0) 收藏 举报  分类: J2SE(5)  一 ...

  6. 脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明

    常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...

  7. Cocoapods的操作

    1.卸载Cocoapods命令: sudo gem uninstall cocoapods 2.安装Cocoapods的命令: >安装最新版本 sudo gem install cocoapod ...

  8. 区域存储网络(SAN)与 网络直接存储(NAS)

    随着互联网及网络应用的飞速发展,数据信息存储系统所需处理的数据类型也呈爆炸性增长,这使数据信息存储系统面临前所未有的挑战.附加式网络存储装置(Network Attached Storage,缩写为N ...

  9. maven环境配置详解,及maven项目的搭建及maven项目聚合

    首先:Maven 3.2.1:不同版本中仓库中文件是不一样的,Maven运行,先找用户配置,再找全局配置 1. Maven全局配置:全局统一的配置文件,在maven的安装目录中 2. Maven用户配 ...

  10. 如何安装pip

    1.安装python之后进入到python的安装目录,里面有个Scripts文件夹,打开文件夹里面有个easy_install.exe的文件 2.打开控制台,到easy_install.exe的文件地 ...