हाय मैं प्रोग्रामिंग में काफी नया हूं और सी भाषा के साथ शुरू हुआ और अब मैं लूप के साथ फंस गया हूं। समस्या यह है कि मैं एक प्रोग्राम लिखने की कोशिश करता हूं जिसमें 20 से अधिक 10 आईएनटी संख्याओं का इनपुट मान प्राप्त करना होता है, और उसके बाद प्रोग्राम को यह निर्धारित करना होता है कि कौन सी संख्या अधिकतम है और कौन सी न्यूनतम है। अंत में उसे सभी संख्याओं के औसत की गणना करनी होती है। तो अब मैं सही ढंग से काम करने के लिए केवल औसत गणना प्राप्त करने में कामयाब रहा, और मुख्य समस्या अधिकतम/न्यूनतम मान है।

#include<stdio.h>

void main()
{
    //Variables
    int num, i = 1, cnt = 0, sum = 0, max = 0, min = 0;
    float average;

    printf("Enter 10 int numbers greater than 20:\n");

    //Input check
    while (i <= 10)
    {
        printf("\n%d) ", i);
        scanf("%d", &num);
        max = num;
        min = num;
        if (num <= 20)
        {
            printf("Wrong number! enter an integer greater than 20:\n");
            continue;
        }
        i++;
        sum += num;
        cnt++;
        if (num > max) {
            max = num;
        }
        if (num < min) {
            min = num;
        }
    }

    //Average calculation and output
    average = sum / (float)cnt;
    printf("The maximum number is: %d\n", max);
    printf("The minimum number is: %d\n", min);
    printf("The average of all numbers is: %.2f\n", average);
    
}
-1
Michael 31 मार्च 2021, 21:35
1
आपको असाइनमेंट को scanf() के ठीक बाद निकालने की आवश्यकता है... बस असाइनमेंट को ifs में रखें ... ओह, min को बड़ी संख्या में इनिशियलाइज़ करें, न कि 0 ... int ... min = INT_MAX; (#include <limits.h> को याद रखें)
 – 
pmg
31 मार्च 2021, 21:38
मान लीजिए कि आपको इनपुट स्ट्रीम पर a मिलता है। (इसे अजमाएं!)। आपको scanf द्वारा लौटाए गए मान की जरूरी जांच करनी चाहिए।
 – 
William Pursell
31 मार्च 2021, 21:42

1 उत्तर

सबसे बढ़िया उत्तर

यहां सी में एक त्वरित चेक गेम है जो कुछ नंबर मांगता है और फिर जब आप 0 दर्ज करते हैं तो यह आपको सरणी में सबसे कम और उच्चतम संख्या दिखाता है (संख्या एकत्रित)

int main(){
    int a, max = 0, min;
    char answer;


    while(answer != 'n')
    {
        for(int i = 0; i < 100; i++){
        printf("Enter Number:");


        if (scanf("%d", &a) == 1)
        {
        if(a == 0)  //check if the input value is 0 then break the loop
            break;
        else
            {
                if(a > max)
                max = a;


                if(a < min)
                min = a;
            }
        }
    }


        printf("lowest: %d, highest: %d", min, max);


        printf("\nWould you like to start over? (j/n): ");
        scanf("%s", &answer);


        max = 0;
        //min=0;


        if(answer == 'n')
            break;
    }

   return 0;
}
0
wonder.glen 31 मार्च 2021, 21:42