c语言调用一维数组函数 c语言一维数组的使用

C语言中通过函数调用对一维数组进行排序#include stdio.h
#include stdlib.h
#include time.h
#define MAXlen 100
void select_sort(int *x, int n) {//选择排序
int i, j, min;
int t;
for (i = 0; in - 1; i) {// 要选择的次数:0~n-2共n-1次
min = i;// 假设当前下标为i的数最小 , 比较后再调整
for (j = i1; jn; j) { //循环找出最小的数的下标是哪个
if (*(xj)*(xmin)) {
min = j;// 如果后面的数比前面的小,则记下它的下标
}
}
if (min != i) {// 如果min在循环中改变了 , 就需要交换数据
t = *(xi);
*(xi) = *(xmin);
*(xmin) = t;
}
}
}
int main() {
int i;
int iArr[MAXlen];
srand((unsigned int)time(NULL));
printf("\n排序前:\n");
for(i = 0 ; iMAXlen ; i) {
iArr[i] = (unsigned int)rand() % 1000;
if(i % 10 == 0) printf("%\n");
printf("]",iArr[i]);
}
printf("\n");
select_sort(iArr,MAXlen);
printf("\n排序后:\n");
for(i = 0 ; iMAXlen ; i) {
if(i % 10 == 0) printf("%\n");
printf("]",iArr[i]);
}
printf("\n\n");
return 0;
}
C语言 编写一个一维数组求平均值的函数,在主函数中调用 。要求数组名做参数#includestdio.h
const int N=3000;
int n;
double array[N];
double getAverage(double a[])
{
int i;
double sum=0;
for(i=0;in;i)sum =a[i];
return sum/n;
}
int main()
{
int i;
printf("输入数组c语言调用一维数组函数的元素个数 n :\n");
scanf("%d",n);
printf("依次输入n个元素c语言调用一维数组函数:\n");
for(i=0;in;i)scanf("%lf",array[i]);
printf("平均值:\n");
printf("%.3lf\n",getAverage(array));
return 0;
}
c语言函数怎么调用数组部分一、数组可定义为全局变量,函数直接调用 。
二、数组可定义为局部变量,再通过参数传递到函数中调用(实参传数组名,表示数组首地址 , 也可通过指针或数组名 数字来传递数组局部地址) 。
三、main函数想要调用函数返回的数组,可用static定义静态变量或malloc定义动态数组(字符串常量也可返回使用,但局部变量,在函数调用结束会被释放,不能作为返回地址使用) 。
下面是演示代码:
#include stdio.h
#include string.h
#include malloc.h
char str1[]="我是全局变量数组";
char *fun0(char str2[]);
char *fun1();
char *fun2();
int main()
{
char *str3=NULL,*str4=NULL,*str5=NULL;
char str2[]="我是main函数的局部数组变量";
str3=fun0(str2);
printf("str3:%s,fun函数调用结束,我的地址依然可以使用\n",str3);
str4=fun1();
printf("str4:%s,fun函数调用结束 , 我的地址依然可以使用\n",str4);
str5=fun2();
printf("str5:%s,fun函数调用结束,函数结束不会自动释放\n",str5);
free(str5);
return 0;
}
char *fun0(char s[])
{
static char str3[]="我是fun函数申明的静态数组变量";
printf("str1:%s,fun函数可以直接调用\n",str1);
printf("str2:%s,fun函数通过参数将我的地址传进来\n",s);
return str3;
}
char *fun1()
{
char *str4="我是fun1函数的字符串常量";
return str4;
}
【c语言调用一维数组函数 c语言一维数组的使用】char *fun2()
{
int len;
char sTemp[]="这是一个临时数组,之后用于给mallc申请的地址传值,传递内容为:(我是fun函数通过mallic申请的数组)";
char *str5=NULL;
len=strlen(sTemp 63);
str5=(char *)malloc(sizeof(char)*len 1);
if(!str5)return NULL;
strcpy(str5,sTemp 63);
str5[len-2]=0;
return str5;
}
C语言一维数组函数间的调用1)首先删除函数就有问题,你传入的参数i在哪里发挥作用了?只是把数组顺序前移了 , 应该把k=0改为k=i
2)你在n=getData(a);后面,打印一下a数组的内容,可能这里就不对,这个地方数组是传不出来的 , 你可以看看 。
3)你查一下数据在函数参数中的用法,在子函数内对数组的修改应该传不出来,你把a数组作为全局变量使用才有可能得到结果 。
C语言编程,使用一维数组#include "stdio.h"
int main(int argc,char *argv[]){
int a[30]={67,88,91,79,65,57,99,45,100,97,
78,76,53,61,69,59,93,94,90,80,
66,71,78,92,98,94,37,100,98,71},i,k;
for(k=i=0;i30;i)
if(a[i]60)
k;
printf("More than 60 points students is(are) %d people.\n",k);
return 0;
}
代码格式和运行样例图片:
C语言编写一个排序函数(对一维数组排序)并在主函数中调用for(j=i 1;jn;j)
{
if(a[j 1]a[i])//a[j 1]改成a[j]
{
t=a[i];
a[i]=a[j 1];//a[j 1]改成a[j]
a[j 1]=t;//a[j 1]改成a[j]
}
}
c语言调用一维数组函数的介绍就聊到这里吧 , 感谢你花时间阅读本站内容 , 更多关于c语言一维数组的使用、c语言调用一维数组函数的信息别忘了在本站进行查找喔 。

    推荐阅读