凑14

//如题:凑14;输入很多个整数(1<=数值<=13),任意两个数相加等于14就可以从数组中删除这两个数, 求剩余数(按由小到大排列);比如:输入数组[9,1,9,7,5,13], 输出数组[9,7] 


#include "stdafx.h"
#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
    int a[] = {9, 1, 9, 7, 7, 7, 7, 5, 13};
    int count, i, j;
    count = sizeof(a) / sizeof(int);//计算数组a中的元素个数
    for(i = 0; i < count; i++)
    {
        for(j = i + 1; j < count; j++)
		{	if(a[i] >= 14)
			{
				printf("第" "%d" "个" "数组" "元素" "[" "%d" "]" "不合法\n", i, a[i]);
				return 0;
			}
            if (a[i] + a[j] == 14)//未清零的两个数相加为14则都打上标记
            {
                a[i] = a[j] = 0;
                break;
            }
		}
    }
    for(i = 0; i < count; i++)//输出结果
        if (a[i])
            printf("[" "%d" "]", a[i]);

	return 0;
}
在数组前加上可以输入数组元素的代码就更符合题意了。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页