2024/1/3

作业1:打印图案

A

AB

ABC

ABCD

#include 

int main(int argc, const char *argv[])
{
	int i,j,n;//定义三个变量
	printf("please enter n:");//提示输入n
	scanf("%d",&n);//输入要打印的行数n
	for(i=0;i

 效果图:

2024/1/3_第1张图片

 作业2:循环输入10位评委的分数,除去最大值和最小值,计算平均值

#include 

int main(int argc, const char *argv[])
{
    int arr[10]={0};//定义一个能存储10个int类型的数组存储评委分数
    int i;//定义一个循环变量i
    int sum=0;//定义一个sum存储10个分数和
    double ave=0;//定义ave存储最终的平均值
    for(i=0;i<10;i++)
    {
    	printf("please enter %d data:",i+1);//提示输入第i+1个评委打的分数
        scanf("%d",&arr[i]);//循环输入分数
    }
    int max=arr[0];//定义max存储最高分
    int min=arr[0];//定义min存储最低分
    for(i=0;i<10;i++)
    {
        if(arr[i]>max){//循环寻找分数中的最大值与最小值
            max=arr[i];
        }else if(arr[i]

效果图:

2024/1/3_第2张图片 

作业3:一维数组

3.1计算一维数组的最值

#include 

int main(int argc, const char *argv[])
{
	int n,i;//定义两个变量存储数组容量以及循环变量
	printf("please enter n:");//提示输入n
	scanf("%d",&n);//输入数组元素个数n
	int arr[n];//定义一个名为arr,有n个int类型的元素的数组
	for(i=0;i=arr[i])//寻找数组中的最小值
		{
			min=arr[i];
		}
	}
	printf("max=%d min=%d\n",max,min);//输出数组元素中的最大值与最小值

	return 0;
}

效果图:

2024/1/3_第3张图片 

3.2一维数组查找

#include 

int main(int argc, const char *argv[])
{
	int key,count=0,i,n;//定义变量
	printf("please enter n:");//提示输入n
	scanf("%d",&n);//输入数组元素个数
	int arr[n];//定义一个一维数组
	for(i=0;i

效果图:

2024/1/3_第4张图片 

3.3一维数组冒泡

#include 

int main(int argc, const char *argv[])
{
	int i,j,temp=0;
	int arr[5]={12,22,2,4,52};
	int len=sizeof(arr)/sizeof(arr[0]);//求数组长度
	
	//排序前
	for(i=0;iarr[j+1])//前一位如果比后一位大,则交换两者的值
			{
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;
			}//升序排列(降序排列改变‘>’即可)
		}
	}
    for(i=0;i

效果图:

 2024/1/3_第5张图片

3.3一维数组简单选择

#include 

int main(int argc, const char *argv[])
{
	int i,j,temp=0;
	int arr[5]={12,22,2,4,52};
	int len=sizeof(arr)/sizeof(arr[0]);//求数组长度
	
	for(i=0;iarr[j])
				{
					min=j;//min指向最值的下标
				}
			}
		if(min!=i){//若一轮比较结束,min指向的下标改变说明需要交换值
			temp=arr[min];
			arr[min]=arr[i];
			arr[i]=temp;
		}
	}	
	for(i=0;i<5;i++)//循环打印排序后的数组
	{
		printf("%-4d",arr[i]);
	}
	printf("\n");
	
	return 0;
}

效果图:

 2024/1/3_第6张图片

 

作业4:二维数组

4.1计算二维数组最值

#include 

int main(int argc, const char *argv[])
{
	int i,j;
	int arr[2][3]={0};//定义一个2行3列的二维数组并初始化
	for(i=0;i<2;i++)//外层行
	{
		for(j=0;j<3;j++)//内层列
		{
			scanf("%d",&arr[i][j]);//循环输入数组中各个元素值
		}
	}
	int max=arr[0][0];//默认该数组中最大值为arr[0][0]
	int min=arr[0][0];//默认该数组中最小值为arr[0][0]
	int line=0,row=0,line1=0,row1=0;//定义四个变量分别存储最值的行与列
	for(i=0;i<2;i++)
	{
		for(j=0;j<3;j++)
		{
			if(maxarr[i][j]){//存储最小值与最小值所在行与列
				min=arr[i][j];
				line1=i+1;
				row1=j+1;
			}
		}
	}
	printf("max=%d line=%d row=%d\n",max,line,row);//输出最大值以及所在行与列
	printf("min=%d line1=%d row1=%d\n",min,line1,row1);//输出最小值以及所在行与列

	return 0;
}

效果图:

2024/1/3_第7张图片 

4.2杨辉三角

#include 

int main(int argc, const char *argv[])
{
	int i,j,n;
	printf("please enter n:");//提示输入n
	scanf("%d",&n);//输入要打印的杨辉三角的行数
	int arr[n][n];//定义一个n行n列的二维数组
	for(i=0;i

效果图:

2024/1/3_第8张图片 

4.3转置

#include 

int main(int argc, const char *argv[])
{
	int a[2][3]={12,13,14,15,16,17};//定义一个2行3列的二维数组
	int b[3][2];//定义一个3行2列的二维数组
	int i,j;
	//转置前
	for(i=0;i<2;i++)//外层行
	{
		for(j=0;j<3;j++)//内层列
		{
			printf("%-4d",a[i][j]);//输出数组a
		}
		printf("\n");
	}
	//转置中
	for(i=0;i<2;i++)//外层行
	{
		for(j=0;j<3;j++)//内层列
		{
			b[j][i]=a[i][j];//将数组a转置并存入数组b	
		}
	}
	printf("\n");
	//转置后
	for(i=0;i<3;i++)
	{
		for(j=0;j<2;j++)
		{
			printf("%-4d",b[i][j]);//打印出数组b
		}
		printf("\n");
	}

	return 0;
}

效果图:

2024/1/3_第9张图片 

作业5:思维导图 

2024/1/3_第10张图片

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