
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で質問しましょう!
似たような質問が見つかりました
- VBAで出力したCSVファイルの先頭にカンマを挿入したい
- 【VBA】特定の文字で改行(次の行)に行きたい。
- Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい
- プログラミング pythonの問題について
- CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ
- コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場
- javaのCSVデータ読込についてです
- 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい
- VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ
- 数字にカンマを入れる方法
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
3桁区切(コンマ)記号をつける方法
C言語・C++・C#
-
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
C言語でのカンマ区切りについて
C言語・C++・C#
-
-
4
C++で空Enterの入力を判断したい!!
C言語・C++・C#
-
5
複数桁10進数の*桁目だけを抽出したい
C言語・C++・C#
-
6
カンマ区切りのデータを配列に読み込みたい
C言語・C++・C#
-
7
空白を含んだ文字列がうまく格納(表示)できない
C言語・C++・C#
-
8
ビットをローテートするプログラムの解説をお願いします。(C言語)
C言語・C++・C#
-
9
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
10
e^(x^2)の積分に関して
数学
-
11
C言語 配列の長さの上限
C言語・C++・C#
-
12
C言語で分からないところがあります。整数値の分割取得みたいなこと・・
C言語・C++・C#
-
13
c++ 文字列を入力して、一文字ずつ表示させる関数を作りたい
C言語・C++・C#
-
14
C++で入力した文字列から数字を取り除くもしくは数字のみをのこす
C言語・C++・C#
-
15
C言語におけるif文の評価順
C言語・C++・C#
-
16
C言語での、年複利の計算方法が分かりません。
C言語・C++・C#
-
17
enterでループ終了
C言語・C++・C#
-
18
任意の文字列のアルファベットのカウント
C言語・C++・C#
-
19
C言語 空白の行(改行のみ)が入力されたらプログラムを終了する処理
C言語・C++・C#
-
20
3のつく数字と3の倍数のみを表示するプログラム
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「指定されたキャストは有効で...
-
#define _CRT_SECURE_NO_WARNIN...
-
複数桁10進数の*桁目だけを抽出...
-
C言語での引数の省略方法
-
C言語 エラーの原因がわからな...
-
if と配列の組み合わせ
-
実数の整数部,小数部の取得
-
【C++】関数ポインタの使い方
-
比較回数と交換回数表示について
-
構造体の勉強中です 合計点の高...
-
(マルチスレッド)_beginthrea...
-
C言語 巡回セールスマン問題 2-...
-
return 1L
-
C言語での奇数の和
-
「{ } で囲むだけ」は正しい?
-
異なる文字列のマッチングを、D...
-
C#の質問
-
int16_t の _t は何?
-
課題なんですが・・・
-
アスタリスクでダイヤ型を作る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
【C++】関数ポインタの使い方
-
if と配列の組み合わせ
-
変数名を引数として渡す、アド...
-
ラップ関数とはどんなものですか?
-
数字列を3桁ごとにカンマで区切...
-
実数の整数部,小数部の取得
-
因数分解を行うプログラムについて
-
(int *)の意味
-
C言語での奇数の和
-
system関数がうまくいかない
-
c言語の配列を使ってサイコロを...
-
シグマ公式・・・C言語
-
read関数をノンブロッキングで...
-
構造体の勉強中です 合計点の高...
-
式は定数値が必要です」という...
おすすめ情報