作业1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 5
int main(int argc, const char *argv[])
{
int arr[N][N] = { 0 };
int i = 0;
int j = 0;
for (i = 0; i < N; i++)
{
int ret = (N - i - 1)*2;
while (ret--)
{
printf(" ");
}
for (j = 0; j <= i; j++)
{
if (j == 0||i==j)
arr[i][j] = 1;
if (i >= 2 && j >= 1)
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
printf("%-3d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
作业2
循环输入n个值,
冒泡升序排序,输出,简单选择降序排序,输出
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int n, i, j, temp;
printf("请输入需要排序的数字个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个数字:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 冒泡排序升序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
printf("升序排序结果为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 简单选择排序降序
for (i = 0; i < n - 1; i++) {
int max = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[max]) {
max = j;
}
}
if (max != i) {
temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
}
printf("降序排序结果为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}