Para un entero positivo dado N
, encuentre la suma de sus dígitos y sus dígitos.
Formato de entrada:
Ingrese un entero positivo N que no exceda 1 0 9 en una línea Ingrese un entero positivo N que no exceda 10 ^ {9} en una línea Entrada en en una fila se da una un ésimo no de ultra excesiva . 1 09 esunnúmeroenteropositivoN
Formato de salida:
Muestra el número de dígitos de N y la suma de sus dígitos en una línea, separados por un espacio.
Muestra de entrada:
321
Salida de muestra:
3 6
Código:
# include <stdio.h>
# include <stdlib.h>
typedef long long int long_int;
int main() {
long_int n,temp;
int poi = 0,value = 0;
scanf("%lld",&n);
temp = n;
// 321——321 % 10 = 1——321 / 10 = 32——32 % 10 = 2
while (1) {
value += (temp % 10);
if (temp < 10) {
poi += 1;
break;
} else {
temp /= 10;
poi += 1;
}
}
printf("%d %d",poi,value);
return 0;
}
Enviar captura de pantalla:
Ideas de resolución de problemas:
La idea de resolver el problema aquí ya se ha encontrado en el problema anterior. ¡El comentario en el código da un ejemplo para que todos lo entiendan!
typedef longlong int long_int;
El significado es hacerlong long int
el alias para lalong_int
conveniencia de la llamada posterior, que es puramente un desastre, ¡puedes usar la anterior directamente!