index — ti25-glauchau-code @ 6315f0b2a914eaaaa9d551fcee9cab6add5a59e3

Meine Lösungen (oder auch nicht) für die Programmieraufgaben in der TI25 an der Staatlichen Studienakademie Glauchau

gpt/2025-10-13/quersumme.c (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>


static unsigned int digitSum(int* n) { 
    unsigned int num = abs(*n);
    unsigned int sum = 0;
    while (num != 0) {
        sum = sum + num % 10;
        num = num/10;
    }
    return sum;
}

static unsigned int digits (int* n) {
    unsigned int num = abs(*n);
    unsigned int x, i;
    for (x=10, i=1; ; x*=10, i++) {
        if (num < x)
            return i;
        if (x > INT_MAX/10)
            return i+1;
    }
}

int main() {

    int inputNum;

    printf("Type a number: \n");
    scanf("%d", &inputNum);
    printf("Number of digits: %d\nDigit sum: %d\n\n", digits(&inputNum), digitSum(&inputNum));

    return 0;
}