九月五日.

1.编写一个程序。输出前五行杨辉三角图案 
int main(int argc, const char *argv[])
{
	int n;
    //输入杨辉三角阶数
	scanf("%d",&n);
	int arr[n][n];

	printf("%d阶杨辉三角为:\n",n);
    //控制行
	for(int i=0;i<n;i++)
	{
        //每一行前输出空格
		for(int j=0;j<n-i;j++)
		{
			printf(" ");
		}
        //控制列数
		for(int j=0;j<=i;j++)
		{
            //每一行第一个和最后一个赋值1
			if(j==0||i==j)
			{
				arr[i][j]=1;
			}
			else{
                //其余等上一行相邻两个数之和
				arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
			}
			printf("%d ",arr[i][j]);
		}
        //输出一行数字后换行
		printf("\n");
	}
	return 0;
}

运行结果:

 

2.编写一个程序。请用 C、JAVA、C# 任一种语言,对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序。
int main(int argc, const char *argv[])
{
	int arr[]={3,2,10,1,23,15,82};
    //计算数组长度
	for(int i=0;i<sizeof(arr)/sizeof(arr[0])-1;i++)
	{
		//记录下标
		int index=i;
		for(int j=i+1;j<sizeof(arr)/sizeof(arr[0]);j++)
		{
			//比较大小
			if(arr[index]>arr[j])
			{
				index=j;
			}
		}
			//判断下标是否发生变化,如果改变,交换位置
			if(index!=i)
			{
				int temp=arr[index];
				arr[index]=arr[i];
				arr[i]=temp;
			}
	}

	for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
	{
		printf("%d\t",arr[i]);
	}
	printf("\n");
	return 0;
}

运行结果:

 

3.编写一个程序。假设你有一只刚出生的母兔,母兔第3年开始生小兔,以后每年生一只。如果生出的都是母兔,请代码实现:输入你拥有该母兔后的第几年,输出该年你拥有的兔子数。

int main(int argc, const char *argv[])
{
	int year;
    //输入年数
	scanf("%d",&year);
	printf("今年是拥有该母兔的第%d年\n",year);
	
    //创建数组存储数量
	int arr[year-1];
	for(int i=0;i<year;i++)
	{
    //前两年只有一只兔子
	if(i==0||i==1)
	{
		arr[i]=1;
	}
	else
	{
            //三年及以后兔子数为前两年之和
			arr[i]=arr[i-1]+arr[i-2];
	}
	}
   	printf("今年有%d只兔子\n",arr[year-1]);
	return 0;
}

 运行结果:

4.编写一个程序。输入两个n行m列的矩阵A和B,输出他们的和A+B
int main(int argc, const char *argv[])
{
	int n,m;
	scanf("%d %d",&n,&m);
	
	int arr[n][m],brr[n][m],crr[n][m];
    //输入arr数组
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
    //输入brr数组
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%d",&brr[i][j]);
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
            //先初始化crr各项的值,再求和
			crr[i][j]=0;
			crr[i][j]=arr[i][j]+brr[i][j];
		}
	}
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			printf("%3d",crr[i][j]);
		}
	}
	return 0;
}

运行结果: 

5.编写一个程序。一个长度为10的数组中重复数据,现要求相同数据只保留一份,其他的用0来代替,被替换的数据移到数组末尾。(数组内容自定) 
int main(int argc, const char *argv[])
{
	int arr[10]={1,9,5,3,1,5,8,7,2,6};

	for(int i=0;i<10;i++)
	{
		for(int j=i+1;j<10;j++)
		{
            //相同值赋值0
			if(arr[i]==arr[j])
				arr[j]=0;
		}
	}
    //冒泡排序
	for(int i=0;i<10;i++)
	{
		for(int j=0;j<10-1-i;j++)
		{
			if(arr[j]<arr[j+1])
			{
			int temp=arr[j+1];
			arr[j+1]=arr[j];
			arr[j]=temp;
			}
		}
	}
	for(int i=0;i<10;i++)
	{
	printf("%d\t",arr[i]);
	}
	printf("\n");
	return 0;
}

运行结果: 

6.编写一个程序。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值的那两个整数,并输出它们的数组下标。输入: nums = [3,2,4],target = 6 输出:[1,2]。
int main(int argc, const char *argv[])
{
	int nums[5]={1,2,3,4,5};
	int target;
	scanf("%d",&target);
	for(int i=0;i<5;i++)
	{
		for(int j=i+1;j<5;j++)
		{
			if(nums[i]+nums[j]==target)
				{
				printf("%d %d\n",i,j);
				}
		}
	}
	return 0;
}

运行结果: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值