问个有关C语言的简单复杂问题简单化!!!~~~

C语言例题问题 关于兔子的
题目:有一对兔子,从出生后第三个月开始每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
我不知道 这只兔子是不是从第一年 就开始生兔子
下面的代码是 按照前两年不生兔子, 也就是 从第三年才开始生兔子#include&stdio.h&
int main()
long a[45]; //数组长度为45, 太多了,就超出范围,
while(scanf("%d", &n) != EOF) //输入所求的天数
if(n = = 0)
// n= = 0, 无意义
for(i = 3; i & i++)
a[i] = a[i - 1] + a[i - 2];
//因为 一对兔子 只生 一对,所以前一天的兔子数(原有兔子数) 加上 前两天的的兔子数(所 生兔子数)
即为 今日兔子数
printf("%ld\n",a[n-1]*2);
// 程序中 是按对 计算的, 所以输出时 需乘以
}测试用例:
这个你可以写, 自己验证
for 循环那 稍微有点 绕, 其它的到没啥再次说明: 这个程序 是按第三个月 才开始 生兔子 的, 如果从第一个月 就开始 生兔子,你可以参照上面的写出来.
你还没有登录,请先登录或注册慕课网帐号
百度一下,你就知道
你还没有登录,请先登录或注册慕课网帐号
这个不是典型的斐波那契数列么?
你还没有登录,请先登录或注册慕课网帐号
21982人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2问个简单的c语言问题来自: duzqa 日分享至 :
5.有一个已经从小到大排好序的整数数组:a[30]={6,9,12,15,19,23,45,67,89,98},现输入一个整数x,要求按原来的升序规律将它插入到数组中。我现在编的如下 #include#includevoid main(){ int i,min,j,c,x,a[30]={6,9,12,15,19,23,45,67,89,98};clrscr();scanf("%d",&x;);a[10]=x;for(i=0;ia[j])min=j;c=a[i];a[i]=a[min];a[min]=c;printf("%5d",a[i]);}}但是第一个数为什么就是0呢 最后一个数又没有了 想不通分享至 :
下一篇:上一篇:其它类似问题相关帖子相关文章--问个简单的c语言问题一个很简单的问题:1. if(a > 0 )a =4;if(a
0 ) a= 4 ;else a =-4;从代码效率来看,那个会更好?
看看
1. if(a > 0 )a =4;
if(a < 0) a =-4;
这是两条语句,相关信息器将它编译成如下代码:(模拟汇编代码)
cmp a,0
(比较a和0)
jnb l1
(a不大于0跳到 l1 执行
mov a,4
(a大雨0,将a设置为4)
jmp
(完成变量设置)
l1:cmp a,0
(再次比较)
(大于0跳到结束设置)
mov a,-4
(设置为-4)
2. if (a > 0 ) a= 4 ;else a =-4;
这是一条c语句,编译器编译结果是:
cmp a,0
(比较a和0)
jnb l1
(a不大于0跳到 l1 执行
mov a,4
(a大雨0,将a设置为4)
jmp
(完成变量设置)
l1:mov a,-4
(设置为-4)
可以看出,第二个编译结果少了一行比较汇编语句和一条...
看看
1. if(a > 0 )a =4;
if(a < 0) a =-4;
这是两条语句,相关信息器将它编译成如下代码:(模拟汇编代码)
cmp a,0
(比较a和0)
jnb l1
(a不大于0跳到 l1 执行
mov a,4
(a大雨0,将a设置为4)
jmp
(完成变量设置)
l1:cmp a,0
(再次比较)
(大于0跳到结束设置)
mov a,-4
(设置为-4)
2. if (a > 0 ) a= 4 ;else a =-4;
这是一条c语句,编译器编译结果是:
cmp a,0
(比较a和0)
jnb l1
(a不大于0跳到 l1 执行
mov a,4
(a大雨0,将a设置为4)
jmp
(完成变量设置)
l1:mov a,-4
(设置为-4)
可以看出,第二个编译结果少了一行比较汇编语句和一条跳转语句,因此总的来说第二条语句会效率高一点点
但是现在很多编译器很聪明,将对第一方案进行有优化,最终结果和2是一样的
我建议你采用第二条语句
其他答案(共3个回答)
的执行顺序来说,如果a<0,则执行到下一个if,a=0时则不会执行。第二种没有考虑到a=0的情况。
Compiling...使用Void数据类型.cpp使用void数据类型.cpp(10):errorC2440:&#039;initializing&#039;:cannotcon...
#include &#034;stdio.h&#034;
#include &#034;graphics.h&#034;
#include &#034;conio.h&#034;
#include &#034;stdlib....
else-if语句:意思是有多个条件语句,根据不同的条件语句得到的不同的结果执行不同的循环体。
例如:int a = 1;
if(a & 0){
呵呵,我原先也遇到过同样的问题,当时我以为是turbo c的问题呢。这个问题很好解决,你把装有tc的文件夹放在c盘根目录下就好了!
void main()
{ int a,b,c,t;
a=1;b=2;c=2;
while(a&b&c)
1&2 是真的逻辑值为1,用1和C比较...
monaco-ville租车租期计算方式是?/租期如何算?
答: cisco网络技术是一个为CTO、IT技术经理、网络工程师、安全工程师、数据库工程师、网络管理员、系统工程师、开发工程师、项目管理人员等IT技术人员搭建的有关先...
答: 我想学网页制作、网络维护、电脑维护
可有比较好的学习网站或者论坛推选一下?
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415关于C语言的几个问题
本回答由提问者推荐
(17条回答)C/C++(159)
两个!是为了把非0&#20540;转换成1,而0&#20540;还是0。
因为C语言中,所有非0&#20540;都表示真。所以!非0&#20540; = 0,而!0 = 1。所以!!非0&#20540; = 1,而!!0 = 0。例如:i=123
!!i=1最后将123转换为1。就是其他数据类型向bool&#20540;的转换。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1575176次
积分:20391
积分:20391
排名:第376名
原创:253篇
转载:1572篇
评论:40条
(15)(15)(73)(34)(33)(54)(70)(68)(59)(76)(55)(47)(29)(24)(65)(30)(24)(37)(24)(33)(41)(61)(75)(45)(41)(27)(41)(49)(32)(31)(39)(64)(10)(65)(39)(34)(30)(33)(27)(20)(23)(20)(24)(19)(15)(11)(7)(1)(3)(1)(3)(2)(7)(8)(5)(2)(4)(1)

我要回帖

更多关于 七桥问题答案 简单的 的文章

 

随机推荐