函数练习题(参数为数组类型)
Part 1
Step 1: 运行以下程序,分析程序功能。冒泡法
#include
#define N 10
void sort(int x[],int n)
{
int i,j,temp;
for (i=0; ix[j+1])
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
return ;
}
int main()
{
int a[N]={5,3,8,7,9,2,1,6,4,0};
int i;
printf("before sorted:");
for (i=0; i
#include
#include
#define N 100
int main()
{
int a[N];
int i;
srand(time(0));//设置当前时间为种子
for(i=0;ix[j+1])
{
temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
if(flag==0)
{
for (i=0;ia[j])
t=a[i];a[i]=a[j];a[j]=t;
}
return 0;
}
主函数修改如下:
int main()
{
void sort_d(int x[],int n);
int a[N],int b[N];
for(i=0;i
#define N 50
int main()
{
char data[N] ;
int length;
scanf("%s",data);
length=strlen(data);
printf("length=%dn",length);
return 0;
}
(*大家注意紫色代码,这个输入语句中,%s表示什么意思,data之前为什么没有加&符号)%s取的是字符串的首地址,不需要加地址符
%s对应的是输入一个字符串,需要提供一个字符数组来存储,数组名是一个地址,不用加&取地址的。
Step 2:
以上程序的功能是调用标准函数strlen,求出一个字符串的实际长度。请自己写一个函数,实现相同的功能,并且在主函数中调用。函数首部如下:
1.int slengthf(char x[])
{
int i,length=0;//i是循环计数器,len记录长度.
for (i=0;i