TOPIC

está dando 20%, não sei o motivo

Francisco Godinho Neto asked 11 months ago

não sei o motivo de estar dando 20%, alguém me ajuda

include<bits/stdc++.h>

using namespace std; int main () { int n,a=0,b=0,c=0,i,posi=0; char numero[100]; cin>>n; if(n>0&&n<1000) { if(n>=100) { a=n/100; } if(n>=10) { b=n-(a100); b=b/10; } c=-(a100)-(b*10); c=c+n; if(a<=3&&a>=1) { for(i=0;i<a;i++)numero[i]='C';posi=i; } else if(a==4) { numero[0]='C'; numero[1]='D'; posi=2; } else if(a==5) { numero[0]='D'; posi=1; } else if(a>=6&&a<=8) { numero[0]='D'; for(i=5;i<a;i++)numero[i-4]='C';posi=i-4; } else if(a==9) { numero[0]='C'; numero[1]='M'; posi=2; } if(b<=3&&b>=1) { for(i=0;i<b;i++) { numero[posi+i]='X'; } posi=posi+i; } else if(b==4) { numero[posi]='X'; numero[posi+1]='L'; posi=posi+2; } else if(b==5) { numero[posi]='L'; posi=posi+1; } else if(b>=6&&b<=8) { numero[posi]='L'; for(i=5;i<b;i++)numero[posi+i-4]='X';posi=posi+i-4; } else if(b==9) { numero[posi]='X'; numero[posi+1]='C'; posi=posi+2; } if(c>=1&&c<=3) { for(i=0;i<c;i++) { numero[posi+i]='I'; } posi=posi+i; } else if(c==4) { numero[posi]='I'; numero[posi+1]='V'; posi=posi+2; } else if(c==5) { numero[posi]='V'; posi=posi+1; } else if(c>=6&&c<=8) { numero[posi]='V'; for(i=5;i<c;i++) { numero[posi+i-4]='I'; } posi=posi+i+4; } else if(c==9) { numero[posi]='I'; numero[posi+1]='X'; posi=posi+2; } cout<<numero<<endl; } return 0; }

This topic has not been answered yet. Be the first!

Remember not post solutions. Your post may be reviewed by our moderators.