第三次作业

gitosc 账号:wang.520

 

 

#include<stdio.h>
int main()
{
int i,m,f;
void fun(int *q,int n);//声明调用函数 
int a[10];
f=1;
printf("观察数组中元素:\n");
for(i=0;i<10;i++)//利用for循环设置第几个数组元素为几的阶乘 
{for(m=1;m<i+2;m++)
 {
    f=f*m;//
 }
 a[i]=f;
 f=1;//将f的值变为1,以上for循环改变了f的值 
 printf("%d,",a[i]);
}
printf("\n");
int *p;
p=a;
printf("用调用函数输出数组中元素:\n");
fun(p,10);//调用输出函数 
return 0;
}
void fun(int *q,int n)
{int *d;
for(d=q;d<(q+n);d++)
printf("%d,",*d);

}
观察数组中元素:
1,2,6,24,120,720,5040,40320,362880,3628800,
用调用函数输出数组中元素:
1,2,6,24,120,720,5040,40320,362880,3628800,
--------------------------------
Process exited after 0.04108 seconds with return value 0
请按任意键继续. . .

  总结:在编这个程序时候,利用for循环设置第几个数
              组元素为几的阶乘时。f经过for循环值改变,
              我一开始没有将f变回原来值导致程序错误。编
             程序要注意细节,一点差错,输出结果就差别很
            大。调用函数是将数组首地址和数组元素个数传
            给形参,然后通过for循环改变地址输出各元素的值。

posted @ 2017-03-31 09:05  /*nobody*/  阅读(118)  评论(0编辑  收藏  举报