输入用户想要输入的元素数量,然后输入用户想要从给定元素列表计算的总值。
Input : N=5 Enter any 5 values : 3 1 6 5 7 Enter sum you want to check : 10 Output : 3 1 6
算法
START STEP1-> Take values from the user STEP2-> Take the sum a user want to check in the set. STEP3-> For i = 0; i < n; i++ STEP4-> Check If sum - *(ptr+i) >= 0 then, STEP4.1-> sum -= *(ptr+i); STEP4.2-> Print the value of *(ptr+i) END If END For STOP
示例
#include <stdio.h> int main(int argc, char const *argv[]){ int *ptr, n, i, sum; printf("Enter number of digits you want to enter"); scanf("%d", &n); ptr = (int*)malloc(sizeof(int)*n); //Dynamically allocating the memory of int type printf("Enter %d elements", n); for(i = 0; i < n; i++) { scanf("%d", (ptr+i)); //Inputting the value in dynamically //allocated array } printf("Enter the sum you want to check"); scanf("%d", &sum); for ( i = 0; i < n; i++) { if(sum - *(ptr+i) >= 0) { //Checking the values which can be added to form the sum X sum -= *(ptr+i); //Updating the value of sum printf("%d ", *(ptr+i)); //Printing the Values which can be summed up to form sum } } return 0; }
输出
Enter number of digits you want to enter 5 Enter 5 elements 3 1 6 5 7 Enter the sum you want to check 10 3 1 6