用c语言编写程序,用数组输出Fibonacci数列前20项

用c语言编写程序:打印出一下的杨辉三角形(要求打印出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
......

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、定义变量和数组:#include<stdio.h>,void main(){    long i, j, k1, k2, k3, a[10] ={0}, num, m, n, sum;                /*定义变量及数组为长整形*/。

3、输入一个数表示范围:  printf("请输入一个数表示范围:\n");  scanf("%ld", &num);                                  /*从键盘中输入要求的范围*/。

4、对该范围内的数逐个试探:printf("结果是:");  for (j = 0; j < num; j++)                                /*对该范围内的数逐个试探*/。

5、判断该数的位数: while (m != 0)                                   /*判断该数的位数*/。

6、求每一部分积之和并输出自守数。

7、输出最后的结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-05
#include <stdio.h>
void main(){
int i,n=0,f[20]={1,1};
for(i=0;i<20;i++)
{
if(i>1) f[i]=f[i-1]+f[i-2];
printf("%-5d",f[i]);
n++;
if(n%10==0)
printf("\n");
}
}

本回答被网友采纳
第2个回答  2011-05-19
第一题答案:
#include <stdio.h>
void main()
{
int a[10];
int i,s,n;
for(i=0;i<10;i++)
scanf("%d",a+i);
for(i=0;i<10;i++)
s=s+a[i];
n=s/10;
printf("平均数是:");
printf("%d\n",n);
}
第二个题答案
main()
{
char a[100];
int i;
for(i=0;a[i]!='\n';i++)
{scanf("%c",&a[i]);
a[i]>='A'&&a[i]<='Z'?a[i]+32:a[i];}
puts(a);
}
第三题:
#include<stdio.h>
void main()
{
int num1,num2,k=2,sum=1;
printf("请输入两个数:");
scanf("%d",&num1);
scanf("%d",&num2);
while(k<=num1&&k<=num2)
{
if(num1%k==0&&num2%k==0)
{

num1/=k;
num2/=k;
sum=sum*k;
}
else
k++;

}
printf("%d",sum);
}
第四题:
main()
{
int b[4][4],i,j,sum=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{ scanf("%d",&a[i][j]);
sum=sum+a[i][j];}
printf("\n\n sum=%d",sum);
}
第五题:

int min=A[0];
int minnumber=0;//记录最小数位置,先假设为第一个,然后逐个比较找到最小的,然后记录位置
for(int i=0;i <4;i++)
{
if(a[i]> a[i+1])
{
min=a[i+1];
minnumber=i+1;
}
}
return minnumber;

第六题(冒泡排序)
#define N 10
main()
{
int i,j,a[N];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10-1;j++)
if(a[i]>a[j])
{int t;
t=a[i];a[i]=a[j];a[j]=t;
}
printf("\n 排序后的顺序为:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
}
第七题:
main()
{
int i=5,sum=0;
while(i<=100)
{
sum=sum+i
i=i+5;
}
printf("\n sum=%d",sum);
}
第八题
#include<iostream>

using namespace std;

void main()
{
//char str[200]; 注意像这样定义的字符串数组来储存字符串不可以得到空格的数组
char str;
int number_num=0;
int number_char=0;
int number_space=0;
int number_other=0;
//scanf("%s",str); 注意像这样得到用户输入的字符,没办法得到空格.
int i=0;
while((str=getchar())!=' ')
{
if(str>='0' && str<='9')
{
printf("%c是数字. ",str);
number_num++;
}
else if(str>='a' && str<='z' || str>='A' && str<='Z')
{
printf("%c是字母. ",str);
number_char++;
}
else if(str==' ')
{
printf("%c是空格. ",str);
number_space++;
}
else
{
printf("%c是其他字符. ",str);
number_other++;
}
i++;
}
printf("%d个数字,%d个字母,%d个空格,%d个其他字符. ",number_num,number_char,number_space,number_other);
}
第九题:
main()
{
float s,y;
pintf("\n 请输入行驶公里");
scanf("%f",&s);
if(s<=200)
y=20;
else
y=s*P*1.5;
printf("\n 费用是:%f",y);
}
十题:
main()
{
int a[20]=,i;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
{printf("%5d",a[i]);
if(i%5==0)
printf("\n");}
}
十一题:
main()
{
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10/2;i++)
{
int t;
t=a[i];a[i]=a[10-1-i];a[10-1-i]=t;
}
printf("逆置后的顺序为:");
for(i=0;i<10;i++)
printf("%d",a[i]);

}
十二
void fun (int a[],int n,int *max,int *d)
{
int i;
*max = a[0];
*d = 0;
for (i=0;i<n;i++)
{
if (a[i]>*max)
{
*max = a[i];
*d = i;
}
}
}

#define N 10
main()
{
x[N]=;
int max,index;
fun(a,N,&max,&index);
printf("\n max=x[%d]=%d-1,index,max);
getch();
}
第3个回答  2011-05-18
# include <stdio.h>
int main ()
{
int i,n,t,a[100]={0};
scanf ("%d",&n);
t=1;
while (t<=n)
{
a[0]=1;
for (i=t-1;i>0;i--) a[i]=a[i]+a[i-1];
for (i=0;i<t;i++)
{
printf ("%d",a[i]);
}
printf("\n");
t++;
}
system ("pause");
}
第4个回答  2011-05-16
#include<stdio.h>
float
factorial (int i) /*阶乘函数,用float类型可以表示更大的数*/
{
int j;
float k = 1;
for (j = 1; j <= i; j++)
k = k * j;
return (k);
}

float
combination (int i, int j) /*定义组合数 */
{
float k;
k = factorial (j) / (factorial (i) * factorial (j - i));
return (k);
}

int
main (int argc, char **argv)
{
int i = 0, j, n; /*打印杨辉三角 */
while (i <= 0 || i > 16)
{
printf ("请输入要打印的行数[0-16之间]");
scanf ("%d", &i);
}
for (j = 0; j < i; j++)
{
for (n = 0; n <= j; n++)
printf ("%4.0f", combination (n, j));
printf ("\n");
}
printf ("\n\n");

return 0;
}
C:\mypro>gcc -g -Wall fibonacci2.c -o fibonacci2

C:\mypro>fibonacci2
请输入要打印的行数[0-16之间]10
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

C:\mypro>
相似回答