1.将n个数往后移,使后面的m个数放到最前面
#include<stdio.h>
int main()
{
void move(int array[], int n, int m);
int a[80];
int m, n, i;
printf("the m and n:\n");
scanf_s("%d%d", &m, &n);
printf("the array:\n");
for(i=0;i<n;i++)
scanf_s("%d", &a[i]);
move(a, n, m);
printf("the new line:\n");
for (i = 0; i < n; i++)
printf("%d ", a[i]);
getchar();
getchar();
getchar();
getchar();
getchar();
return 0;
}
void move(int array[], int m, int n)
{
int i, j;
for (i = n - 1; i >= 0; i--)
array[i+m] = array[i];
for (i = n , j = 0; i < n+m; i++, j++)
array[j] = array[i];
}
2.杨辉三角
#include<stdio.h>
int main()
{
int i, j;
int a[10][10];
for (i = 0; i < 10; i++)
{
a[i][0] = 1;
a[i][i] = 1;
}
for (i=2;i<10;i++)
{
for (j = 1; j < i; j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
printf("%d ", a[i][j]);
printf("\n");
}
getchar();
getchar();
return 0;
}
3.找出数组中最大的数和最小的数,并分别放于数组的最前面和最后面
#include<stdio.h>
int main()
{
void max_min(int *p);
int i;
int a[10];
int *p;
p = a;
printf("the array:\n");
for(i=0;i<9;i++)
scanf_s("%d", &a[i]);
scanf_s("%d", &a[10]);
printf("the new array:\n");
max_min(p);
for (i=0;i<9;i++)
printf("%d ", a[i]);
printf("%d", a[10]);
getchar();
getchar();
getchar();
return 0;
}
void max_min(int *p)
{
int i, k;
int max, min;
max = *p;
min = *(p + 8);
for (i = 0; i < 9; i++)
{
if (*(p + i) > max)
{
max = *(p + i);
k = *p;
*p = *(p + i);
*(p + i) = k;
}
if (*(p + i) < min)
{
min = *(p + i);
k = *(p + 8);
*(p + 8) = min;
min= k;
}
}
}