第一小题
#include <stdio.h>
#include <stdlib.h>
//第一题,第一小题
int main()
{
int i;
int a[20] = {1,2,3,4,5,6,7,8,9,0}; //初始化前10个元素
//键盘输入后10个元素的值
for (i = 10; i < 20; i++)
scanf("%d", &a[i]);
//由前往后输出数组中所有元素的值
printf("由前往后,数组中的值是:\n");
for (i = 19; i >= 0; i--)
printf("%2d", a[i]);
return 0;
}
第二小题
#include <stdio.h>
#include <stdlib.h>
//第一题,第二小题
int main()
{
int i;
int a[10] = {1,2,3,4,5,6,7,8,9,0}; //初始化
printf("由后往前,数组中的值是:\n");
for (i = 9; i >=0; i--)
printf("%d ",a[i]);
for (i = 0; i < 10; i++)
a[i] *= 2;
printf("\n");
printf("由后往前,数组中的值修改后是:\n");
for (i = 9; i >= 0; i--)
printf("%d ", a[i]);
return 0;
}
第三小题
#include <stdio.h>
#include <stdlib.h>
//第一题,第三小题
int main()
{
int i;
int a[16] = {1,2,3,4,5,6,7,8,9,0,1,2,3,4,6,7}; //初始化
printf("数组中,元素值为3的倍数的元素和值为:\n");
for (i = 0; i < 16; i++)
{
if (a[i] % 3 == 0)
printf("a[%d] %d\n", i, a[i]);
}
printf("\n");
return 0;
}
第四小题
#include <stdio.h>
#include <stdlib.h>
//第一题,第四小题
int main()
{
int i,j;
int count_del=0;
int a[16] = {1,2,3,4,5,6,7,8,9,0,1,2,3,4,6,7}; //初始化
for (i = 0; i < 16-count_del; i++)
{
if (a[i] % 3 == 0)
{
for (j = i; j < 16 - count_del; j++)
a[j] = a[j + 1];//将被删除的元素后面的值依次移动
count_del++;
a[16 - count_del] = 0;//最后一位移除的数据用0置空
i--;//注意,因为将后一项的数据移动了过来,如果不减一的话,将会少计算一项
}
}
for (i = 0; i < 16 - count_del; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
第五小题
#include <stdio.h>
#include <stdlib.h>
//第一题,第五小题
int main()
{
int i,j;
int count_del=0;
int a[16] = {1,2,3,4,5,6,7,8,9,0,1,2,3,4,6}; //初始化
for (i = 15; i >= 1; i--)
a[i] = a[i - 1];
printf("请输入一个数字:");
scanf("%d", &a[0]);
for (i = 0; i < 16; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}