質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

3回答

879閲覧

C言語 小文字を大文字に変換

gaku1110

総合スコア1

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2022/11/17 05:18

C言語でアルファベット小文字をキーボードから読み込み、それを大文字に変換して表示するシステムを作っています。

いくら修正しても、大文字を出力してくれません。どこが間違っているでしょうか?
詳しい方よろしくお願いします。

ソースコード
#include<stdio.h>

int main(void) {

int c; int key = 32; printf("アルファベットを一文字入力して下さい。\n"); c=getchar(); printf("%c", c+key); return 0;

}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2022/11/17 05:33

ASCIIコードを確認してみては。
thkana

2022/11/18 01:49

入力がASCIIコードであることが保証されているのですか? 世の中にはASCIIでない文字コード系列も存在して、32を足したり引いたりすることでは変換できない場合があります。
guest

回答3

0

ベストアンサー

'a'のASCIIコードは97(10進数)、
'A'のASCIIコードは65です。
32を足すのではなく、引くのが正しいのではないでしょうか?

C

1#include <stdio.h> 2 3int main(void) 4{ 5 int c; 6 7 int key = 32; 8 9 printf("アルファベットを一文字入力して下さい。\n"); 10 11 c=getchar(); 12 13 14 15 printf("%c", c-key); 16 17 18 19 20return 0; 21}

投稿2022/11/17 23:38

ALOHAMS

総合スコア195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaku1110

2022/11/29 01:35

ありがとうございます!
guest

0

C

1#include <stdio.h> 2#include <ctype.h> 3 4int main(void) { 5 printf("アルファベットを一文字入力して下さい。\n"); 6 printf("%c", toupper(getchar())); 7 return 0; 8}

投稿2022/11/17 07:56

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaku1110

2022/11/29 01:36

ありがとうございます!
guest

0

どこが間違っているでしょうか?

32を足すという数式がおかしいです。

自分で数式を書くのもいいですが、toupperのような標準関数(man)が用意されていますので、そちらを使うことをおすすめします。

投稿2022/11/17 05:32

maisumakun

総合スコア145201

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gaku1110

2022/11/29 01:37

そのような関数は初めて知りました ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問