打印可以相加得出给定和的元素

htmlweb developmentfront end technology更新于 2025/6/26 1:16:17

输入用户想要输入的元素数量,然后输入用户想要从给定元素列表中计算的总和。

输入:N=5
   输入任意5个值:3 1 6 5 7
   输入要检查的总和:10
输出:3 1 6

算法

开始
步骤1-> 从用户那里获取值
步骤2-> 从集合中获取用户想要检查的总和。
步骤3-> 对于 i = 0; i < n; i++
步骤4->检查如果 sum - *(ptr+i) >= 0,则
   步骤4.1-> sum -= *(ptr+i);
   步骤4.2-> 打印 *(ptr+i) 的值
END If
END For
STOP

示例

#include <stdio.h>
int main(int argc, char const *argv[]){
   int *ptr, n, i, sum;
   printf("请输入要输入的位数
");    scanf("%d", &n);    ptr = (int*)malloc(sizeof(int)*n); //动态分配 int 类型的内存    类型    printf("请输入 %d 个元素
", n);    for(i = 0; i < n; i++) {       scanf("%d", (ptr+i)); //动态输入值       //已分配数组    }    printf("输入要检查的和
");    scanf("%d", &sum);    for ( i = 0; i < n; i++) {       if(sum - *(ptr+i) >= 0) { //检查哪些值可以相加得到和          X          sum -= *(ptr+i); //更新和的值          printf(&";%d &";, *(ptr+i)); //打印可以相加形成 sum 的值       }    }    return 0; }

输出

运行上述程序,将生成以下输出

输入您要输入的数字
5
输入 5 个元素
3
1
6
5
7
Enter the sum you want to check
10
3 1 6

相关文章


有用资源