C语言经典习题100例(三)11-15
时间:2022-07-22
本文章向大家介绍C语言经典习题100例(三)11-15,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
你们看出神马了吗(*^_^*)
习题11
有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
实现思路: 从第1个月起,兔子对数分别为1、1、2、3、5、8、13、21…,显然是斐波拉契数列。
代码如下:
#include<stdio.h>
int main(){
int i, f1 = 1, f2 = 1;
for(i = 1; i < 21; i++){
printf("%10d%10d", f1, f2);
f1 += f2;
f2 += f1;
if(i % 2 == 0){
printf("n");
}
}
return 0;
}
打印:
1 1 2 3
5 8 13 21
34 55 89 144
233 377 610 987
1597 2584 4181 6765
10946 17711 28657 46368
75025 121393 196418 317811
514229 832040 1346269 2178309
3524578 5702887 9227465 14930352
24157817 39088169 63245986 102334155
习题12
. 判断101-200之间有多少个素数,并输出所有素数。
实现思路: 可以用一个函数来判断一个数是否是素数,是则输出。
代码如下:
#include <stdio.h>
#include <math.h>
int main(){
int isPrime(int n);
int i, count = 0;
for(i = 100; i < 201; i++){
if(isPrime(i)){
printf("%6d", i);
count++;
if(count % 5 == 0){
printf("n");
}
}
}
return 0;
}
int isPrime(int n){
int i, prime = 1;
for(i = 2; i <= sqrt(n); i++){
if(n % i == 0){
prime = 0;
break;
}
}
return prime;
}
打印:
101 103 107 109 113
127 131 137 139 149
151 157 163 167 173
179 181 191 193 197
199
习题13
打印出所有的水仙花数。 水仙花数是指一个三位数,其各位数字立方和等于该数本身。 例如: 153是一个水仙花数,因为 153=13 + 5 3 + 33。
实现思路: 通过函数来判断一个数是否是水仙花数,并通过循环来判断所有的数。
代码如下:
#include<stdio.h>
#include <math.h>
int main(){
int isNarci(int n);
int i, count = 0;
for(i = 100; i < 1000; i++){
if(isNarci(i)){
printf("%6d", i);
count++;
if(count % 5 == 0){
printf("n");
}
}
}
return 0;
}
int isNarci(int n){
int i, j, k, temp, narci = 0;
i = n / 100;
temp = n % 100;
j = temp / 10;
k = temp % 10;
if(n == (pow(i, 3) + pow(j, 3) + pow(k, 3))){
narci = 1;
}
return narci;
}
打印:
153 370 371 407
练习14
将一个正整数分解质因数。 例如:输入90,打印出 90=2*3*3*5。
实现思路: 使用嵌套循环,逐步分解。
代码如下:
#include<stdio.h>
int main(){
static int i, num;
printf("Please input a integer:n");
scanf("%d", &num);
printf("%d=", num);
while(num){
for(i = 2; i <= num; i++){
if(num % i == 0){
printf("%d", i);
num /= i;
if(num != 1){
printf("*");
}
break;
}
}
if(num == 1){
break;
}
}
return 0;
}
打印:
Please input a integer:
120
120=2*2*2*3*5
外层还可以使用for循环,如下:
#include <stdio.h>
int main(){
int n,i;
printf("Please input a integer:n");
scanf("%d",&n);
printf("%d=",n);
for(i=2; i <= n; i++){
while(n % i == 0){
printf("%d", i);
n /= i;
if(n!=1){
printf("*");
}
}
}
printf("n");
return 0;
}
习题15
利用条件运算符的嵌套来完成此题: 学习成绩 >=90分的同学用A表示, 60-89分之间的用B表示, 60分以下的用C表示。
实现思路: 条件判断嵌套实现。
代码如下:
#include <stdio.h>
int main(){
int score, i;
char level;
printf("Please input your scoore:n");
scanf("%d", &score);
level = (score >= 90) ? 'A' : (score >= 60 ? 'B' : 'C');
printf("Your level is %c", level);
return 0;
}
打印:
Please input your scoore:
65
Your level is B
除了条件运算符,还可以如下:
#include <stdio.h>
int main(){
int score, i;
char level;
printf("Please input your scoore:n");
scanf("%d", &score);
if(score >= 60){
if(score >= 90){
level = 'A';
}
else{
level = 'B';
}
}
else{
level = 'C';
}
printf("Your level is %c", level);
return 0;
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- VBA专题10-5:使用VBA操控Excel界面之隐藏/取消隐藏及最小化功能区
- 从一道面试题说起:GET 请求能传图片吗?
- ModuleNotFoundError: No module named ‘pip‘【已解决】
- 【原创】Java并发编程系列31 | 阻塞队列(上)
- 【2019-3-3】Mac启动redis
- awvs(acunetix)使用一段时间后突然不能用了-解决方案
- Java自动化测试(数据库断言 18)
- Java自动化测试(参数化 19)
- Python 基础(一):入门必备知识
- Mac安装软件提示 已损坏【已解决】
- 机器学习之sklearn基础教程!
- 2020最新版 maven for MAC 安装及配置
- jemter安装(win/mac)并快捷启动的方法
- nmap 详解版-指令使用方法大全【含安装】
- 常见6种WAF绕过和防护原理