
它将显示用户输入的给定集中缺失的值
Given : array = {88, 105, 3, 2, 200, 0, 10};
Output : 1 4-9 11-87 89-99算法
START STEP 1-> Take an array with elements, bool flag[MAX] to Fale, int i, j, n to size of array Step 2-> Loop For from I to 0 and i=0 Set flag[array[i]]=true End IF Step 3 -> End For Loop Step 4 -> Loop For from i to 0 and i End For Loop STOP
示例
#include#define MAX 100 int main(int argc, char const *argv[]) { int array[] = {88, 105, 3, 2, 200, 0, 10}; bool flag[MAX] = { false }; //Initializing all the values of flag as false int i, j, n; n = sizeof(array)/sizeof(array[0]); for (i = 0; i < n; i++) { if (array[i] < 100 && array[i]>=0) { flag[array[i]] = true; //Making the value of the elements present in an array as true, So missing will remain false } } for (i = 0; i < MAX; ++i) { if(flag[i] == false) { //Checking for false values j = i+1; //Giving the value of the next iteration while(j ", i); else //For printing the missing range printf("%d-%d
", i, j-1); i = j; //Initializing the range's last value to start from that number } } return 0; }
输出
如果我们运行上面的程序,它将生成以下输出
1 4-9 11-87 89-99











