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

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

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

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

1回答

938閲覧

C言語 配列について

mocamaru

総合スコア1

C

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/04/20 07:37

プログラミングを勉強し始めたばかりの初心者です。
キーボードから文字列を入力し、その後英単語をキーボード入力して、英単語が最初に入力された文字列に含まれるかどうかを調べるプログラムを作りたいです。

発生している問題・エラーメッセージ

どのように条件式をかけばいいのかわかりません

### 該当のソースコード C ソースコード

#include<stdio.h>
#include<string.h>

int main(void) {

char str[100]; char str1[10]; char ch; printf("文字列を入力してください : "); gets_s(str); printf("調べたい英単語を入力してください : "); gets_s(str1); int count = 0; int len = strlen(str1);

//このあたりの条件の書き方がわかりません。
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] == str1[i]) {
printf("「%s」は. %d文字目に見つかりました!\n", str1, i + 1);
count++;
}
}

printf("「%s」は. 合計で%d文字. 見つかりました!\n", str1, count); return 0;

}

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

K_3578

2021/04/20 08:39

ソースコードはMarkDownの<code>ブロック内に貼り付けてください。 ```言語名(HTML,CSS等) ソースコード ``` 上記のようにしてみてください。
dodox86

2021/04/20 08:55

> どのように条件式をかけばいいのかわかりません そこが課題(?)のキモのひとつだと思うのですが、、、もう少しがんばって自力で考えてみませんか。 > if (str[i] == str1[i]) { となっていますが、strとstr1で添え字(インデックス)iが同じ値で、見付けることができるでしょうか。
kazuma-s

2021/04/20 09:46

ソースコードの添付に失敗しています。 ### 該当のソースコード ```C #incude <stdio.h> ... } ``` というように、質問を編集して修正してください。 詳しくは teratail の help を読んでください、
kazuma-s

2021/04/20 09:54

gets_s(str); がエラーにならないとしたら、 Visual C++ で C++ のソースをコンパイルしていることになります。 コンパイラは何ですか? ソースファイルの拡張子は .c ですか、それとも .cpp ですか? 探したいのは英単語ですか、それとも単に文字列ですか?
guest

回答1

0

標準関数 strstr 使ってはいかがかと。

投稿2021/04/20 08:20

episteme

総合スコア16614

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

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

kazuma-s

2021/04/20 09:49

strstr は英単語を特別扱いしません。 strstr("This is a pen.", "is") で This の is の位置を見つけてしまいます。
episteme

2021/04/20 10:54

そーなの? > 質問者 「英単語が最初に入力された文字列に含まれるか」なら 英単語:"is" は 文字列:”This” に含まれますよね?
HogeAnimalLover

2021/04/20 11:19

私もstrstrで良いと思います。別の単語の一部であっても条件を満たしていると言えるでしょう。これでだめならば、課題文章がおかしいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問