一个程序的问题!
有一个数列:1,1,2,3,5,8,13,21,34,…… 用C编一个程序,输出1--1000之间的这样的一个数列。 我写了一个程序,如下: (算法是这样的:1+1=2,1+2=3,2+3=5,3+5=8……) main() {int k,m,j,i; int b[1000]; int *p; int a[1000]; p=&a; for(i=0;i<1000;i++) {m=*p+*(p+i); for(j=i+1;j<1000;j++) {if(a[j]==m) {for(k=0;k<=j;k++,p++) b[k]=*p; } else continue; p=p+j; } } for(k=0;k<1000;k++) printf("\n%d \n",b[k]);高手指点!麻烦拉!
你是指要输出的数的值小于1000呢,还是指要输出这个数列的前1000个值呢?如果是前者: int main() { int n_1 = 0; int n_2 = 0; int cur = 1; while( cur < 1000 ) { printf( "%d ", cur ); n_2 = n_1; n_1 = cur; cur = n_1 + n_2; } printf("\n"); } 其中n_1是指前一个数,n_2是指前两个数,cur是指数列当前的数。
如果是后者: int main() { int n_1 = 0; int n_2 = 0; int cur = 1; int i = 0; for( i=0; i<1000; i++ ) { printf( "%d ", cur ); n_2 = n_1; n_1 = cur; cur = n_1 + n_2; } printf("\n"); } 但是实际上这个数列的值增长非常快,用int型数据是表示不下的,很快就溢出了。
答:数学中有一个以他的名字命名的著名数列: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, …… 从第三项...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>