第四次实验报告

第四次实验报告

姓名:刘骏豪 实验地点:一教524 实验时间:2021-5-18
一、实验目的与要求
1.掌握函数的定义方法和调用规则。
2.掌握在C语言程序中主调函数和被调函数之间进行数据传递的规则。
3.了解函数的返回值及其类型,并正确使用。
4.了解局部变量和全局变量的作用城及它们与存做分类的关系,理解变量的存在性和可见性的概念。
二.实验内容
6.4.1.2
1、问题的简单描述:编写函数,求出从主调函数传来的数值i的阶乘值,然后将其传出主调函数并输出。

#include<stdio.h>
int N=5;
long function(int i)
{
    static long f=1;
    f=f*i;
    return f;
}
int main()
{
    long product;
    int i;
    for(i=1;i<=N;i++)
    {
        product=function(i);
        printf("%d的阶乘是:%d\n",i,product);
    }
}

实验结果:

问题分析:问题不是很大。
6.4.1.3
1、问题的简单描述:编写程序,从键盘输入两个整数,调用gcd()函数求它们的最大公约数,并输出结果。

#include<stdio.h>
int gcd(int a,int b)
{
    int remainder;
    int temp;
    if(a<b)
    {
        temp=a;
        a=b;
        b=temp;
    }
    remainder=a%b;
    while(remainder!=0)
    {
        a=b;
        b=remainder;
       remainder=a%b;
}
    return b;
}
main()
{
    int x,y;
    int fac;
    printf("please enter two integers:");
    scanf("%d,%d",&x,&y);
    fac=gcd(x,y);
    printf("The great common divisor is :%d",fac);
}

实验结果:

问题分析:有些难度,但看了流程图后理清思路就差不多了。
6.4.1.4
1.问题的简单描述:输入整数n,输出高度为n的等边三角形。

#include<stdio.h>
int trangle(int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-i;j++)
        printf(" ");
        for(j=0;j<=2*i;j++)
        printf("*");
        putchar('\n');
        
    }
}
main()
{
    int n;
    printf("请输出一个整数n:");
    scanf("%d",&n);
    printf("\n");
    n=trangle(n); 
}

实验结果:

问题分析:主要练习调用的运用,试了好多遍就出来了。
6.4.2.1
1、问题的简单描述:若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数。例如,6的因子之和为1+2+3=6,因此6与6为一对亲密数(即6自身构成一对亲密数);又如,220的因子之和为1+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142=220,因此,220与284为一对亲密数。
求500以内的所有的亲密数对。

#include<stdio.h>
int facsum(int m)
{
    int sum=1,f=2;
    while(f<=m/2)
    {
        if(m%f==0)
        {
            sum=sum+f;
            f=f+1;
        }
        else f=f+1;
    }
    return sum;
}
main()
{
    int m=3,n,k;
    while(m<=500)
    {
        n=facsum(m);    
        k=facsum(n);
        if(m==k&&m<=n)
        {
          printf("%d,%d\n",m,n);
        }
        m++;
    }
}

实验结果:

问题分析:刚开始一窍不通,但按照书上的来很快就出来了。

posted @ 2021-06-03 12:21  BanyanBrook  阅读(74)  评论(1编辑  收藏  举报