精华内容
下载资源
问答
  • 函数返回值类型与指定的函数类型不同,分析其处理方法例7.4输入个实数,用一个函数求出他们之和 函数就是功能。每个函数用来实现一个特定的功能。函数的名字应该反应其代表的功能。 例7.1想...

    函数就是功能。每个函数用来实现一个特定的功能。函数的名字应该反应其代表的功能。

    例7.1想输出以下的结果,用函数调用实现

    #include <stdio.h>
    int main()
    {
    	void print_star();//声明函数 
    	void print_message();
    	print_star();
    	print_message();//调用函数 
    	print_star();
    	return 0;
    }
    
    void print_star()
    {
    	printf("******************\n");
    }
    void print_message()
    {
    	printf("How do you do!\n");
    }
    
    

    运行结果:在这里插入图片描述

    例7.2输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

    //(1)先编写max函数
    int max(int x,int y)
    {
    	int z;
    	z=x>y?x:y;
    	return (z);
    } 
    //(2)再编写主函数
    #include <stdio.h>
    int main()
    {
    	int max(int x,int y);//对max函数的声明 
    	int a,b,c;
    	printf("please enter two integer number:");//提示输入数据 
    	scanf("%d,%d",&a,&b);//输入两个整数 
    	c=max(a,b);//调用max函数,有两个实参,大数赋给变量c 
    	printf("max is %d\n",c);
    	return 0; 
     } 
    

    运行结果:在这里插入图片描述

    例7.3将7.2稍作改动,将max函数中的定义的变量z改为float型。函数返回值类型与指定的函数类型不同,分析其处理方法

    #include <stdio.h> 
     int main()
     {
     	int max(float x,float y);
     	float a,b;
     	int c;
     	scanf("%f,%f",&a,&b);
     	c=max(a,b);
     	printf("max is %d\n",c);
     	return 0;
     }
     int max(float x,float y)
    {
     	float z;
     	z=x>y?x:y;
    	return (z);
     }
    

    运行结果:在这里插入图片描述

    例7.4输入两个实数,用一个函数求出他们之和

    #include <stdio.h>
     int main()
     {
     	float add(float x,float y);
     	float a,b,c;
     	printf("Please enter a and b:");
     	scanf("%f,%f",&a,&b);
     	c=add(a,b);
     	printf("sum is %f\n",c);
     	return 0;
     }
     float add(float x,float y)
     {
     	float z;
     	z=x+y;
     	return (z);
     }
    

    运行结果:在这里插入图片描述

    展开全文
  • 第七章 用函数实现模块化程序设计 例7.1 想输出以下的结果,用函数调用实现。...例7.4 输入个实数,用一个函数求出它们之和。 例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。 ...

    第七章 用函数实现模块化程序设计

    例7.1 想输出以下的结果,用函数调用实现。
    例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。
    例7.3 将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。
    例7.4 输入两个实数,用一个函数求出它们之和。
    例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。
    例7.6 有5个学生坐在一起,问5个学生多少岁,他说比第四个学生大两岁。问第4个学生岁数,他说比第三个学生大两岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大两岁。最后问第1个学生,他说是10岁。请问第5个学生多大。
    例7.7 用递归方法求n!。
    例7.8 汉诺塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一梵塔,塔内有三座A,B,C。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。
    例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。
    例7.10 有一个一维数组score,内放10个学生成绩,求平均值。
    例7.11 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
    例7.12 用选择法对数组中10个整数按有小到大排序
    例7.13 有一个34的矩阵,求所有元素中的最大值。
    例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后能求出平均分、最高分和最低分。
    例7.15 若外部变量与局部变量同名,分析结果。
    例7.16 考察静态局部变量的值。
    例7.17 输出1到5的阶乘值。
    例7.18 调用函数,求3个整数中的大者。
    例7.19 给定b的值,输入a和m,求ab和a^m的值。
    例7.20 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
    例7.1 想输出以下的结果,用函数调用实现。

    #include<stdio.h>
    int main()
    { void print_star();
    void print_message();
    print_star();
    print_message();
    print_star();
    return 0;
    }
    void print_star()
    {
    printf("*******************\n");
    }
    void print_message()
    {
    printf(" How do you do!\n");
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

    int max(int x,int y)
    {
    int z;
    z=x>y?x:y;
    return (z);
    }
    #include<stdio.h>
    int main()
    {
    int max(int x,int y);
    int a,b,c;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("max is %d\n",c);
    return 0;
    
    }
    

    -运行结果如下:
    在这里插入图片描述
    将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。

    #include<stdio.h>
    int main()
    {
    int max(float x,float y);
    float a,b;
    int c;
    scanf("%f,%f",&a,&b);
    c=max(a,b);
    printf("max is %d\n",c);
    return 0;
    }
    int max(float x,float y)
    { float z;
    z=x>y?x:y;
    return (z);
    
    }![在这里插入图片描述](https://img-blog.csdnimg.cn/20190401162001256.png)
    

    运行结果如下:例7.4 输入两个实数,用一个函数求出它们之和。

    #include<stdio.h>
    int main()
    {
    float add(float x,float y);
    float a,b,c;
    printf("Please enter a and b:");
    scanf("%f,%f",&a,&b);
    c=add(a,b);
    printf("sum is %f\n",c);
    return 0;
    }
    float add(float x,float y)
    {float z;
    z=x+y;
    return (z);
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。

    #include<stdio.h>
    int main()
    {int max4(int a,int b,int c,int d);
    int a,b,c,d,max;
    printf("Please enter 4 interger numbers:");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    max=max4(a,b,c,d);
    printf("max=%d\n",max);
    return 0;
    }
    int max4(int a,int b,int c,int d)
    {
    int max2(int a,int b);
    int m;
    m=max2(a,b);
    m=max2(m,c);
    m=max2(m,d);
    return (m);
    }
    int max2(int a,int b)
    {if(a>=b)
    return a;
    else
    return b;
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.6 有5个学生坐在一起,问5个学生多少岁,他说比第四个学生大两岁。问第4个学生岁数,他说比第三个学生大两岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大两岁。最后问第1个学生,他说是10岁。请问第5个学生多大。

    int age(int n)
    {int c;
    if(n==1)
    c=10;
    else
    c=age(n-1)+2;
    return (c);
    }
    #include<stdio.h>
    int main()
    {int age(int n);
    printf("NO.5,age:%d\n",age(5));
    return 0;
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.7 用递归方法求n!。

    #include<stdio.h>
    int main()
    {
    int fac(int n);
    int n;
    int y;
    printf("input an interger number:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;
    }
    int fac(int n)
    {
    int f;
    if(n<0)
    printf("n<0,data error!");
    else if(n==0||n==1)
    f=1;
    else f=fac(n-1)*n;
    return (f);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.8 汉诺塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一梵塔,塔内有三座A,B,C。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。

    #include<stdio.h>
    int main()
    {void hanoi(int n,char one,char two,char three);
    int m;
    printf("input the number of diskes: ");
    scanf("%d",&m);
    printf("The step to move %d diskes:\n",m);
    hanoi(m,'A','B','C');
    }
    void hanoi(int n,char one,char two,char three)
    {
    void move(char x,char y);
    if(n==1)
    move(one,three);
    else{
    hanoi(n-1,one,three,two);
    move(one,three);
    hanoi(n-1,two,one,three);
    }
    }
    void move(char x,char y)
    {
    printf("%c-->%c\n",x,y);
    
    }
    

    运行结果
    在这里插入图片描述
    例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

    #include<stdio.h>
    int main()
    {
    int max(int x,int y);
    int a[10],m,n,i;
    printf("enter 10 inteager numbers:");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)
    {
    if(max(m,a[i])>m)
    {m=max(m,a[i]);
    n=i;
    }
    }
    printf("The largest number is %d\nit is the %dth number.\n",m,n+1);
    }
    int max(int x,int y)
    {
    return(x>y?x:y);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.10 有一个一维数组score,内放10个学生成绩,求平均值。

    #include<stdio.h>
    int main()
    {
    float average(float array[10]);
    float score[10],aver;
    int i;
    printf("input 10 scores:\n");
    for(i=0;i<10;i++)
    scanf("%f",&score[i]);
    printf("\n");
    aver=average(score);
    printf("average score is %5.2f\n",aver);
    return 0;
    }
    float average(float array[10])
    {int i;
    float aver,sum=array[0];
    for(i=1;i<10;i++)
    sum=sum+array[i];
    aver=sum/10;
    return (aver);
    
    }
    

    运行结果
    在这里插入图片描述
    例7.11 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。

    #include<stdio.h>
    int main()
    {
    float average(float array[ ],int n);
    float score1[5]={98.5,97,91.5,60,55};
    float score2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};
    printf("The average of class A is %6.2f\n",average(score1,5));
    printf("The average of class B is %6.2f\n",average(score2,10));
    return 0;
    }
    float average(float array[ ],int n)
    {int i;
    float aver,sum=array[0];
    for(i=1;i<n;i++)
    sum=sum+array[i];
    aver=sum/n;
    return (aver);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.12 用选择法对数组中10个整数按有小到大排序

    #include<stdio.h>
    int main()
    {void sort(int array[ ],int n);
    int a[10],i;
    printf("enter array:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    sort(a,10);
    printf("The sorted array:\n");
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
    printf("\n");
    return 0;
    }
    void sort(int array[ ],int n)
    {int i,j,k,t;
    for(i=0;i<n-1;i++)
    {k=i;
    for(j=i+1;j<n;j++)
    if(array[j]<array[k])
    k=j;
    t=array[k];array[k]=array[i];array[i]=t;
    }
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.13 有一个3*4的矩阵,求所有元素中的最大值。

    #include<stdio.h>
    int main()
    {int max_value(int array[ ][4]);
    int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
    printf("Max value is %d\n",max_value(a));
    return 0;
    }
    int max_value(int array[ ][4])
    {int i,j,max;
    max=array[0][0];
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    if(array[i][j]>max)max=array[i][j];
    return (max);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后能求出平均分、最高分和最低分。

    #include<stdio.h>
    float Max=0,Min=0;
    int main()
    {float average(float array[ ],int n);
    float ave,score[10];
    int i;
    printf("Please enter 10 scores:");
    for(i=0;i<10;i++)
    scanf("%f",&score[i]);
    ave=average(score,10);
    printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
    return 0;
    }
    float average(float array[ ],int n)
    { int i;
    float aver,sum=array[0];
    Max=Min=array[0];
    for(i=1;i<n;i++)
    {if(array[i]>Max)Max=array[i];
    else if(array[i]<Min)Min=array[i];
    sum=sum+array[i];
    }
    aver=sum/n;
    return (aver);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.15 若外部变量与局部变量同名,分析结果。

    #include<stdio.h>
    int a=3,b=5;
    int main()
    {int max(int a,int b);
    int a=8;
    printf("max=%d\n",max(a,b));
    return 0;
    }
    int max(int a,int b)
    {
    int c;
    c=a>b?a:b;
    return (c);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.16 考察静态局部变量的值。

    #include<stdio.h>
    int main()
    {int f(int);
    int a=2,i;
    for(i=0;i<3;i++)
    printf("%d\n",f(a));
    return 0;
    }
    int f(int a)
    {auto int b=0;
    static c=3;
    b=b+1;
    c=c+1;
    return (a+b+c);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.17 输出1到5的阶乘值。

    #include<stdio.h>
    int main()
    {int fac(int n);
    int i;
    for(i=1;i<=5;i++)
    printf("%d!=%d\n",i,fac(i));
    return 0;
    }
    int fac(int n)
    {
    static int f=1;
    f=f*n;
    return (f);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.18 调用函数,求3个整数中的大者。

    #include<stdio.h>
    int main()
    {int max();
    extern int A,B,C;
    printf("Please enter three integer numbers:");
    scanf("%d%d%d",&A,&B,&C);
    printf("max is %d\n",max());
    return 0;
    }
    int A,B,C;
    int max()
    {int m;
    m=A>B?A:B;
    if(C>m)m=C;
    return (m);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.19 给定b的值,输入a和m,求a*b和a^m的值。

    #include<stdio.h>
    int A;
    int main()
    {int power(int);
    int b=3,c,d,m;
    printf("enter the number a and its power m:\n");
    scanf("%d,%d",&A,&m);
    c=A*b;
    printf("%d*%d=%d\n",A,b,c);
    d=power(m);
    printf("%d**%d=%d\n",A,m,d);
    return 0;
    }
    extern A;
    int power(int n)
    {int i,y=1;
    for(i=1;i<=n;i++)
    y*=A;
    return (y);
    
    }
    

    运行结果:
    在这里插入图片描述
    例7.20 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。

    #include<stdio.h>
    int main()
    {
    extern void enter_string(char str[]);
    extern void delete_string(char str[],char ch);
    extern void print_string(char str[]);
    char c,str[80];
    enter_string(str);
    scanf("%c",&c);
    delete_string(str,c);
    print_string(str);
    return 0;
    }
    void enter_string(char str[80])
    {
    gets(str);
    }
    void delete_string(char str[],char ch)
    {int i,j;
    for(i=j=0;str[i]!='\0';i++)
    if(str[i]!=ch)
    str[j++]=str[i];
    str[j]='\0';
    }
    void print_string(char str[])
    {
    printf("%s\n",str);
    
    }
    

    运行结果如下:
    在这里插入图片描述

    展开全文
  • 第七章

    2019-04-01 16:16:46
    第七章 用函数实现模块化程序设计 例7.1 想输出以下的结果,用函数调用实现。...例7.4 输入个实数,用一个函数求出它们之和。 例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。 ...

    第七章 用函数实现模块化程序设计

    例7.1 想输出以下的结果,用函数调用实现。
    例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。
    例7.3 将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。
    例7.4 输入两个实数,用一个函数求出它们之和。
    例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。
    例7.6 有5个学生坐在一起,问5个学生多少岁,他说比第四个学生大两岁。问第4个学生岁数,他说比第三个学生大两岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大两岁。最后问第1个学生,他说是10岁。请问第5个学生多大。
    例7.7 用递归方法求n!。
    例7.8 汉诺塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一梵塔,塔内有三座A,B,C。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。
    例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。
    例7.10 有一个一维数组score,内放10个学生成绩,求平均值。
    例7.11 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
    例7.12 用选择法对数组中10个整数按有小到大排序
    例7.13 有一个34的矩阵,求所有元素中的最大值。
    例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后能求出平均分、最高分和最低分。
    例7.15 若外部变量与局部变量同名,分析结果。
    例7.16 考察静态局部变量的值。
    例7.17 输出1到5的阶乘值。
    例7.18 调用函数,求3个整数中的大者。
    例7.19 给定b的值,输入a和m,求a
    b和a^m的值。
    例7.20 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
    例7.1 想输出以下的结果,用函数调用实现。

    在这里插入图片描述

    #include<stdio.h>
    int main()
    { void print_star();
    void print_message();
    print_star();
    print_message();
    print_star();
    return 0;
    }
    void print_star()
    {
    printf("*******************\n");
    }
    void print_message()
    {
    printf(" How do you do!\n");
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.2 输入两个整数,要求输出其中值较大者。要求用函数来找到大数。

    int max(int x,int y)
    {
    int z;
    z=x>y?x:y;
    return (z);
    }
    #include<stdio.h>
    int main()
    {
    int max(int x,int y);
    int a,b,c;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("max is %d\n",c);
    return 0;
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.3 将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。

    #include<stdio.h>
    int main()
    {
    int max(float x,float y);
    float a,b;
    int c;
    scanf("%f,%f",&a,&b);
    c=max(a,b);
    printf("max is %d\n",c);
    return 0;
    }
    int max(float x,float y)
    { float z;
    z=x>y?x:y;
    return (z);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.4 输入两个实数,用一个函数求出它们之和。

    #include<stdio.h>
    int main()
    {
    float add(float x,float y);
    float a,b,c;
    printf("Please enter a and b:");
    scanf("%f,%f",&a,&b);
    c=add(a,b);
    printf("sum is %f\n",c);
    return 0;
    }
    float add(float x,float y)
    {float z;
    z=x+y;
    return (z);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.5 输入四个整数,找出其中最大的数。用函数的嵌套调用来处理。

    #include<stdio.h>
    int main()
    {int max4(int a,int b,int c,int d);
    int a,b,c,d,max;
    printf("Please enter 4 interger numbers:");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    max=max4(a,b,c,d);
    printf("max=%d\n",max);
    return 0;
    }
    int max4(int a,int b,int c,int d)
    {
    int max2(int a,int b);
    int m;
    m=max2(a,b);
    m=max2(m,c);
    m=max2(m,d);
    return (m);
    }
    int max2(int a,int b)
    {if(a>=b)
    return a;
    else
    return b;
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.6 有5个学生坐在一起,问5个学生多少岁,他说比第四个学生大两岁。问第4个学生岁数,他说比第三个学生大两岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大两岁。最后问第1个学生,他说是10岁。请问第5个学生多大。

    int age(int n)
    {int c;
    if(n==1)
    c=10;
    else
    c=age(n-1)+2;
    return (c);
    }
    #include<stdio.h>
    int main()
    {int age(int n);
    printf("NO.5,age:%d\n",age(5));
    return 0;
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.7 用递归方法求n!。

    #include<stdio.h>
    int main()
    {
    int fac(int n);
    int n;
    int y;
    printf("input an interger number:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;
    }
    int fac(int n)
    {
    int f;
    if(n<0)
    printf("n<0,data error!");
    else if(n==0||n==1)
    f=1;
    else f=fac(n-1)*n;
    return (f);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.8 汉诺塔问题。这是一个古典的数学问题,是一个用递归方法解题的典型例子。问题是这样的:古代有一梵塔,塔内有三座A,B,C。开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。

    #include<stdio.h>
    int main()
    {void hanoi(int n,char one,char two,char three);
    int m;
    printf("input the number of diskes: ");
    scanf("%d",&m);
    printf("The step to move %d diskes:\n",m);
    hanoi(m,'A','B','C');
    }
    void hanoi(int n,char one,char two,char three)
    {
    void move(char x,char y);
    if(n==1)
    move(one,three);
    else{
    hanoi(n-1,one,three,two);
    move(one,three);
    hanoi(n-1,two,one,three);
    }
    }
    void move(char x,char y)
    {
    printf("%c-->%c\n",x,y);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.9 输入10个数,要求输出其中值最大的元素和该数是第几个数。

    #include<stdio.h>
    int main()
    {
    int max(int x,int y);
    int a[10],m,n,i;
    printf("enter 10 inteager numbers:");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)
    {
    if(max(m,a[i])>m)
    {m=max(m,a[i]);
    n=i;
    }
    }
    printf("The largest number is %d\nit is the %dth number.\n",m,n+1);
    }
    int max(int x,int y)
    {
    return(x>y?x:y);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.10 有一个一维数组score,内放10个学生成绩,求平均值。

    #include<stdio.h>
    int main()
    {
    float average(float array[10]);
    float score[10],aver;
    int i;
    printf("input 10 scores:\n");
    for(i=0;i<10;i++)
    scanf("%f",&score[i]);
    printf("\n");
    aver=average(score);
    printf("average score is %5.2f\n",aver);
    return 0;
    }
    float average(float array[10])
    {int i;
    float aver,sum=array[0];
    for(i=1;i<10;i++)
    sum=sum+array[i];
    aver=sum/10;
    return (aver);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.11 有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。

    #include<stdio.h>
    int main()
    {
    float average(float array[ ],int n);
    float score1[5]={98.5,97,91.5,60,55};
    float score2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};
    printf("The average of class A is %6.2f\n",average(score1,5));
    printf("The average of class B is %6.2f\n",average(score2,10));
    return 0;
    }
    float average(float array[ ],int n)
    {int i;
    float aver,sum=array[0];
    for(i=1;i<n;i++)
    sum=sum+array[i];
    aver=sum/n;
    return (aver);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.12 用选择法对数组中10个整数按有小到大排序

    #include<stdio.h>
    int main()
    {void sort(int array[ ],int n);
    int a[10],i;
    printf("enter array:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    sort(a,10);
    printf("The sorted array:\n");
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
    printf("\n");
    return 0;
    }
    void sort(int array[ ],int n)
    {int i,j,k,t;
    for(i=0;i<n-1;i++)
    {k=i;
    for(j=i+1;j<n;j++)
    if(array[j]<array[k])
    k=j;
    t=array[k];array[k]=array[i];array[i]=t;
    }
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.13 有一个3*4的矩阵,求所有元素中的最大值。

    #include<stdio.h>
    int main()
    {int max_value(int array[ ][4]);
    int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};
    printf("Max value is %d\n",max_value(a));
    return 0;
    }
    int max_value(int array[ ][4])
    {int i,j,max;
    max=array[0][0];
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    if(array[i][j]>max)max=array[i][j];
    return (max);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后能求出平均分、最高分和最低分。

    #include<stdio.h>
    float Max=0,Min=0;
    int main()
    {float average(float array[ ],int n);
    float ave,score[10];
    int i;
    printf("Please enter 10 scores:");
    for(i=0;i<10;i++)
    scanf("%f",&score[i]);
    ave=average(score,10);
    printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
    return 0;
    }
    float average(float array[ ],int n)
    { int i;
    float aver,sum=array[0];
    Max=Min=array[0];
    for(i=1;i<n;i++)
    {if(array[i]>Max)Max=array[i];
    else if(array[i]<Min)Min=array[i];
    sum=sum+array[i];
    }
    aver=sum/n;
    return (aver);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.15 若外部变量与局部变量同名,分析结果。

    #include<stdio.h>
    int a=3,b=5;
    int main()
    {int max(int a,int b);
    int a=8;
    printf("max=%d\n",max(a,b));
    return 0;
    }
    int max(int a,int b)
    {
    int c;
    c=a>b?a:b;
    return (c);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.16 考察静态局部变量的值。

    #include<stdio.h>
    int main()
    {int f(int);
    int a=2,i;
    for(i=0;i<3;i++)
    printf("%d\n",f(a));
    return 0;
    }
    int f(int a)
    {auto int b=0;
    static c=3;
    b=b+1;
    c=c+1;
    return (a+b+c);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.17 输出1到5的阶乘值。

    #include<stdio.h>
    int main()
    {int fac(int n);
    int i;
    for(i=1;i<=5;i++)
    printf("%d!=%d\n",i,fac(i));
    return 0;
    }
    int fac(int n)
    {
    static int f=1;
    f=f*n;
    return (f);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.18 调用函数,求3个整数中的大者。

    #include<stdio.h>
    int main()
    {int max();
    extern int A,B,C;
    printf("Please enter three integer numbers:");
    scanf("%d%d%d",&A,&B,&C);
    printf("max is %d\n",max());
    return 0;
    }
    int A,B,C;
    int max()
    {int m;
    m=A>B?A:B;
    if(C>m)m=C;
    return (m);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.19 给定b的值,输入a和m,求a*b和a^m的值。

    #include<stdio.h>
    int A;
    int main()
    {int power(int);
    int b=3,c,d,m;
    printf("enter the number a and its power m:\n");
    scanf("%d,%d",&A,&m);
    c=A*b;
    printf("%d*%d=%d\n",A,b,c);
    d=power(m);
    printf("%d**%d=%d\n",A,m,d);
    return 0;
    }
    extern A;
    int power(int n)
    {int i,y=1;
    for(i=1;i<=n;i++)
    y*=A;
    return (y);
    
    }
    

    运行结果如下:
    在这里插入图片描述
    例7.20 有一个字符串,内有若干个字符,现输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。

    #include<stdio.h>
    int main()
    {
    extern void enter_string(char str[]);
    extern void delete_string(char str[],char ch);
    extern void print_string(char str[]);
    char c,str[80];
    enter_string(str);
    scanf("%c",&c);
    delete_string(str,c);
    print_string(str);
    return 0;
    }
    void enter_string(char str[80])
    {
    gets(str);
    }
    void delete_string(char str[],char ch)
    {int i,j;
    for(i=j=0;str[i]!='\0';i++)
    if(str[i]!=ch)
    str[j++]=str[i];
    str[j]='\0';
    }
    void print_string(char str[])
    {
    printf("%s\n",str);
    
    }
    

    运行结果如下:
    在这里插入图片描述

    展开全文
  • (4)求出平均分方差; 57 8.13写几个函数:(1)输入10个职工的姓名职工号;(2)按职工号由小到大排序,姓名顺序也随调整;(3)要求输入一个职工号,用折半查找法找出该职工的姓名。 61 8.14写一函数,输入一...
  • 2. C语言的函数兼有其它语言中的函数和过程种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。 (1)有返回值函数  此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如...
  • scanf printf这函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这函数在括号中的参数表都由以下两部分组成: “格式控制串”,参数表 格式控制串是一个字符串,必须用...
  • 本例中使用了个变量x,s,用来表示输入的自变量sin函数值。由于sin函数要求这个量必须是双精度浮点型,故用类型说明符double来说明这个变量。说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的...
  • 3.3.3 二分图应用于最佳匹配问题(游客对房间的满意度之和最大问题) 3.3.4 class与struct的区别? 3.3.5 虚函数和纯虚函数 3.3.6 menset()函数 3.3.7 实现一个函数,对一个正整数n,算得到1需要的最少操作次数...
  • 1.7 怎样声明定义全局变量和函数最好? 4 1.8 如何在C中实现不透明(抽象)数据类型? 5 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态...
  • 在C++中,有种给注释的方法:一种是延用C语言方法,使用"/*""*/"括起注释文字。另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个...
  • LINGO软件的学习

    2009-08-08 22:36:50
    LINGO是用来求解线性非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 §1 LINGO快速入门 当你在windows下开始运行...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.7 怎样声明定义全局变量和函数最好? 4 1.8 如何在C中实现不透明(抽象)数据类型? 5 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态...
  • javascript入门笔记

    2018-05-15 15:01:07
    Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 ... 1、定义一个函数 change ,该函数中接收个参数(a,b) 2、在函数体中,如果 a 大于 b的话...
  • 1.7 怎样声明定义全局变量和函数最好? 1.8 如何在C中实现不透明(抽象)数据类型? 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同一个静态(static)函数或...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    2、实现1所要求的代码后,运行设计好的代码,将以下的几组整数序列建成搜索二叉树,并记录下它们的前序遍历序列后序遍历序列: a. 1、3、5、7、9; b. 1、13、35、13、27; c. 50、25、78、13、44、...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    16.设m.n均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5, 有 5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。 ①以下是该函数的程序段,请将未完成的部分填入,...
  • 10.求以下表达式的值,写您想到的一种或几种实现方法: 1-2+3-4+……+m [Page] 答: int Num = this.TextBox1.Text.ToString() ; int Sum = 0 ; for (int i = 0 ; i ; i++) { if((i%2) == 1) { Sum += i ; ...
  • 这是一个无参函数,里面只有个语句,它的作用是使链表初始化,使head的值为NULL一个清屏语句。比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码! 输入记录函数 ...
  • round方法返回与参数最接近的长整数,参数加1/2后其floor. 30、String s = new String("xyz");创建了几个String Object? 个 31、EJB包括(SessionBean,EntityBean)说他们的生命周期,及如何管理事务的? ...
  • java 面试题 总结

    2009-09-16 08:45:34
    round方法返回与参数最接近的长整数,参数加1/2后其floor. 27、String s = new String("xyz");创建了几个String Object? 个 28、设计4个线程,其中个线程每次对j增加1,另外个线程对j每次减少1。写程序...
  • 接口类问题(B类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题; 维护类问题(C类)-指设计、...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    java一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...
  • 消息驱动Bean必须实现个接口MessageDrivenBeanMessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印消息的内容。同时一个mail note将被...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    java一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

以下函数用来求出两整数之和