c语言基础题

  • 1.求奇数和
  • 2.最大公约数和最小公倍数
  • 3.兔子繁衍问题
  • 4.求整数的位数及各位数字之和

1.求奇数和

1.本题要求计算给定的一系列正整数中奇数的和。
输入格式:
输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。
输出格式:
在一行中输出正整数序列中奇数的和。

输入样例:
8 7 4 3 70 5 6 101 -1
输出样例:
116

思路:要键盘输入一系列正数所以要用循环(while),当a大于0时一直循环,当a小于等于0结束循环。
循环中间还有一个判断条件就是只有单数才相加,双数不做处理所以while循环体里面还有个条件就是单数(a%2!=0)。
代码如下:

#include<stdio.h>void main(){int a,sum=0;scanf("%d",&a);while(a>0){if(a%2!=0){sum = sum + a;}scanf("%d",&a);        } printf("%d",sum);
}

2.最大公约数和最小公倍数

本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:
511 292
输出样例:
73 2044

思路:利用辗转相除法
辗转相除法的核心是不断的让两个数做除法,基于两个整数的最大公约数等于较小的数和两个数的相除余数的最大公约数。
假设两数x,y;先令z=x%y;之后y赋值给x,x=y;再将z赋值给y,y=z;辗转相除,直至y=0;

#include<stdio.h>void main(){int M,N;int a=0;//余数     scanf("%d%d",&M,&N);int m=M; //值传递,不管 m , n怎么变化,M 和 N 的值都不变。int n=N;//辗转相除法 while(n!=0){//除数不能为 0,反复除 a=m%n;m=n;n=a; }printf("%d %d",m,M*N/m);
}

3.兔子繁衍问题

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?
输入格式:
输入在一行中给出一个不超过10000的正整数N。
输出格式:
在一行中输出兔子总数达到N最少需要的月数。

输入样例:
30
输出样例:
9

思路:兔子第一个月是2只,第二个月2–>2+2,第三个月3–>4+2,4–>6+4,5–>10+6,7–>16+10,8–>26+16,9–>42+26,n–>n-1的兔子数+n-2的兔子数n–>(n-1的兔子数+n-2的兔子数)> 2*N。 键盘输入30,所以第n年的兔子数要大于60只,代码如下。

#include<stdio.h>void main(){int N;int a=2;//兔子的数量int b=0;int c=0;int i=1;//几个月 scanf("%d",&N);if(N>1){while(c<2*N){c=a+b;b=a;a=c;i++;}printf("%d",i);}else{printf("1"); }
}

4.求整数的位数及各位数字之和

思路:这题比较简单,就是循环取整,循环几次就是几位数。

#include<stdio.h>
void main(){int a,b=0,c=0;//a为输入的数,b为位数,c为数字和scanf("%d",&a);while(a>0){//表达式真,按顺序循环一次b++;//循环一次就加一位c+=a%10;//数字之和a/=10;/*这样a会一直计算, 如321-->32-->3,一共循环四次*/}printf("%d %d",b,c);
}

对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10
9
的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

输入样例:
321
输出样例:
3 6

c语言基础题(笔记四)相关推荐

  1. c语言基础题(笔记一)

    c语言基础题 1.输出倒三角图案 2.如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048.现在,如果用户输入的是厘米数,那么对应英制长度的英尺和 ...

  2. c语言基础题(笔记三)

    c语言基础题 1.模拟简单运算器的工作. 2.超速判断 3.用天平找小球 4.分段计算居民水费 5.猜数字游戏 1.模拟简单运算器的工作. 假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运 ...

  3. c语言基础题(笔记二)

    c语言基础题 7-18 出租车计价 7-19计算天数 7-18 出租车计价 本题要求根据某城市普通出租车收费标准编写程序进行车费计算.具体标准如下: 起步里程为3公里,起步费10元: 超起步里程后10 ...

  4. c 语言基础期末考试题及答案,C语言基础题及参考答案

    <C语言基础题及参考答案>由会员分享,可在线阅读,更多相关<C语言基础题及参考答案(36页珍藏版)>请在人人文库网上搜索. 1.第一单元 程序设计和语言一. 选择题1 C语言的 ...

  5. Nowcoder《C语言刷题笔记》BC1-BC15

    Nowcoder <C语言刷题笔记> BC1-BC15 文章目录 Nowcoder <C语言刷题笔记> BC1-BC15 0x00 写在前面 0x01 简单输出 BC1 Now ...

  6. go设置后端启动_Go语言基础(十四)

    Go语言基础(十四) 一.Redis 二.NSQ 三.Go module 四.Context......0 一.Redis Redis是一个key-value存储系统.和Memcached类似,它支持 ...

  7. c语言关于continue的题,10道c语言基础题1、C语言的跳转语句中,对于break和continue说法正确的是_______. A、contin...

    10道c语言基础题1.C语言的跳转语句中,对于break和continue说法正确的是_______. A.contin 10道c语言基础题 1.C语言的跳转语句中,对于break和continue说 ...

  8. 《C语言基础学习笔记》—— 黑马程序员 <Part1-4>

    <C语言基础学习笔记 Part1-4> Part 1 基础介绍 1. 第一个C语言程序:HelloWorld 1.1 编写C语言代码:hello.c 1.2代码分析 1)include 头 ...

  9. c语言基础题库·第一章

    c语言基础题库·第一章 第1章 一.填空题 下列是合法的用户标识符的是( A ). A)_w1 B)3_xy C)int D)LINE-3 2.一个C语言程序是由( B ). A)一个主程序和若干子程 ...

最新文章

  1. 彻底解决swf浏览器的缓存问题
  2. python安装3.7.2_linux环境安装python3.7.2
  3. System.Web.Optimization找不到引用
  4. [English20091217]英语口语444句
  5. 如何设计出一个有灵魂的「签到功能」?
  6. .NET核心正则类详解
  7. 将Ehcache添加到Openxava应用程序
  8. spring boot配置dubbo(XML)
  9. 期望E==>加权均值(每个元素×它们各自的概率)
  10. 盒子模型及其通用属性
  11. windows环境 java jdbc 连接impala (kerberos认证)
  12. 微信wifi服务器地址,从零开始改造路由器实现微信连WIFI的功能(七):更简单的认证服务器wifidog-server...
  13. jquery省份城市联动选择下拉框
  14. 【IDEA】idea 调试技巧 异常断点 断点之前显示异常字段
  15. Spring注解解析 | P/C命名空间
  16. ROS入门:运行小海龟
  17. Mark一个关于Thymeleaf 使用th:field属性与对象属性绑定的小问题
  18. 汇总 Vue 中大家最爱问的高频问题
  19. Dell Insprion 7590安装Window7记录
  20. Windows 7——Windows 启动管理器数字签名错误解决方案

热门文章

  1. 英文wiki技术基础问题查询的常见问题
  2. 高手怎么抓热点,每天几点操作?
  3. Unity Shader学习:水墨效果
  4. 阿里短信服务 JAVA
  5. 卧兔观察:决心有了,就让拼多多飞一会儿吧
  6. 超级计算机控制人的电影,想知道这部电影的名字,讲述通过超级计算机进入人脑.回到过去.其中有个老教授死亡留下一封信给给主角。...
  7. 关于背单词的一点个人体会
  8. 企业wifi统一认证怎样呀
  9. 【Python技能树共建】Python爬虫模拟登录
  10. java 回车判断_java 判断输入回车符