1. 程式人生 > >2018.10.2 練習

2018.10.2 練習

1.求n*n矩陣對角線元素之和

#define N 2

main()
{
	int a[N][N], sum = 0;
	int i, j;

	printf("輸入矩陣元素:\n");
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < N; j++)
		{
			scanf("%d",&a[i][j]);
		}
	}
	
	for (i = 0; i < N; i++)
	{
			sum = sum + a[i][i];
	}
	for (i = n - 1; i >= 0; i--)
	{
	        sum += a[i][n - 1 - i];
	}

	printf("對角線之和:%d", sum);
	return 0;
}

2.將一個數插入到升序陣列中

//待定修改
int main()
{
	int a[] = { 0,3,4,5,23,55,67,87,88,90 };
	int num = 15;
	int i = 0, j = 0, t = 0;

	int len = sizeof(a) / sizeof(a[0]);
	for (i = 0; i < len - 1; i++)
	{
		if (a[i] < num)  
		{
			continue;
		}
		else       //小於等於一個元素才插入
		{
			while (a[i] != ' ')     //i之後的元素都向後移一位
			{
				t = num; num = a[i]; a[i] = t;
			}
			break;
		}
	}
	for (i = 0; i < len + 1; i++)
	{
		printf("%d ", a[i]);
	}
	
	return 0;
}