A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
#include <stdio.h>
int main(void)
{
int c;
while((c = getchar()) != EOF){
if('A' <= c && c < 'Z') c = 'A' + ((c-'A') * 2 + 1) % 26;
putchar(c);
}
return 0;
}
No.7
- 回答日時:
#include <stdio.h>
int main(void)
{
int c, i;
while((c = getchar()) != '\n'){
i = c - 'A' + 1;
if(0 < i && i < 27) c = 'A' + (i * 2 - 1) % 26;
putchar(c);
}
return 0;
}
No.5
- 回答日時:
#include <stdio.h>
int main(void)
{
char *upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int c, i;
while((c = getchar()) != '\n'){
for(i = 0; upper[i]; i ++){
if(c == upper[i]){
c = upper[((i + 1) * 2) % 26];
break;
}
}
putchar(c);
}
return 0;
}
No.4
- 回答日時:
Z越えの部分が引き切れてないよう思えます
char moji;
char result;
moji = 'D'; // 例)仮に暗号化対象の文字がDとする
int n = moji - 'A' + 1; // 何文字目かを取得
result = moji + n; // ずらす;
// Zを越えてしまう上位13文字について
if(result > 'Z') {
result -= 26; // 一周させる
}
printf("%c\n", result); // 答え
NO.2さんのループ部分と組み合わせて使って下さい
No.3
- 回答日時:
すみません #2ですが
n番目の文字をn個ずらすと言うのを見落としていました
// 暗号化する初期文字列
char buf[] = "ABCDEFG";
char c = 0;
int n = 0;
for ( n=0; buf[n] != '\0'; n++ ) {
c = buf[n] - 'A';
c += n + 1;
c %= 26;
c += 'A';
printf( "%C", c );
}
printf( "\n" );
No.2
- 回答日時:
// 暗号化する初期文字列
char buf[] = "ABCDEFG";
int n = 0;
for ( n=0; buf[n] != '\0'; n++ ) {
if ( buf[n] != 'Z' ) {
// 文字列中の任意の位置の文字が 'Z'以外なら
printf( "%C", buf[n]+1 );
} else {
// 文字列中の任意の位置の文字が 'Z'なら
printf( "%C", 'A' );
}
}
と言った具合です
これを文字列に組上げれば良いですよ
あと想定以外の文字がきた場合の処理も必要かと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- Wi-Fi・無線LAN ルーターの暗号化キーはなぜ初期値から変更するの? 2 2022/08/11 16:28
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- その他(IT・Webサービス) 電気ガスの手続きで文字を入力したいのですが、入力したい文字がアルファベットなんです。ですが、文字がJ 1 2023/05/14 18:00
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- フリーソフト BIOS.binをバイナリエディタで開くと ascii 変換しても、暗号化されていて何か分からない文 6 2022/07/11 03:34
- Perl perlについての質問 2 2022/10/17 15:25
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
charでの計算?
-
c言語 暗号化のプログラム
-
文字列から空白を取り除きたい...
-
テキストデータをそのままバイ...
-
3桁区切(コンマ)記号をつけ...
-
enumの記述について。
-
絶対パスからのファイル名の切...
-
charからLPTSTRへの変換方法
-
str系関数を使わずに二つの文字...
-
'const char *' 型は 'char *' ...
-
YUV⇔RGB変換がうまくいきません。
-
英単語をアルファベット順に
-
C言語プログラミングについて(...
-
Linuxでフォルダ内全ファイル名...
-
atoi( ) の反対をやりたい
-
fgetsなどのときのstdinのバッ...
-
ファイル名である文字列からbas...
-
干支のプログラム
-
C言語です
-
iconv_open失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fgetsなどのときのstdinのバッ...
-
C言語のfor文です。 繰り返しの...
-
テキストデータをそのままバイ...
-
charでの計算?
-
文字列から空白を取り除きたい...
-
charからLPTSTRへの変換方法
-
atoi( ) の反対をやりたい
-
2曲同時再生するにはどうした...
-
C言語の入力した文字を反転させ...
-
配列をnビットシフトする
-
3桁区切(コンマ)記号をつけ...
-
int main()の・・・
-
型変換
-
CStringをwchar_tに変換したい
-
'const char *' 型は 'char *' ...
-
間接操作のレベルとは
-
double型の値をchar配列に変換...
-
絶対パスからのファイル名の切...
-
switch文で文字を比較すること...
-
c++ 文字列を入力して、一文字...
おすすめ情報