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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
- Java javaのCSVデータ読込についてです 6 2022/07/02 10:58
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Excel(エクセル) 数字にカンマを入れる方法 2 2022/04/12 11:52
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
3桁区切(コンマ)記号をつける方法
C言語・C++・C#
-
C++で空Enterの入力を判断したい!!
C言語・C++・C#
-
カンマ区切りのデータを配列に読み込みたい
C言語・C++・C#
-
-
4
複数桁10進数の*桁目だけを抽出したい
C言語・C++・C#
-
5
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
6
C言語でのカンマ区切りについて
C言語・C++・C#
-
7
セグメントエラー
C言語・C++・C#
-
8
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
9
C言語での、年複利の計算方法が分かりません。
C言語・C++・C#
-
10
C言語 配列の長さの上限
C言語・C++・C#
-
11
C言語で分からないところがあります。整数値の分割取得みたいなこと・・
C言語・C++・C#
-
12
c言語でキーボードから2点の座標p1(a,b),p2(c,d)の値はを入力して2点間の距離を計算を表
C言語・C++・C#
-
13
画面を強制的に再描画させる方法
C言語・C++・C#
-
14
[C] 構造体メンバーのカンマ区切り出力
C言語・C++・C#
-
15
構造体のメンバをfor文で回したい
C言語・C++・C#
-
16
整数データの配列から同じ値のデータを削除する関数
C言語・C++・C#
-
17
textBoxに数値を入力すると円とカンマが自動的につくようにするには?
C言語・C++・C#
-
18
enterでループ終了
C言語・C++・C#
-
19
作成したウインドウのサイズを固定するには?
C言語・C++・C#
-
20
ダメだ・・・分からない。while文 無限ループ&’\n’エンター後無限ループ脱出
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数桁10進数の*桁目だけを抽出...
-
std::set<int> で、ある値が何...
-
「指定されたキャストは有効で...
-
数字列を3桁ごとにカンマで区切...
-
比較回数と交換回数表示について
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
実数の整数部,小数部の取得
-
c言語
-
C言語
-
卒業研究でよく分からないとこ...
-
main関数以外での結果の表示?
-
各桁の和を返す関数
-
C言語での引数の省略方法
-
(int *)の意味
-
C++でvectorにテキストファイル...
-
if文について
-
プログラミング c言語
-
マルチスレッドでバグが発生します
-
【C++】関数ポインタの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報