내가 푼답
#include <iostream>
using namespace std;
int main() {
int i;
cout << "\t\t\t\t" << "ASCII 코드표" << endl;
for (i = 0; i < 73; i++) {
cout << "-";
}
cout << endl;
for (i = 32; i < 63; i++) {
cout << "|" << "\t" << char(i) << "\t" << i <<"\t" << "|" << "\t" << char(i + 32) << "\t" << i + 32 << "\t" << "|" << "\t" << char(i + 64) << "\t" << i + 64 << "\t" << "|" << endl;
}
cout << "|" << "\t" << char(63) << "\t" << i << "\t" << "|" << "\t" << char(95) << "\t" << i + 32 << "\t" << "|" << "\t\t\t" << "|" << endl;
for (i = 0; i < 73; i++) {
cout << "-";
}
return 0;
}
32,64,96번째 줄 부터 출력을 해줘야해서
값들을 초기값인 i에 그만큼의 값들을 더 해줘서 출력형태를 맞춰주었다.
모범답안
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
int i, j, chr, interval;
cout<<"\n\n\t\t\t ASCII 코드표\n";
cout<<" ----------------------------------------------------------------";
interval=(126-31)/3+1;
for (i=0; i<interval; i++) {
cout<<"\n |";
for (j=0; j<3; j++) {
chr=32+i+j*interval;
if(chr<127) cout<<setw(7)<<(char)chr<<setw(7)<<(int)chr<<setw(7)<<"|";
else cout<<setw(21)<<"|";
}
}
cout<<"\n ----------------------------------------------------------------\n";
}