A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
まず、丸投げは禁止です。
自分なりに努力した姿勢を示すことが大事です。まあ、2ページめに回され、忘れ去られる運命にあるようですから、もう回答しても良いでしょう。
課題は、英子文字を英大文字に変換しなさい。ただし、文字の比較は10進数を使うこと。
すなわち、「習ったアスキーコード表の10進数を使い、英字を大文字に変換せよ」ということです。
http://e-words.jp/p/r-ascii.html
回答プログラムがチョー簡単なところから察するに、きちんと講義は受けるべきです!!
一時的な回答はえられても、自分の得にはなりません。
#include <stdio.h>
void str_toupper(char *str);
int main(void)
{
char buff[]="Until Saturday, Burmese democracy campaigner Aung San Suu Kyi was arguably the world's most famous prisoner.";
printf("buff[]:¥n%s¥n", buff);
str_toupper(buff);
printf("result:¥n%s¥n", buff);
return 0;
}
void str_toupper(char *str)
{
int c;
while(c=*str) {
if(c>=97 && c<=122){
*str=c-32; //32=97-65
}
str++;
}
}
----- 実行結果 -----
buff[]:
Until Saturday, Burmese democracy campaigner Aung San Suu Kyi was arguably the world's most famous prisoner.
result:
UNTIL SATURDAY, BURMESE DEMOCRACY CAMPAIGNER AUNG SAN SUU KYI WAS ARGUABLY THE WORLD'S MOST FAMOUS PRISONER.
http://www.bbc.co.uk/news/world-asia-pacific-117 …
No.5
- 回答日時:
string を std 名前空間で使うなら transform もそうした方がいいのではないかと& toupper を使うために
は cctype を #include せにゃまずいのではないか>#4.No.4
- 回答日時:
#include <string>
#include <algorithm>
#include <iostream>
void str_toupper(std::string& str)
{
transform(str.begin(), str.end(), str.begin(), toupper);
}
面倒だから引数はstringにしちゃいましたが、ちゃんと説明できれば許してもらえるのでは。
No.3
- 回答日時:
個人的には, そこは許していいと思う>#2. 「言葉のあや」ってものもあるし.
それよりも, 「ただし、英小文字a~zおよび英大文字A~Zには、それぞれ昇順に、連続した1バイトの整数が割り当てられているものとする。」の方が許しがたい. こんな条件は「腐ったプログラム」 (あるいは「腐ったプログラムを書くやつ」) を拡大再生産するだけでまったく意味がないのに....
まともなプログラマなら, この条件はあってもなくても同じプログラムを書く.
No.2
- 回答日時:
ここは課題を出されたら回答するところかな。
ま、いいけどね。
>ポインタstrが文字列の先頭文字を指している時
ポインタは必ず文字列の先頭を指してるけど?
ポインタの指しているところが文字列の中間かどうかわからんよね。
問題がおかしいよ。
あなたは日本語と課題を理解できてる?
No.1
- 回答日時:
課題は自分でやりましょう
C言語では文字を' 'で囲むとその文字の値になります
問題の例では'a'は97に'A'は65になります
文字の値が'a'以上'z'以下であれば小文字ということです
次にa-z A-Zがそれぞれ連続しているということは大文字と小文字の差はすべて同じということになります
問題に書かれた例ではaとAの差は32、zとZの差も32になります
プログラムで差を求めるには'a' - 'A' とか 'z' - 'Z'を使えば文字コードが何であっても大丈夫です
後はがんばって
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- C言語・C++・C# c言語 int temp = 0; if(isdigit(arr[i])){ temp=arr[i] 2 2022/03/27 01:44
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sscanfとscanfの違いがよくわか...
-
Cで「大文字、小文字の判定」は...
-
CStringのFindで文字列検索を行...
-
fgets関数を使用したときの文字...
-
charと%c , %s の関係について
-
CStringについて
-
atoiでの文字列以外のエラー処...
-
C言語、単語ごとに改行したい
-
こんにちは。いつもお世話にな...
-
文字列の途中に「0」がある場...
-
C言語の勉強しています。すみま...
-
itoaわかりません
-
文の意味
-
反転した数値を表示させるやり方
-
小文字のみを数える方法
-
マイナスからプラスへ転じた時...
-
DWORDの実際の型は何でしょうか
-
2÷3などの余りについて
-
「指定されたキャストは有効で...
-
プログラムでの数字につく”f”の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringのFindで文字列検索を行...
-
C言語のステップ数をカウントす...
-
sscanfとscanfの違いがよくわか...
-
charと%c , %s の関係について
-
fgets関数を使用したときの文字...
-
itoaわかりません
-
C言語 空白の行(改行のみ)が...
-
fgetsで拾われる改行文字を削除...
-
反転した数値を表示させるやり方
-
C言語で16進数文字列から16進数...
-
文字列中に含まれる文字の個数...
-
Cで「大文字、小文字の判定」は...
-
(C言語)関数の中で文字列比較で...
-
CStringについて
-
fgetsとsscanfを使って一行から...
-
[Java]文字列分割
-
C言語の課題です
-
エディットボックスに入力され...
-
strstrを利用しない文字列検索...
-
日本語の変換の問題
おすすめ情報