đề bài là:Viết chương trình nhập một số nguyên, xuất lại số đó ở dạng chuỗi nhưng có dấu “,” ngăn cách hàng triệu, ngàn…
VD: 123456789 à “123,456,789”
em viết cũng gần được rồi nhưng không hiểu sao lại lòi đầu 2 phần tử cuối kí tự khá lạ, em không hiểu tại sao nó có,nên em sửa chống cháy bằng cách gán nó bằng NULL,ai hiểu được lý do vì sao thì chỉ em với ạ.
#include <iostream>
#include <cstring>
void themdau(char buffer[],int len);
using namespace std;
int main(){
char buffer[100];
cin.getline(buffer,80,'\n');
int len=strlen(buffer);
themdau(buffer,len);
return 0;
}
void themdau(char buffer[],int len){
int phu=len/3;
if(len%3==0){
phu--;
}
len+=phu;
int phu1=0;
int phu2=phu;
for(int i=len-1;i>=0;i--){
if(phu1==3){
buffer[i]=',';
phu--;
if(phu==0){
break;
}
phu1=0;
}
else {
buffer[i]=buffer[i-phu];
phu1++;
}
}
buffer[len+1]='\0';//cai nay em sua chong chay thôi
buffer[len+2]='\0';// cai nay em sua chong chay thôi
cout<<buffer;
}

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?