永发信息网

C语言选数求和,从n个数里面选出来m个数,对m个数求和S,若S大于M,输入这m个数,否则不输出。

答案:3  悬赏:10  手机版
解决时间 2021-03-09 23:54
  • 提问者网友:姑娘长的好罪过
  • 2021-03-09 19:40
C语言选数求和,从n个数里面选出来m个数,对m个数求和S,若S大于M,输入这m个数,否则不输出。
最佳答案
  • 五星知识达人网友:醉吻情书
  • 2021-03-09 20:09
# include
int main ()
{
int m;
int x;
int array[7];
int i, p, q, r, k;
int sum = 0;
int sum1;

printf("请输入要取出的个数m = ");
scanf("%d", &m);

for(i=0; i {
printf("请输入第%d个元素:", i);
scanf("%d",&array[i]);
}
printf("请输入X的值:X = ");
scanf("%d", &x);

for(q=0; q<(n-m+1); q++)
{
sum = 0;

for (p=q; p {

sum = sum + array[p];
}


for (r=p; r {
sum1 = 0;
sum1 = sum +array[r];

if(sum1 > x)
{
printf("找到适合的元素集合,他们为:");
for(k=q; k {
printf("%5d", array[k]);

}
printf("%5d\n", array[r]);
printf("和为 %d\n", sum1);
printf("\n");
}
}
}
return 0;
}

额,上面有个错误,就是定义的数组array中确定了7个元素,如果楼主需要,可以手动改,这点我忽略了,应该用链表来做就OK。
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-03-09 21:13
是要列举所有情况吗?那应该可以用回溯法
  • 2楼网友:纵马山川剑自提
  • 2021-03-09 20:45
关键这m个数有怎样的选出规则 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯