#include<stdio.h>
#include<math.h>
int contdigitos(int &n);
int posicao (int &num,int &n);
int maiordig (int n);
//main
int main () {
int n=0,pos,num;
scanf("%i",&n);
int numdigitos= contdigitos(n);
int npos=posicao(num,n);
printf("\n numero de digitos:%i",numdigitos);
printf("\n entre com um numero: ");
scanf("%d", &n);
printf("Enter a position: ");
scanf("%d", &pos);
printf("%dth digit of %d is %d.\n", pos, n,npos);
int largedig= maiordig(n);
printf("maior digito:%i",largedig);
return 0;}
// numero de digitos
int contdigitos(int &n) {
if (n < 10) {
return 1;
}
int contador = 0;
while (n > 0) {
n /= 10;
contador++;
}
return contador;
}
//num = posição
int posicao(int &num,int &n){
int r, t1, t2;
t1 = pow(10, num +1);
r = n % t1;
if (num > 0)
{
t2 = pow(10, num);
r = r / t2;
}
return r;
}
int maiordig (int n)
{
int digit, maior=0;
while (n>0){
digit=n%10;
if(digit>maior)
maior=digit;
n=n/10;}
return maior ;}
deu tudo certo ,exceto a posição
já estou louco com isso