程序运行异常 c语言小问题 求助

问题描述

程序运行异常 c语言小问题 求助

想写一个求大数的斐波那契的程序,需要数组来实现进位,然后进位条件那(就是for循环的条件那里)有问题 ,改一下(改成c!=0或改成a[i-1][j]!=0||a[i-2][j]!=0,合起来就不对了)就可以正常运行,想问下现在这样写有什么问题吗?

#include
#include

const int A=10000;
int a[1000][10];

int main()
{
int n,i,j,c,cc;
memset(a,0,sizeof(a));
a[0][0]=a[1][0]=1;
for(i=2; i
{
c=0;
for(j=0; c!=0||a[i-1][j]!=0||a[i-2][j]!=0 ; j++)//进位条件
{
a[i][j]=(a[i-1][j]+a[i-2][j]+c)%A;
c=(a[i-1][j]+a[i-2][j]+c)/A;
}
}
while(~scanf("%d",&n))
{
for(i=0; a[n-1][i]!=0; i++) {}
i--;
cc=i;
for(; i>=0; i--)
if(i==cc)
printf("%d",a[n-1][i]);
else
printf("%05d",a[n-1][i]);
printf("n");
}
return 0;
}

解决方案

c!=0与a[i-1][j]!=0||a[i-2][j]!=0 不同时满足的话,你合在一起当然不会跳出循环啦,如果你要满足其一就可以结束for循环的话,那么可以判断条件:c!=0 && a[i-1][j]!=0&&a[i-2][j]!=0 ,表明的是当c==0、a[i-1][j]==0,a[i-2][j]==0同时满足的时候继续for循环,否则只要有一项不满足条件就跳出循环。

时间: 2024-08-30 15:33:05

程序运行异常 c语言小问题 求助的相关文章

visual studio 2010-vs2010程序运行异常的问题

问题描述 vs2010程序运行异常的问题 为什么vs2010在运行程序的时候总是系统找不到指定文件,哪怕是运行一个比较程序,也是一样 解决方案 把错误log贴上来看看 解决方案二: 我的也出现这个问题,重新安装一下就好了! 解决方案三: 要看一下具体的错误信息,是不是你的VS没有安装好,或者VS的运行时库没有在系统上配置好 解决方案四: 你估计是在用VS2010加载调试以前的VC6.0下的程序是吧.那么你生成的exe是存在的,不过是在工程的bin目录下.但是在VS2010中是执行的时候是要到De

初学java程序运行异常

问题描述 初学java程序运行异常 第一个文件StaticMain.java public class StaticMain{ public static void main(String[] args){ System.out.println("-------------"); for(String arg:args){ System.out.println(arg); } } } 第二个文件StaticMainRef.java import java.lang.reflect.Me

内存不能为read-VC++程序运行的问题 程序运行异常

问题描述 VC++程序运行的问题 程序运行异常 我这程序在其他电脑上可以运行,就是在自己这台电脑上运行不了,总是出现图中的错误,希望有位大神能帮我看看到底是咋回事,小弟先谢谢了 解决方案 代码贴上去吧,这没法看,不过猜测应该是你代码访问了内存中禁止访问或有权限的地址 解决方案二: 64位的程序在32位中的运行么? 解决方案三: 按F5单步调试运行,然后程序崩溃了看下堆栈调用窗口,找到自己的代码,然后贴出断掉地方的代码 解决方案四: 指针出错了.直接点击取消按钮,用编译器打开,查看出错的函数调用堆

x00-vc6.0程序运行异常,在A电脑可以,在B电脑不可以SetFormat

问题描述 vc6.0程序运行异常,在A电脑可以,在B电脑不可以SetFormat 我有2台电脑A和B,我在初始化里加入了m_ShiJian1.SetFormat(_T("yyyy/MM/dd HH:mm:ss"));然后在电脑A中运行没有问题,在电脑B中运行程序就提示异常出错,无法运行. 出现下面的错误(有省略): Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:WindowsSysWOW64k

JBOSS JMS程序运行异常,请高手解答

问题描述 系统环境:LINUX+jboss4.0.0+应用程序整体架构:程序之间采用JMS方式数据通信应用程序业务需求:数据采集---->入消息队列-------->出队列-------->短信发送应用程序A:数据采集------>入消息队列A程序运行异常报错如下:[WARN]2011-04-2700:01:30method:org.jboss.mq.Connection.asynchFailure(Connection.java:459)Connectionfailure:org

程序运行时出现的一个问题,求助

问题描述 //做一个简单的抽数字的例子.<?xmlversion="1.0"encoding="utf-8"?><mx:ApplicationapplicationComplete="aa"xmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"><mx:Buttonx="124"y="2

WPF应用程序支持多国语言解决方案

原文:WPF应用程序支持多国语言解决方案 促使程序赢得更多客户的最好.最经济的方法是使之支持多国语言,而不是将潜在的客户群限制为全球近70亿人口中的一小部分.本文介绍四种实现WPF应用程序支持多国语言的解决方案. 效果如下图: Language - en-US (英文) Language - zh-CN (中文) 阅读目录 一.使用LocBaml工具 二.使用资源字典文件 三.使用.resx资源文件 四.实现动态切换程序显示语言 附:实现MessageBox支持多语言 一.使用LocBaml工具

c语言-C语言小程序运行错误,求解?

问题描述 C语言小程序运行错误,求解? #include 2 int main() 3 { 4 int i,j; 5 char ch; 6 for(i=1;i<5;i++) 7 { 8 char ='A'+i-1; 9 for(j=1;j<2*i-1;j++) 10 printf("%cn",ch); 11 } 12 return 0; 13 } 14 15 A.c: 在函数'main'中: A.c:8:8: 错误: expected identifier or '(' b

server-新手求助:为啥会出现tomcat8.0运行异常

问题描述 新手求助:为啥会出现tomcat8.0运行异常 大家帮忙来看看,真的很蛋疼 解决方案 查看一下具体信息,估计是你配置,程序有问题. 解决方案二: 好歹你点开details看看 解决方案三: 删了重建.............. 解决方案四: 是不是tomcat环境变量配置的问题? 一.安装JDK和Tomcat 1,安装JDK:直接运行jdk-7-windows-i586.exe(相应版本的jdk,这里以jdk-7-windows-i586.exe为例)可执行程序,默认安装即可. 备注: