C语言 2024.1.5

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

 程序代码:

  1 #include
  2 #include
  3 #include
  4 void Y_H(int n,int arr[n][n]);
  5 int main(int argc, const char *argv[])
  6 {
  7     int n;//定义n,终端输入
  8     printf("enter n:");
  9     scanf("%d",&n);
 10     int arr[n][n];//定义二维数组,杨辉三角行列相等
 11     Y_H(n,arr);//调用函数Y_H
 12     return 0;
 13 }
 14 void Y_H(int n,int arr[n][n])
 15 {
 16     for(int i=0;i

效果显示:

C语言 2024.1.5_第1张图片

2. 在主函数定义二维数组并输入,在有参无返函数中计算二维数组的第二大值

程序代码:

#include 
#include 
#include 
int fun(int n,int k,int a[n][k])
{
	int max,max2;
	max=a[0][0];
	for(int i=0;i=0;i--)
	{
		for(int j=(k-1);j>=0;j--)
		{
			if(max2

 效果显示:

C语言 2024.1.5_第2张图片

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

 程序代码:

#include 
#include 
#include 
void fun(char str[100],char str1[100])
{
    int i;
    for(i=0;str1[i]!='\0';i++)
    {
        str[i]=str1[i];
    }
    str[i]='\0';
    puts(str);
}
int main(int argc, const char *argv[])
{
    char str[100]="";
    char str1[100]="";
    printf("enter str:");
    gets(str);
    printf("enter str1:");
    gets(str1);
    fun(str,str1);
    return 0;
}                

效果显示:

C语言 2024.1.5_第3张图片

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

程序代码:

#include 
#include                                                         
#include 
void fun(char str[100],char str1[100])
{
    int i;
    for(i=0;str[i]!='\0';i++);
    int j;
    j=i;
    for(i=0;str1[i]!='\0';i++)
    {   
        str[j+i]=str1[i];
    }   
    str[j+i]='\0';
    puts(str);
}
int main(int argc, const char *argv[])
{
    char str[100]="";
    char str1[100]="";
    printf("please enter str:\n");
    gets(str);
    printf("please enter str1:\n");
    gets(str1);
    fun(str,str1);
    return 0;
}

效果显示:

C语言 2024.1.5_第4张图片

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

程序代码:

#include 
#include 
#include 
int fun(char str[100])
{
	int i;
	for(i=0;str[i]==' ';i++);
	int j=i;
	int sum;
	sum=0;
	if(str[i]=='+' || str[i]=='-')
	{
		i++;
	}
	while(str[i]!='\0')
	{
		if(str[i]>='0' && str[i]<='j')
		{
			sum=sum*10+(str[i]-'0');
		}
		else
		{
			break;
		}
		i++;
	}
	if(str[j]=='-')
	{
		sum=-sum;
	}
	else
	{
		sum=sum;
	}
		return sum;
}
int main(int argc, const char *argv[])
{
	char str[100]="";
	printf("please enter str:\n");
	gets(str);
	int sum=fun(str);
	printf("%d\n",sum);
	return 0;
}

效果显示:

C语言 2024.1.5_第5张图片

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

 程序代码:

#include 
#include 
#include 
void fun(int arr[2][3],int i,int j,int arr1[3][2])
{
	for(i=0;i<2;i++)
	{
		for(j=0;j<3;j++)
		{
			arr1[j][i]=arr[i][j];
		}
	}
	for(int i=0;i<3;i++)
	{
		for(int j=0;j<2;j++)
		{
			printf("%-4d",arr1[i][j]);
		}
		printf("\n");
	}
}
int main(int argc, const char *argv[])
{
	int arr[2][3];
	printf("please enter arr:\n");
	int arr1[3][2];
	int i,j;
	for(i=0;i<2;i++)
	{
		for(j=0;j<3;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	fun(arr,i,j,arr1);
	return 0;
}

效果显示:

C语言 2024.1.5_第6张图片

7. 在主函数定义一维数组并输入,在有参有返函数中计算一维数组的第二小值

程序代码:

#include 
#include 
#include 
int fun(int n,int a[n])
{
	int i,min;
	i=0;
	min=a[0];
	for(i=0;ia[i])
		{
			min=a[i];
		}
	}
	int min2;
	if(min==a[0])
	{
		min2=a[1];
	}
	else
	{
		min2=a[0];
	}
	for(i=0;ia[i] && a[i]!=min)
		{
			min2=a[i];
		}
	}
	return min2;
 
}
int main(int argc, const char *argv[])
{
	int n;
	printf("please enter n:\n");
	scanf("%d",&n);
	int a[n];
	printf("please enter arr:\n");
	int i;
	i=0;
	for(i=0;i

效果显示:

C语言 2024.1.5_第7张图片

8. 递归计算各个数字的乘积

 程序代码:

#include 
#include 
#include 
int fun(int i)
{
	if(i/10==0)
	{
		return i;
	}
	else
	{
		return i%10*fun(i/10);
	}
}
int main(int argc, const char *argv[])
{
	int i;
	printf("please enter i:\n");
	scanf("%d",&i);
	fun(i);
	printf("sum=%d\n",fun(i));
	return 0;
}

效果显示:

C语言 2024.1.5_第8张图片

9. 思维导图

 C语言 2024.1.5_第9张图片

你可能感兴趣的:(c语言,算法,数据结构)