一道简单的c语音题目 求求各位大佬解答

问题描述:编写一个程序:输入10个数,要求输出相邻元素和最大的两个元素。例如输入{3,614,1,21,78,0,12,-10,11},输出{78,0}

int main(void){

	int a[10] = {3, 6, 14, 1, 21, 78, 0, 12, -10, 11};
	int i, max = a[0] + a[1];
	int pos = 0;
	for (i = 1; i < 10; i++)
	{
		if (a[i] + a[i + 1] > max)
		{
			pos = i;
		}
	}
	printf("%d,%d", a[pos], a[pos + 1]);
	return 0;
}

 

是挺简单的,稍等,我来写下

原数据应该是这样的吧:{3,6,14,1,21,78,0,12,-10,11}

#include <stdio.h>
int main()
{   /*定义数组 声明变量*/
    int a[10];
    int i,k;
    printf("输入10个整数:\n");
    for(i=0;i<10;i++){
        scanf("%d",&a[i]);
    }
    int sum=0; 
    int index=0;
    for(k=0;k<9;k++){
    	if(a[k]+a[k+1]>sum){
    		sum=a[k]+a[k+1];
    		index=k;
		}
    }
    printf("相邻元素和最大的两个元素%d,%d\n",a[index],a[index+1]);
}

 

是真的很无语,兄弟,你验证过他的答案吗。就乱采纳。

代码都是错的,还有从键盘输入不是写死。

int main(void){
 
	int a[10] = {3, 6, 14, 1, -21, 78, 0, 12, -10, 11};
	int i, max = a[0] + a[1];
	int pos = 0;
	for (i = 1; i < 10; i++)
	{
		if (a[i] + a[i + 1] > max)
		{
            max = a[i] + a[i+1];
			pos = i;
		}
	}
	printf("%d,%d", a[pos], a[pos + 1]);
	return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632