何をすればいいのかがさっぱりです
文字列を入力
入力された文字列について
次の(1)~(6)のすべてを表示するプログラムを作成
(1) 全文字の合計文字数
(2) 数字の文字数
(3) 英大文字の文字数
(4) 英小文字の文字数
(5) 空白の文字数
(6) その他の文字の文字数
データの読み込みはgetchar 関数を使用
実行例
total = (1)
numeric= (2)
large = (3)
small = (4)
space = (5)
other = (1)-(2)(3)(4)(5)
よろしくお願いします
No.4ベストアンサー
- 回答日時:
今週もあとわずか。
この問いも2ページへ回されましたから、もういいでしょう。UNIX系として、リダイレクトで取り込んで処理することが条件です。
データの入力文字列は、Japan Times の記事を testfile とすれば
http://search.japantimes.co.jp/cgi-bin/nn2010111 …
↓のように出力されます。
なお、プログラム内容は見てのとおりチョー簡単です。それは講義をきちんと受けていればわかる問題ですから、くれぐれも さ・ぼ・ら・ぬ よう肝に命じてください。
起動は「./a.out<testfile」です。
----- testfile -----
Japan, U.S. to launch talks to bolster defense
WASHINGTON (Kyodo) Tokyo and Washington will soon launch working-level talks on strengthening defense cooperation in the event of an emergency affecting Japan, sources involved in Japan-U.S. relations said Tuesday.
The two countries decided to substantially strengthen the alliance in the face of the diplomatic clash with China over the Sept. 7 incident near the Senkaku Islands in the East China Sea and China's recent escalation of activities in the South China Sea, the sources said.
The plan is to renew and enhance the 1997 defense cooperation guidelines.
----- Result -----
Items:
total= 612
numeric= 5
large= 34
small= 459
space= 91
other= 23
/* Gcc on Mac OSX */
#include <stdio.h>
#include <ctype.h>
int main(void)
{
int c,total,numeric,large,small,space,other;
total=numeric=large=small=space=other=0;
while ((c=getchar())!=EOF) {
putchar(c);
total++;
if(isdigit(c)) numeric++;
else if(isupper(c)) large++;
else if(islower(c)) small++;
else if(c==' ') space++;
else other++;
}
printf("\nItems:\n");
printf("\ttotal= %d\n",total);
printf("\tnumeric= %d\n",numeric);
printf("\tlarge= %d\n",large);
printf("\tsmall= %d\n",small);
printf("\tspace= %d\n", space);
printf("\tother= %d\n", other);
return 0;
}
参考URL:http://www9.plala.or.jp/sgwr-t/c/sec07.html
No.3
- 回答日時:
>よろしくお願いします
>>何をすればいいのか
>次の(1)~(6)のすべてを表示するプログラムを作成
>(1) 全文字の合計文字数
>(2) 数字の文字数
>(3) 英大文字の文字数
>(4) 英小文字の文字数
>(5) 空白の文字数
>(6) その他の文字の文字数
何を質問されているのかわかりません。
もう少し質問を明確にしてください。
>何をすれば。。。
上記を表示するプログラムを
作ればいいのではないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) VBA B列にある前から10文字のみ表示 3 2023/08/07 11:24
- Excel(エクセル) 【Excel】複数列ごとに取得するセルを変更したい 2 2023/03/23 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
printf で二進表示を行いたい。
-
10個出力で改行したいのですが...
-
コマンドラインに出力した文字...
-
ブラックジャック
-
C言語で、「自然数nを入力し、n...
-
error C2143: 構文エラー : ';'...
-
scanfに文字が入力されたときに...
-
4の倍数を論理演算で表す。。
-
縦の棒グラフ
-
パスカルの三角形についてのCプ...
-
(C言語)めちゃくちゃな値にな...
-
ピラミッド表示プログラム。
-
C言語 ツェラーの公式を使った...
-
CTRL+Dでループを抜けるには
-
勝率をプログラムに
-
Visual Sutdio 2017 でのC言語...
-
%P と %X の違い
-
printf( " %2d", p * q );
-
C言語 プログラミング ごめんな...
-
printf()文の書式
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
既約分数の表示プログラム
-
printf で二進表示を行いたい。
-
8人分のテストの点数を入力し、...
-
printf( " %2d", p * q );
-
strcmp
-
CTRL+Dでループを抜けるには
-
4の倍数を論理演算で表す。。
-
%P と %X の違い
-
【C言語教えてください】sin波...
-
c言語でAからZまでを表示する...
-
cshの文字列操作(0埋め)
-
万年カレンダーのC言語プログラ...
-
コマンドラインに出力した文字...
-
scanfに文字が入力されたときに...
-
コンパイルエラーについて
-
ホームページをC言語で作りたい...
-
改行について 1行に何個かづ...
-
台形の面積を求めるプログラム
-
なぜgccはstdio.hをインクルー...
おすすめ情報