C基础day8作业

1,在主函数定义二维数组,在有参无返函数中实现杨慧三角

#include

void yh(int n,int a[n][n]);
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:");
	scanf("%d",&n);
	int a[n][n];
	yh(n,a);
	return 0;
}
void yh(int n,int a[n][n])
{
	for(int i=0;i

C基础day8作业_第1张图片

2.在主函数定义二维数组并输入,在有参有返函数中计算二维数组的第二大值
eg:数组元素是124 345344
则第二大值是12
返回第二大值

#include

int Max_2(int line, int row,int a[][row]);
int main(int argc, const char *argv[])
{
	int a[3][2]={12,4,34,5,34,4};
	int line = sizeof(a)/sizeof(a[0]);
	int row = sizeof(a[0])/sizeof(a[0][0]);
	printf("max_2=%d\n",Max_2(line,row,a));
	return 0;
}
int Max_2(int line, int row,int a[][row])
{
	int i,j;
	int max=a[0][0];
	int max_2=a[0][0];
	for(i=0;i

C基础day8作业_第2张图片

3.在主函数中定义两个字符串并输入,在有参无返函数中实现字符串拷贝

#include

void my_strcpy (char a[20],char b[20]);
int main(int argc, const char *argv[])
{
	char a[20]="";
	printf("please enter a:");
	gets(a);
	char b[20]="";
	printf("please enter b:");
	gets(b);
	my_strcpy(a,b);
	return 0;
}

void my_strcpy (char a[20],char b[20])
{
	int i=0;
	for(i=0;b[i]!='\0';i++)
	{
		a[i]=b[i];
	}
	a[i]='\0';
	puts(a);

}

 C基础day8作业_第3张图片

 4.在主函数中定义两个字符串并输入,在有参无返函数中实现字符串链接

#include

void my_strcat(char a[20],char b[20]);
int main(int argc, const char *argv[])
{
	char a[20]="";
	printf("please enter a:");
	gets(a);
	char b[20]="";
	printf("please enter b:");
	gets(b);
	my_strcat(a,b);
	return 0;
}
void my_strcat(char a[20],char b[20])
{
	int i,j;
	for(i=0;a[i]!='\0';i++);
	for(j=0;b[j]!='\0';j++)
	{
		a[i+j]=b[j];
	}
	puts(a);
}

C基础day8作业_第4张图片

5.在主函数中定义一个字符串并输入,在有参有返函数中是atoi 

#include

int my_atio(char a[20]);
int main(int argc, const char *argv[])
{
	char a[20]="";
	printf("please enter a:");
	gets(a);
	int sum = my_atio(a);
	printf("sum=%d",sum);
	return 0;
}

int my_atio(char a[20])
{
	int i,j,s;
	i=0;
	while(a[i]==' ')
	{
		i++;
	}
	if (a[i]=='-'||a[i]=='+')
	{
		j=i;
		i++;
	}
	s=0;
	while(a[i]!='\0')
	{
		if(a[i]>='0'&&a[i]<='9')
		{
		s=s*10+(a[i]-'0');
		}
		else
		{
			break;
		}
		i++;
	}
	if(a[j]=='-')
		s=-s;
	return s;
}

C基础day8作业_第5张图片

6.在主函数定义二维数组并输入,在有参无返函数中实现二维数组转置

#include

void turn(int line,int row,int a[][3]);
int main(int argc, const char *argv[])
{
	int a[2][3];//={1,2,3,4,5,6};
	printf("please enter a[2][3]:\n");	
	int line = sizeof(a)/sizeof(a[0]);
	int row = sizeof(a[0])/sizeof(a[0][0]);

	for(int i=0;i

 C基础day8作业_第6张图片

7.在主函数定义一维数组并输入,在有参有返函数中计算一维数组的第二小值
eg:输入元素是12 4 32 5 34 4
     则第二小值是5 

#include

int min_2 (int n,int arr[n]);
int main(int argc, const char *argv[])
{
	int arr[]={12,4,32,5,34,4};
	int n=sizeof(arr)/sizeof(arr[0]);
	printf("min_2=%d\n",min_2(n,arr));
	return 0;
}

int min_2 (int n,int arr[n])
{
	int i,j;
	int min=arr[0];
	int min2=arr[0];

	for(i=0;iarr[i])
		{
			min=arr[i];
		}
	}
	for(j=0;jarr[j]&&arr[j]!=min)
		{
			min2=arr[j];
		}
	}
	return min2;
}

8.递归计算各个位数字的乘积。
2315--->2*3*1*5-->30

#include

int Sum(int num);
int main(int argc, const char *argv[])
{
	int num;
	printf("please enter num:");
	scanf("%d",&num);
	printf("mul=%d\n",Sum(num));

	return 0;
}

int Sum(int num)
{
	int s=0;
	if(num/10==0)
	{
		return num%10;
	}
	else
	{
		s=num%10;
		num/=10;
		return Sum(num)*s;
	}
}

C基础day8作业_第7张图片

思维导图

C基础day8作业_第8张图片

你可能感兴趣的:(c语言)