Answer to Question #275830 in C for pasaway

Question #275830

Looping a number and taking away each digit of it is so much fun, but I wanted to try out a much more complex task: getting the largest digit among them all.

Think you can handle the job?


Instructions:

  1. Input a non-zero positive integer.
  2. Using the same concept as the previous problem, figure out how to separate the digits of a number and determine which of the digits is the largest one, using a while. Afterwards, print the largest digit.
  3. Tip #1: Create another variable that will hold the largest digit. Initial its value to a negative integer, like -1, outside the loop.
  4. Tip #2: Everytime you get the rightmost digit, check if it is greater than the current largest digit. If it is, set it as the new largest digit.

Input

A line containing an integer.

214

Output

A line containing an integer.

4




1
Expert's answer
2021-12-05T11:22:29-0500
#include <stdio.h>

int main() {
    int x, d, max_d;

    scanf("%d", &x);

    max_d = x%10;
    x = x / 10;
    while (x > 0) {
        d = x%10;
        if (d > max_d) {
            max_d = d;
        }
        x = x / 10;
    }
    printf("%d\n", max_d);

    return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS