全体表示

[ リスト ]

イメージ 1



半角のアは 「 −79 」
半角のヲは 「 −90 」


ということは・・・


             −79よりも小さくて−90よりも大きい


この条件ていいかも♪








unsignedを使ったらうまくいきませんでした。。。


/*****************************************************************************
* 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");
	}
}



イメージ 2


よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事