No.2ベストアンサー
- 回答日時:
Cmachineという事はC言語を使うという事ですね? 言語や環境を書いておかないと適切な回答は得られませんよ。
-------------------------------------------------
#include <stdio.h>
#include <string.h>
#define ARRAY_SIZE 128
int main()
{
char input[ARRAY_SIZE];
char output[ARRAY_SIZE];
int len;
int i = 0;
int j = 0;
memset(input, 0, ARRAY_SIZE);
memset(output, 0, ARRAY_SIZE);
scanf("%s", input);
len = strlen(input);
while (i < len) {
output[j] = input[i];
i++;
j++;
if ( (len - i) % 3 == 0 ) {
output[j] = ',';
j++;
}
}
if (output[j - 1] == ',') {
output[j - 1] = '\0';
}
printf("output = %s\n", output);
return 0;
}
-------------------------------------------------
エラーチェックが甘いけど、入力が正しければ、正常に動作すると思います。全角スペース入りなので、削除してからコンパイルしてください。
この回答への補足
書き込みありがとうございます。
すいません、言語はCで、コンパイラはCmachineです。
gimmikさんのプログラムできちんと動きましたが、#define ARRAY_SIZE 128 というのがまだ教わってないのでよくわかりません。
#define を使わずに実行する方法は無いでしょうか?
質問ばかりで申し訳ありません。
No.3
- 回答日時:
はじめまして。
>、#define ARRAY_SIZE 128 というのがまだ教わってないのでよくわかりません。
ARRAY_SIZEは128です。って事です。宣言文でこれ以降ARRAY_SIZEが出てきたら128と読み替えてね。
>#define を使わずに実行する方法は無いでしょうか?
ARRAY_SIZEと記述されている部分を全て128に変更してください。#defineの行を削除。
ありがとうございます。
教えていただいたソースを参考に、自分なりに考えてみたら、できました!!
みなさん、どうもありがとうございました。
No.1
- 回答日時:
文字列として処理しても良ければ、、、
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char chrInput[128];
scanf( "%s", &chrInput );
int nLen = strlen( chrInput );
int nParts = nLen / 3;
int nOdd = nLen % 3;
char chrOutput[128];
chrOutput[0] = '\0';
if( nOdd )
{
strncat( chrOutput, chrInput, nOdd );
}
for( int i=0; i<nParts; i++ )
{
strcat( chrOutput, "," );
strncat( chrOutput, &chrInput[nOdd+i*3], 3 );
}
printf( "Result = %s", chrOutput );return 0;
}
この回答への補足
書きこみありがとうございます!
初心者の研修なので、コンパイラはCmachineを使うことを義務付けられています。
Cマシーンでは9行目、int nLen = strlen(chrInput);
の所でエラーが出てしまいます…。
どうしたらいいでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
3桁区切(コンマ)記号をつける方法
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
C言語でのカンマ区切りについて
C言語・C++・C#
-
-
4
整数データの配列から同じ値のデータを削除する関数
C言語・C++・C#
-
5
C++で空Enterの入力を判断したい!!
C言語・C++・C#
-
6
unsigned long long 型のフォーマット指定子
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
数値を入力して1からその数値ま...
-
C言語<素数を求めるプログラム>
-
std::set<int> で、ある値が何...
-
C言語での引数の省略方法
-
比較回数と交換回数表示について
-
C# リストボックスに同じ文字が...
-
PowerShellがうまくいかない
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
acceptをalarmでタイムアウトさ...
-
int16_t の _t は何?
-
ファイルから読みこむ方法
-
アスタリスクでダイヤ型を作る
-
商と剰余を同時に求める(C言語)
-
c言語の配列を使ってサイコロを...
-
C言語 エラーの原因がわからな...
-
read関数をノンブロッキングで...
-
C言語
-
Arduinoのプログラムにエラーが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
【C++】関数ポインタの使い方
-
ラップ関数とはどんなものですか?
-
ColorをRGBで指定する方法
-
(int *)の意味
-
足して100になるような乱数のア...
-
シェルピンスキーのギャスケット
-
if と配列の組み合わせ
-
実数の整数部,小数部の取得
-
構造体の勉強中です 合計点の高...
-
「{ } で囲むだけ」は正しい?
-
c言語の配列を使ってサイコロを...
-
式は定数値が必要です」という...
-
acceptをalarmでタイムアウトさ...
-
read関数をノンブロッキングで...
-
std::set<int> で、ある値が何...
おすすめ情報