ページ 11

シーザー暗号

Posted: 2015年9月05日(土) 22:01
by sim
文字コード順に5文字ずらすプログラムがわかりません。

コード:

#include<stdio.h>
#define NUM 50

int main(void)
{
	char str[NUM];
	int i;

	printf("シーザー暗号かどうか判断します。\n");
	
	printf("文字列(アルファベット)を入力してください。\n");
	scanf("%d",str);
	
	i=0;
	/*入力されたアルファベットをずらす処理*/
	while(str[i]!='\0')
	{
		str[i]=str[i]+5;
		printf("%s",str[i]);
		i++;
	}

	printf("\n");

	return 0;
}

Re: シーザー暗号

Posted: 2015年9月05日(土) 22:05
by box
5文字ずらしたらシーザー暗号かどうか判断できる、というのがよくわかりません。

Re: シーザー暗号

Posted: 2015年9月05日(土) 22:07
by みけCAT
scanfとprintfの書式指定文字列が違います。
scanf : %d → %49s
printf : %s → %c

Re: シーザー暗号

Posted: 2015年9月05日(土) 22:12
by sim
単純なミスでした。ありがとうございます。できれば2進数のも見てください。