C语言 百炼成钢4
//题目10:打印楼梯,同时在楼梯上方打印两个笑脸。 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:楼梯,打印阶梯形状,涉及到行列,for循环 void main6(){
//假设个台阶,每个台阶宽3个单位,高3个单位
//笑脸的字符是'\1'
//5个台阶,总高度就是5*3=15,同理宽度也是15
//第一行,宽度是4*3=12,从12开始打印*号
//行(y轴)
int temp = ;
int temp2 = ;
char ch = '\1';
for (int i = ; i < ; i++)
{
temp = - i / * ;
if (temp + >)
{
temp2 = ;
}
else
{
temp2 = temp + ;
}
//x轴
for (int j = ; j < ; j++)
{
if (j>(temp-)&&j<(temp+))
{
//开始打印*号
if (!(i % ))
{
//打印3个*号
printf("*");
}
else{
//打印1个*号
if (j == temp)
{
printf("*");
}
else{
printf(" ");
}
}
}
else{
if (j == (temp -))
{
if ((i % ))
{
printf("%c", ch);
//printf("#");
}
else{
printf(" ");
}
}
else{
printf(" ");
} } }
printf("\n");
} system("pause");
}

//题目11:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
//后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h> //分析:通过观察发现,1、1、2、3、5、8、13、21,n个月兔子的对数==(n-1)个月兔子的对数+(n-2)个月兔子的对数
//这就是斐波那契数列,抽象为f(n)=f(n-1)+f(n-2)
//可以使用递归,也可以使用数组 //方法1
int getnum(int n){
if (n==)
{
return ;
}
if (n==)
{
return ;
}
return getnum(n - ) + getnum(n - );
} void main(){
//方法1
//printf("%d", getnum(8)*2); //方法2,使用数组,动态分配内存
int num = ;
scanf("%d",&num);
int *p = malloc(num * sizeof(int));
//循环给数组赋值
for (int i = ; i < num; i++)
{
if (i==)
{
*(p + i) = ;
}
else{
if (i==)
{
*(p + i) = ;
}
else{
*(p + i) = *(p + i - ) + *(p + i - );
}
}
printf("%d\n", *(p + i));
} system("pause");
}

//题目12:判断101-200之间有多少个素数,并输出所有素数。 #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //分析:素数:质数(prime number)又称素数,有无限个。除了1和它本身以外不再有其他的因数;否则称为合数。
//想法做2个循环,一个循环101--200;第二个循环从1到某个数 void main(){
int index = ;
int k = ;
for (int i = ; i < ; i++)
{
//使得每次循环的量减少一半
k =(int) sqrt(i + );
int tenp = ;
for (int j = ; j <= k; j++)
{
if (i%j==)
{
tenp = ;
//说明可以整除,说明是合数,不是质数
break;
}
}
if (tenp)
{
index++;
printf("\n%d",i);
}
}
printf("\n质数的总个数是%d",index);
system("pause");
}

C语言 百炼成钢4的更多相关文章
- C语言 百炼成钢19
/* 题目55: 有一个字符串符合以下特征(”abcdef,acccd,eeee,aaaa,e3eeeee,sssss,";),要求写一个函数(接口),输出以下结果 1) 以逗号分割字符串, ...
- C语言 百炼成钢3
//题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...
- C语言 百炼成钢2
//题目4:输入某年某月某日,判断这一天是这一年的第几天? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<st ...
- C语言 百炼成钢1
//题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> ...
- C语言 百炼成钢18
//题目52:用递归打印以下图形 //* //*.*. //*..*..*.. //*...*...*...*... //*....*....*....*....*.... #include<s ...
- C语言 百炼成钢17
//题目49:老师将糖果分成若干份,让学生按任意次序领取,第一个领取的,得到1份加上剩余糖果的1/10, //第二个领取的,得到2份加上剩余糖果的1/10,第三个领取的,得到3份加上剩余糖果的1/10 ...
- C语言 百炼成钢16
//题目46:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子凭据分为五份,多了一个,这只 //猴子把多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了 //一个,它同样把 ...
- C语言 百炼成钢15
//题目43:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 //圈子,问最后留下的是原来第几号的那位. #include<stdio.h> #inclu ...
- C语言 百炼成钢14
//题目40:输入3个数a,b,c,按大小顺序输出.(使用指针完成) #include<stdio.h> #include<stdlib.h> //分析:用指针完成,说明不可以 ...
- C语言 百炼成钢13
//题目37:将一个数组逆序输出.用第一个与最后一个交换. #include<stdio.h> #include<stdlib.h> #include<math.h> ...
随机推荐
- Android用路径api在内部存储读写文件
复制并修改原有项目 复制之前创建的项目CC+CV操作 需要改动的地方: * 项目名字 * 应用包名 * R文件重新导包 接着修改件/AndroidManifest.xml中的包名:package=&q ...
- iOS开发 -- 为本地文件添加自定义属性的工具类
前言:实际开发,我们可能会有这样的需求,就是为文件添加自定义的属性,或者是可以将文件的相关信息添加进该文件的属性中,这样可以以备下次读取利用. 那么本文就是要介绍"拓展文件属性的工具类&qu ...
- iOS之UI--指示器HUD的创建和设置
指示器的创建和设置 渐变动画 描述: 使用label就能制作指示器,原理:就是让label以动画的形式慢慢显示和消失 最好是半透明的 指示器有时候也被称为:HUD,遮盖,蒙版 思路步骤: 1.先在st ...
- IOS设计模式-抽象工厂
抽象工厂的灵活性要比简单工程的灵活性强. 抽象工厂的UML图(第一次画UML图,可能关系和箭头的图意义有错误,但是请不要以建模规范去看图,以最基本的结合后面OC代码,理解相关关系): 抽象工厂原理:抽 ...
- json深度详解及org.json库
了解json (Javascript Object Notation) 网站:http://json.org/ english JSON (JavaScript Object Notation) i ...
- C# 两个Object比较
C#两个Object进行比较,Object里只是简单属性,不存在层级关系还比较好处理,如果遇到多层级的就有点麻烦. 1.简单Object比较 /// <summary> /// 比较字段 ...
- Effective Java 55 Optimize judiciously
Principle Strive to write good programs rather than fast ones. Strive to avoid design decisions that ...
- eclipse常用快捷键及调试方法(虽然现在看不懂,但是感觉以后肯定会用到,先转了)
常用快捷键 Eclipse最全快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事情. Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl ...
- MFC获取光标相对于控件所在行
获取光标在控件上所在的行数 /*editControl为Edit Control的变量*/ CPoint point = editControl.GetCaretPos(); //获取光标相对于控件的 ...
- Android开发之 Android应用程序目录结构解析
建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架. 接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,Wo ...