C语言 从键盘上输入10个数到数组a中,若当2偶数相邻时,将后者除2。输出处理后的数组a。

从键盘上输入10个数到数组a中,若当2偶数相邻时,将后者除2。输出处理后的数组a。
测试输入:1 2 3 4 5 6 6 8 8 10
测试输出:1,2,3,4,5,6,3,8,4,5,

#include <stdio.h>
#include <conio.h>
#include <time.h>

#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/

/* 输入数组 */
/* elemType arr[]: 输入目标数组; int len: 元素个数 */
void inputArray (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
scanf ("%d", &arr[i]);
putchar ('\n');
}

/*打印数组*/
/* elemType arr[]: 打印目标数组; int len: 元素个数 */
void printArray (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf ("%d\t", arr[i]);
putchar ('\n');
}

int main (void) {
elemType a[ARR_LEN];
int len = 10, i;

printf ("请输入包含%d的个元素的数组:\n", len);
inputArray (a, len);

for (i=0; i<len-1; i++) {
if (a[i]%2==0 && a[i+1]%2==0)
a[i+1] /= 2;
}

printf ("处理后的数组:\n");
printArray (a, len); 

getch (); /*屏幕暂留*/
return 0;
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-16
void main()
{
int arr[10];
//计数,在输出最后结果的时候,每3个一换行
int num=0;
printf("请输入10个整数");
//输入十个整数
for(int i=0;i<arr.length;i++)
{
scanf("%d",&arr[i]);
printf("\n");
}
//上面的部分是输入十个数,下面的部分是打印输出
printf("结果是:");
printf("\n");
for(int i=2;i<arr.length;i++)
{
num++;
//隔一项的和
printf("%d",arr[i-2]+arr[i]);
//当每三个的时候换行
if(num%3==0)
{
printf("\n");
}
}
}
相似回答