Ajouter des milliers de séparateurs aux nombres

Ajouter des milliers de séparateurs aux nombres

Cet article est reproduit de : La fin du monde (linhai_qq)
Méthode 1 :

int i=0,j=0;
void recombination(char a[],long long n)
{
    
    
i++;
if(i%4!=0) a[j]=n%10+'0';
else {
    
    a[j]=',';a[++j]=n%10+'0';i++;}
if(n/10!=0)
{
    
    j++;recombination(a,n/10);}
}
#include<stdio.h>
int main()
{
    
    long long k,n;
char a[100];
scanf("%lld",&n);
if(n<0)
{
    
    
printf("-");
n=-1*n;
}
recombination(a,n);
for(k=j;k>=0;k--)
printf("%c",a[k]);
return 0;
}

Remarque : Ce programme peut être implémenté dans educoder. Cependant, la structure long long du programme ne convient pas à la version VC++ du compilateur ; si vous souhaitez l'utiliser dans la version VC++, vous devez utiliser __int64 (ou unsigned__int64) pour représenter long long et modifier le caractère de format. %lld (%llu) à % l64d (ou %l64u) feront l'affaire.
Méthode 2 : Utiliser des tableaux de caractères. Cette méthode ne peut pas être implémentée sur educoder, mais elle peut être implémentée dans les compilateurs de logiciels.

#include<stdio.h>
#include<string.h>
int main()
{
    
    char a[100],c; 
int i=0,j=0,m;
while((c=getchar())!='\n')
{
    
    
 a[i]=c;
 ++i;
m=i;
} 
while(j!=m)
{
    
     putchar(a[j]);
if(j!=m-1)
{
    
    
if(m%3==0&&(j+1)%3==0)putchar(','); 
else if(m%3==1&&(j+3)%3==0)putchar(',');
else if(m%3==2&&(j+2)%3==0)putchar(',');
}
 j++; 
}
return 0;}

おすすめ

転載: blog.csdn.net/linhai_qq/article/details/105163613