|
半角のアは 「 −79 」 半角のヲは 「 −90 」 ということは・・・ −79よりも小さくて−90よりも大きい この条件ていいかも♪ /*****************************************************************************
* kadai115
*「暗号化」の法則に従って、2次元配列のテーブルを作成し
* 「アブラゼミ」を入力すると「E10H5E2G8D4」と表示させてください
*
* 作成日:2008年10月06日
* 更新日:
* 備考 :
*****************************************************************************/
main( )
{
unsigned char a[10][10+1] ={ {"ヲ000ワ00000"},/* 0 */
/*ABCDEFGHIJ*/ {"ロレルリラ00000"}, /* 1 */
{"ヨ0ユ0ヤ00000"}, /* 2 */
{"モメムミマ00000"}, /* 3 */
{"ホヘフヒバ゙゙゙゙"}, /* 4 */
{"ノネヌニナ00000"}, /* 5 */
{"トテチテダ゙゙゙゙"}, /* 6 */
{"ソセスシザ゙゙゙゙"}, /* 7 */
{"コケクキガ゙゙゙゙"}, /* 8 */
{"オエウイア00000"} };/* 9 */
unsigned char b[500+1]; /* 入力文字列 */
char c[500+1]; /* 解読文字列 */
int i; /* 入力文字列(b)のカウンタ */
int m; /* 解読文字列(c)の添え字 */
int boin; /* 母音 */
int sin; /* 子音 */
/*** 暗号化する文字を入力 */
printf("input\n");
scanf("%s",&b[0]);
/*** 暗号化 ***/
i = 0;
m = 0;
printf("%d\n",b[0]);
while(b[i]){
if( (b[i]>='ア' && b[i]<='ヲ') || b[i] == '゙' ){ /* 母音・子音の表との位置づけ */
boin = 0;
sin = 0;
while(a[sin][boin] != b[i]){
if(sin==10){
break;
}
if(boin==10){
boin = 0;
sin++;
}else{
boin++;
}
}
c[m++] = 'A'+ boin;
if(sin == 9){
c[m++] = '1';
c[m] = '0';
}else{
c[m] = '0'+ sin;
}
}else{ /* 半角仮名でも濁点でもない */
break;
}
i++;
m++;
}
c[m] = '\0';
/*** 表示 ***/
if(b[i]=='\0'){
printf("結果 = %s\n",&c[0]);
}else{
printf("暗号化できませんでした\n");
}
}
|

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用



