您的位置:首页 > 其它

TD-SCDMA 5ms子帧的设计考虑

2010-10-10 14:44 134 查看
//  数组元素作函数实参

在用数组元素作函数实参时,把实参的值传给形参,是"值传递"方式。
数据传递的方向是 从实参传到形参,单向传递。

输入10个数,要求输出其中值最大的元素和该数是第几个数。
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
int max(int x,int y);
int a[10],m,n,i;
printf("enter 10 integer numbers:");
for(i=0;i<10;i++)
scanf_s("%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);
}

//  数组名作函数参数

用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,
向形参(数据名或指针变量)传递的是数组首元素的地址。

有一个一维数组 score,内放10个学生成绩,求平均成绩。
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
float average(float array[10]);
float score[10],aver;
int i;
printf("input 10 scores:\n");
for(i=0;i<10;i++)
scanf_s("%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);
}

有两个班级,分别有35名和30名学生,调用一个average函数,分别求着两个班的学生的平均成绩。
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
float average(float array[ ],int n);
float scorel[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(scorel,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);
}

用选择法对数组中10个整数按由小到大排序。
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
void sort(int array[ ],int n);
int a[10],i;
printf("enter array:\n");
for(i=0;i<10;i++)
scanf_s("%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;
}
}

//  多维数组名作函数参数
有一个3*4的矩阵,求所有元素中的最大值。
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: