/* 冒泡排序法 */
创新互联-成都网站建设公司,专注成都网站设计、成都做网站、网站营销推广,主机域名,网站空间,网站改版维护有关企业网站制作方案、改版、费用等问题,请联系创新互联。
#include "stdio.h"
#define SIZE 10
void Paixi(int a[]){
int pass,i,hold;
for(pass=0;pass=SIZE-1;pass++) /* pass */
for(i=0;i=SIZE-2;i++) /* one pass */
if(a[i]a[i+1]) /* one comparison */
{
hold=a[i];
a[i]=a[i+1];
a[i+1]=hold;
}
}
void main()
{
int i, a[SIZE]={1,5,2,4,8,6,14,21,30,25};
printf("Data item in original order \n");
for(i=0;i=SIZE-1;i++)
printf("%4d",a[i]);
Paixi(a);
printf("\n Data items in ascending order \n");
for(i=0;i=SIZE-1;i++)
printf("%4d", a[i]);
printf("\n");
}
1:子函数中sum没有初值,应该为
float
sum=0;
2:sum/10的结果为浮点型,你定义一个整型的avg1接收会产生错误,应该定义一个浮点型变量接收值
3:你这里是三个学生,你在函数中不应该除以10,另外函数中的循环取得的sum值是一个学生五门功课的成绩总和,如果要求每一门功课的
平均成绩,你的循环需要修改
4:函数的调用是压栈的过程,你的函数没有返回值所以不可以return
b[5],如果想要返回一个数组你应该在主函数中先定义然后向自定义函数中传入子函数地址,这样就可以保存每门功课的成绩了
希望可以帮到你
你可以返回s数组的首地址,函数可以这么定义:
int* f1(int a[], int n, int k)
{
....//你的代码
return s;
}
max 函数在 main 之后定义,使用时要在 main 中声明,否则调用时找不到函数的位置,或是把 max 函数放在 main 的前面.
#includestdio.h
main()
{
int a,b,c;
/*下面一行为所加内容*/
int max(int x,int y);
scanf("%d,%d",a,b);
c=max(a,b);
printf("max=%d",c);
}
int max(int x,int y)
{
int z;
if (xy) z=x;
else x=y;
return (z);
}
来传送子函数中的数组有多种方法——可以通过函数返回值返回地址传递数组;也可以通过函数输入参数来传递数组;还可以通过全局变量来传递数组。
子函数本身可以直接在作用域中进行调用。
1、通过函数返回值返回地址传递数组。
声明函数时需要声明函数返回值类型为对应数组的地址,此时可以返回数组的地址,结合数组元素的地址关系可以传递整个数组,同时可以根据数组的特性传递多个参数。
2、通过输入参数传递数组。
声明函数时提供空输入参数,调用函数时提供目标数组,即可以通过该数组调用子函数中的数组,该方法也可以用于传递多个参数。
3、通过全局变量来传递数组。
声明全局变量用于存储子函数中的数组,此时可以在全局变量作用域中读取调用子函数的数组。
注意:子函数是C语言模块化编程思想的核心,其方法是通过输入接口和输出接口实现对黑盒的调用,故对其内部数据的输入和调用也需要通过输入接口、输出接口和程序的公共区域实现。
#includestdio.h
#includemath.h
void main()
{ int i;
int fun(int);
for(i=2;i=200;i++)
if(fun(i)) printf("%6d",i);
getch();
}
int fun(int n)
{int i,t;
t=sqrt(n);
for(i=2;i=t;i++)
if(n%i==0) return (0);
return (1);
}
文章名称:c语言主函数调用组数函数,c语言主函数调用子函数
当前地址:https://www.cdcxhl.com/article10/dsihjdo.html
成都网站建设公司_创新互联,为您提供外贸建站、企业网站制作、软件开发、网站设计、标签优化、外贸网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联