重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了科尔沁右翼中免费建站欢迎大家使用!
void oushu(int a[],int n)
{
int i;
for(i = 0; i 10; i++)
{
if (a[i] % 2 == 0)
printf("%d ",a[i]);
}
}
int main(void)
{
int a[10];
int i;
printf("请输入10个数,空格分开:");
for(i = 0; i 10;i++)
{
scanf("%d",a[i]);
}
oushu(a,10);
}
#includestdio.h
#includestdlib.h
#define shengxu 0
void RandonArray(int a[],int n)
{
int i;
srand(time(NULL));
for(i=0;in;i++)
{
a[i]=rand();
}
}
void SortArray(int a[],int n)
{
int i,j,t;
for(i=0;in-1;i++)
{
for(j=0;jn-i-1;j++)
{
if(shengxu)
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
else
{
if(a[j]a[j+1])
{
t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
}
}
void OutputArray(int a[],int n)
{
int i;
for(i=0;in;i++)
{
printf("%d,",a[i]);
}
}
int main()
{
int i,n,*a;
char msg[]={-56,-25,-71,-5,-78,-55,-60,-55,-93,-84,-57,-21,-72,-8,-50,
-46,50,48,48,-78,-58,-72,-69,-93,-95,0};
printf("%s\n\n",msg);
printf("请输入要随机产生的数组的元素个数:");
scanf("%d",n);
a=(int*)calloc(n,sizeof(int));
RandonArray(a,n);
printf("%s排序前数组各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
SortArray(a,n);
printf("\n%s排序后数组各元素的值是:\n",shengxu ? "升序" : "降序");
OutputArray(a,n);
free(a);
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}
C语言中,数组名作为函数参数,属于数组参数传递。在VB6.0中,允许使用数组作为实参传递到子过程的形参中,数组传递必须采用地址传递的方式来传递参数。
数组型变量名本身只是该数组所占存储空间的首地址,函数调用时,系统不会为形参分配数组存储空间,而是仅仅分配一个存放数组地址(第一个元素地址)的存储空间,此后,将实参数组的首地址传递给形参变量。
二维数组这样写是不正确的。比如把s[]数组的数连接在a[]后面,直接是strcat(a,s),直接写数组名。而在char strcat(char a[][],s[])中,第一个参数应该写为a[][50],第二个方括号里的不能省略。
#includestdio.h
#includestdlib.h
void swap(int *min,int *max)
{
int t;
t=*min;
*min=*max;
*max=t;
}
int main()
{
int i,n,*arr,*min,*max;
printf("请输入数组的元素个数:");
scanf("%d",n);
arr=(int*)calloc(n,sizeof(int));
min=max=arr;
printf("请输入%d个整数:\n",n);
for(i=0;in;i++)
{
scanf("%d",arr+i);
if(arr[i]*max)
max=arr+i;
if(arr[i]*min)
min=arr+i;
}
swap(min,max);
printf("最大值与最小值位置互换后:\n");
for(i=0;in-1;i++)
printf("%d ",arr[i]);
printf("%d\n",arr[n-1]);
free(arr);
return 0;
}