検索結果 1997 件

by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: fscanf_sがうまく動作しない
返信数: 6
閲覧数: 6825

Re: fscanf_sがうまく動作しない

さしあたりお願いしたいのは、Visual Studioでビルドおよび実行ができるソースコード
(要するにくだんの結果が出るソースコード全部のコピペ)を出していただきたい、ということです。
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中身が表示されない
返信数: 4
閲覧数: 5402

Re: 配列の中身が表示されない

こんなのじゃダメですか? #include <stdio.h> int main(void) { int data1[] = { 10, 15, 22, 45, 9, 66, 71, 4, 37, 82 }; int data2[10], counter, i; for (counter = i = 0; i < 10; i++) { if (data1[i] % 2 == 1) { data2[counter++] = data1[i]; } } printf("%d odd data\n", counter); for (i = 0; i < counter; i++) { printf(...
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: #ifdefと#endifを定義しているのですが…
返信数: 5
閲覧数: 8510

Re: #ifdefと#endifを定義しているのですが…

コード:

//構造体変数宣言部
GLOBAL ch_t ch; //キャラクタデータ宣言
GLOBAL int func_state;
//↑このGLOBALが緑のなみなみがでるんです。
緑の何とか、って言われましても、開発環境に関する情報が全くないので、
いかんともしがたいです。質問者さんのPCは、こちらからは見えません。
試しに、その緑の何とかを無視して強引にビルドしてみると、どうなりますか?
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: ゲームの解析をするのにC言語は向いてますか?
返信数: 5
閲覧数: 9499

Re: ゲームの解析をするのにC言語は向いてますか?

ゲームの解析とは、何を指しているのでしょうか?
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数
返信数: 14
閲覧数: 30350

Re: ポインタ変数

ポインター変数の書き方が
p*
というのは誤解があります。そういう書き方はありません。
int *p;
と定義した場合、「int *」型、つまりint型を指すポインター変数(中身はint型の何かの変数のアドレス)がpです。
よって、p = &p;
という書き方は真っ当です。
次に
*p
という書き方ですが、これは
int *p;
という定義と関連づけて、
「int」型が*pだという風に理解したらどうでしょう。
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: c言語 もっとも多く投票された品を表示するプログラム
返信数: 3
閲覧数: 7582

Re: c言語 もっとも多く投票された品を表示するプログラム

コード:

            N[I]=num;
ABCDE
を数字(しかも文字コード)で上書きしていいんでしょうか。

コード:

            I=I++;
もしかして
I++;
がいいいとか。

コード:

            printf("商品%p\n",&maxI+1);
"%p"
を使っている意図は何ですか?
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: bcc32でポインタを操作した際の挙動について
返信数: 3
閲覧数: 12412

Re: bcc32でポインタを操作した際の挙動について

a と *cは同じアドレスを差しており、
論拠は何ですか?
by box
5年前
フォーラム: C言語何でも質問掲示板
トピック: 「 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」というエラーについて
返信数: 2
閲覧数: 16729

Re: 「 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」というエラーについて

warning C4477: 'printf' : 書式文字列 '%03d' には、型 'int' の引数が必要ですが、可変個引数 1 は型 'int *' です」と表示されエラーになります。 warningと書いてあるとおり、エラーではありません。警告です。 実行ファイルは作成できているはずですので、実行すれば何かが起きるでしょう。喜ばしくない結果が出るかもしれませんが…。 while (fscanf_s(fp, "%3d %1020s", &str[*Input].code[3], &str[*Input].name[1021], 1024) != EOF) code[3]とかname[...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 整数商, 余り
返信数: 7
閲覧数: 14244

Re: 整数商, 余り

例えばa = 17, b = 3ならば、整数商 = 5, あまり = 2
となるわけですが、手計算ではどのようにしますか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: AIZU ONLINE JUDGE (AOJ) - 0044 について
返信数: 4
閲覧数: 12167

Re: AIZU ONLINE JUDGE (AOJ) - 0044 について

何でもかんでもmain()に押し込むのではなく、
例えば今回の場合、「引数で与えた数が素数かどうかを判定する」という機能を
関数にしてみると、何か見えてくるかもしれません。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 型変換
返信数: 14
閲覧数: 16126

Re: 型変換

登場している変数名の定義ぐらいは見せていただきたいです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 書式指定の前にある空白について
返信数: 7
閲覧数: 12385

Re: 書式指定の前にある空白について

printf()のまえによけいな「全角」空白を入れるのはお控えください。
コンパイルできません。
さて、おたずねの件ですが、
書式文字列が
" %8s %8s\n"
でもって、"商品A", "商品B"を出力する場合、
・1バイト分空白をあける
・"商品A"を8バイト分の領域に右詰めで出力する。
・1バイト分空白をあける
・"商品B"を8バイト分の領域に右詰めで出力する。
となります。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: アドレス入力
返信数: 2
閲覧数: 10135

Re: アドレス入力

#include <stdio.h> #include <stdlib.h> #define SIZE (800) int main(void) { double *p, *y; int i; p = malloc(sizeof(double) *SIZE); if (!p) printf("allocation error\n"), exit(1); for (i = 0; i < SIZE; i++) { p[i] = i; } y = p; for (i = 0; i < 10; i++) { // とりあえず最初の10個だけ確認 printf("%f\n", *y); y++; } ...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: pointerを付け忘れていますとエラーメッセージが出ます。
返信数: 2
閲覧数: 13615

Re: pointerを付け忘れていますとエラーメッセージが出ます。

#if 0 こういうことがしたかったのでしょうか #endif /*外部変数を使ったプログラム*/ #include<stdio.h> int max, min; void maxmin(int data[10]); int main(void) { int data[10] = { 0, 2, 1, 4, 3, 6, 5, 8, 7, 9 }; maxmin(data); return 0; } void maxmin(int data[10]) { int i, *p; p = data; max = min = *p; for (i = 1; i < 10; i++) { if (*(...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 至急解答お願い致します。
返信数: 2
閲覧数: 10161

Re: 至急解答お願い致します。

#if 0 インクルードすべきファイル名が間違っています。studio(これじゃスタジオ) ではなくて、stdio(標準入出力standard input/output)です。 また、変なところに全角のダブルクォーテーションがあるのもいただけません。 あと、インデント(字下げ)ってご存じですか?今のようなノッペリしたコードは、 あまり読む気になれません。メリハリを付けましょう。 p.s. あまり「至急」って書かない方がいいと思う。ていうか、投稿のタイトルは、 中身がある程度わかるものにしていただきたいような気がしないでもない。 #endif #include <stdio.h> int fu...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: char型の5桁の数字をソートする方法
返信数: 10
閲覧数: 13426

Re: char型の5桁の数字をソートする方法

こんなのじゃダメですか? #include <string.h> void sortzip(Employees workers[], int size) { Employees t; int i, j; for (i = 0; i < size - 1; i++) { for (j = i; j < size; j++) { if strcmp(workers[i].zip, workers[j].zip) { t = workers[i], workers[i] = workers[j], workers[j] = t; } } } printf("\nk)\n"); for (i = 0;...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の文字を削除して詰めるには
返信数: 9
閲覧数: 29213

Re: 配列の中の特定の文字を削除して詰めるには

例えば、要素数が10で[3]が空いたとしましょうか。このときは、
[4]~[9]を[3]~[8]へ移して、[9]には'\0'(文字列終端の印)を入れるという
操作が必要なはずです。
この処理を行なうための関数(引数は、例えば詰める部分の始めと終わり)を準備しておくとよいかもしれません。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の文字を削除して詰めるには
返信数: 9
閲覧数: 29213

Re: 配列の中の特定の文字を削除して詰めるには

lily さんが書きました: 上手くいきません。
これだけでは何とも…。
どのようにうまくいかないのでしょうか。うまくいかないコード全体と入力データ、出力データの例を示してください。
lily さんが書きました: 詰めるというのは配列の要素に一つ隣の要素を代入するではダメなのでしょうか?
たぶんダメでしょうね。空きができた箇所から後ろのデータを「すべて」1個前へ詰めないと…。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の各要素の足し算
返信数: 7
閲覧数: 11545

Re: 配列の各要素の足し算

t_n_y_09 さんが書きました: num3={9,9,9,9,9,9,9,9,9,9}
何と何を足したらこんな結果になるんですか?
全然わかりません。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ ソート
返信数: 12
閲覧数: 19002

Re: ポインタ ソート

Oops!
昇順と降順を間違えてた。sort関数で、不等号の向きを逆にしてください。>質問者様
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ ソート
返信数: 12
閲覧数: 19002

Re: ポインタ ソート

こんな感じなんでしょうか。 #include <stdio.h> #define NUMBER (10) void swap(double *x, double *y) { double t; t = *x, *x = *y, *y = t; } void descending_sort(double *data, int n) { int i, j; for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if (*(data + i) > *(data + j)) { swap(data + i, data + j); } }...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列の中の特定の数値を出力するには
返信数: 2
閲覧数: 9415

Re: 配列の中の特定の数値を出力するには

「特定の数値を出力する」というタイトルと「最後の1のある要素数を出力する」が食い違っているように思えて、
何がしたいのかがよくわかりません。
また、「最後の1のある要素数」の意味もよくわかりません。要素数ではなくて要素番号ならば話はわかります。
最後の要素番号を調べたいのであれば、配列を最後からたどっていって、初めて1が見つかった要素番号を
答にすればよいでしょう。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ピラミッド作成 表示回数1回
返信数: 15
閲覧数: 19836

Re: ピラミッド作成 表示回数1回

無名 さんが書きました:上記のプログラム、エラー(移植性のないポインタ変換)
がputcharの列にあって実行出来ないのですが…
シングルクォートを使っていますか?ダブルクォートではダメですよ。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ピラミッド作成 表示回数1回
返信数: 15
閲覧数: 19836

Re: ピラミッド作成 表示回数1回

実行後、偶数の整数を入力してみてください。 #include <stdio.h> void pyramid(int n) { int x, y; if (n % 2 == 0) { int m = n - 1; for (y = m; y >= 0; y--) { for (x = -m; x <= m; x++) { putchar((y <= x + m && y <= -x + m) ? '*' : (x == m) ? '\n' : ' '); } } } } int main(void) { int n; scanf("%d", &n); pyramid(n); return 0; }
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタを使った配列を関数に受け渡す方法について
返信数: 7
閲覧数: 15303

Re: ポインタを使った配列を関数に受け渡す方法について

#include <stdio.h> #include <stdlib.h> #include <time.h> // mainから渡されるのはint *型 void sort(int *d, int n) { int i, j, t; for (i = 0; i < n - 1; i++) { for (j = i; j < n; j++) { if (d[i] > d[j]) { t = d[i], d[i] = d[j], d[j] = t; } } } } int main(void) { int *data; // dataはint *型、*dataはint型 int n, i; ...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体、配列、ファイル操作について
返信数: 3
閲覧数: 10471

Re: 構造体、配列、ファイル操作について

hnkto さんが書きました:ファイルから著者名などを読み込み、表示させたいのですが、ファイルオープンエラーとなってしまいます。どこがおかしいのかわからないので、分かる方いましたらお願いし
ファイルの置き場所は適切ですか?
開発環境によって、使うファイルをどこのフォルダーに置いておく必要があるかは異なります。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 中央値を求めるプログラム
返信数: 4
閲覧数: 12466

Re: C言語 中央値を求めるプログラム

データの個数が偶数である場合の中央値の求め方は既出ですが、
その場合、*の付け方はどうするんでしょうね。>質問者さん
中央値を計算するためのネタとなるデータ(2個)に*を付けるんでしょうか。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートを用いた問題
返信数: 6
閲覧数: 14859

Re: バブルソートを用いた問題

何でもかんでもmain()にぶち込まない方がよいと思います。 // 全面的に改変しました #include <stdio.h> #include <stdlib.h> #include <time.h> #define N (10) void makeRandomNumber(int *a, int n) { int i; for (i = 0; i < n; i++) { a[i] = rand() % 20 + 1; // 1~20の乱数を発生 } } void sortArray(int *a, int n) { int i, j, t; for (i = 0; i < n - 1; i...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: バブルソートを用いた問題
返信数: 6
閲覧数: 14859

Re: バブルソートを用いた問題

mogu2522 さんが書きました: バブルソートで昇順に並び変えるのは理解できる
では、そのときのコードを見せてください。たぶんちょっとした修正でうまくいくと思います。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 普通式から後置記法に変換でうまくコンパイルができない
返信数: 5
閲覧数: 10622

Re: 普通式から後置記法に変換でうまくコンパイルができない

今回の事象は「うまくコンパイルできない」ではなく、
「うまくコンパイルはできるけど、思ったとおりに動かない」というのが
正しそうです。
もし、「コンパイル」という用語の意味を正しく理解していないのであれば、
この機会に覚えておくとよいかもしれません。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 循環小数の計算について
返信数: 4
閲覧数: 12267

Re: 循環小数の計算について

1/7だったら循環節に現われる数字がすべて異なるので対処のしようがあると思いますが、
例えば1/17だったら循環節に同じ数字が複数回現われます。そこをどう切り抜けるかがポイントとなりそうです。
1/17 = 0.05882352941176470588235294117647...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列をスキップする方法
返信数: 9
閲覧数: 12020

Re: 配列をスキップする方法

#include <stdio.h> int main(void) { int skip[10] = { 0 }; // skip[n] == 1のとき、その段をスキップする int s, i, j; do { printf("スキップする段を入力してください(0または1~9以外で終了)。\n"); scanf("%d", &s); if (s == 0) break; if (1 <= s && s <= 9) skip[s] = 1; } while (0 <= s && s <= 9); for (i = 1; i <= 9; i++) { if (skip[i] == 0) { fo...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 分割コンパイル時の構造体宣言
返信数: 6
閲覧数: 12395

Re: 分割コンパイル時の構造体宣言

多重インクルードガード付きのヘッダーファイルを作成するのがよさそうです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 変数だけを書く
返信数: 4
閲覧数: 8670

Re: 変数だけを書く

何もしない関数ですので、何も起きません。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列のアルファベット順並び替え
返信数: 5
閲覧数: 14536

Re: 文字列のアルファベット順並び替え

"asrutocdgeqkfg"という文字列をアルファベット順に並び替えたいのですが下記のプログラムだとうまくいきません。よろしければアドバイスをよろしくお願いします。 for (i = 0; i < N - 1; i++) for (j = 0; j < N - 1; j++) if (ch[j] > ch[j + 1]) { ex = ch[j]; ch[j] = ch[j + 1]; ch[j + 1] = ex; } ループの中で、i がからむ処理がないのが気になります。 ・i がからむ処理をしたければ、そういうコードを書く ・処理がなくていいのなら、i のループをやめる どっちかに...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: cのプログラミング基礎
返信数: 9
閲覧数: 10609

Re: cのプログラミング基礎

for (d = 1.0; (int)d <= 9; d = d + 0.1) (int)(5.000000) = 4 (int)(6.000000) = 5 たぶん浮動小数点数の誤差でしょう。 そもそも10進の0.1を2進で表現するときから誤差が発生します。 (int) 5.000000 と表示しているところは、おそらく、正確には5.000000という数値ではなく4.999999....で、 %lfで表示すると四捨五入か何かで5.000000と表示するが実際の中身は上述のとおり4.999999...なので intにキャストすると4になってしまう、といったところではないでしょうか。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 複数回定義されているシンボル
返信数: 6
閲覧数: 8303

Re: 複数回定義されているシンボル

donnbee さんが書きました:一応消してみましたがエラーがやはり発生します。
何というエラーメッセージが出るのか、具体的に記載してください。回答しようとする側は超能力者ではありません(質問者さんのPC画面は見えない)ので、
質問者さんのところで何が起きているかは質問者さんからの情報を頼りにするしかないのです。
まあ、
donnbee さんが書きました:

コード:

//int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
//}
この2行だけをコメントアウトしたら、そりゃエラーが出ますわ。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 数字がエラーしてしまいます。
返信数: 3
閲覧数: 5990

Re: 数字がエラーしてしまいます。

peko さんが書きました:

コード:

		L[k]+=1;
		L[k]+=5;
別の回答にもありますが、このように、L[k]に何かを足す、ということは、「必ず、事前にL[k]を初期化(例えばゼロで)しておかねばならない」
という大原則を覚えておいてください。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: コマンドプロンプトからの四則演算入力
返信数: 21
閲覧数: 11319

Re: コマンドプロンプトからの四則演算入力

tgg さんが書きました:

コード:

double shisoku_tasu(gx, gy)

char *gx;
char *gy;
今どきこういう書き方をしている人はいないと思います。過去の遺物。

コード:

double shisoku_tasu(char *gx, char *gx)
のように書くのが標準でありましょう。
tgg さんが書きました:

コード:

int main(argc, argv)

int argc;
char *argv[];
ここも上と同じ。
tgg さんが書きました:

コード:

		if (m == "+") {
ここは一つstrcmpあたりを使ってください。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体に入れた文字の出力について
返信数: 2
閲覧数: 2667

Re: 構造体に入れた文字の出力について

忍者 さんが書きました: char camera;
sscanf(line, "%d",&pa.camera);
printf("%d\n",pa.camera);
[/code]

char型で定義しているメンバーcameraに整数型で値を読んで整数型で出力しているので、
そうなるのは必然ではないかと。
cameraというメンバーをchar型で扱いたいですか?それともint型などの整数として扱いたいですか?話はそこからです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 配列とメモリ確保
返信数: 5
閲覧数: 3851

Re: C言語 配列とメモリ確保

MFJ-228 さんが書きました:

コード:

    free(a); 
    }

      int i;
      for(i=0; i<n; i++)
         printf("a[%d]=%d\n", i, a[i]);
何だかfreeで領域を解放した後にそこへアクセスしているように見えて仕方がありません。
freeを書くのであれば、もうちょい後ろに置くべきでは?
現状は、プログラムがたまたま落っこちないというだけで、実は非常にまずいように思えます。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ポインタ変数の値渡し
返信数: 3
閲覧数: 2778

Re: ポインタ変数の値渡し

るま さんが書きました:ポインタについて勉強したばかりなのですが以下のようにすればaの値が1になるということでよろしいでしょうか?

コード:

p(b);
}
実験してみればいいのに…。printfか何かをかませれば、すぐわかりますよね。

コード:

    printf("%d\n", b);
    printf("%d\n", *b);
とか。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: ファイル分割と構造体
返信数: 7
閲覧数: 5275

Re: ファイル分割と構造体

あらい16 さんが書きました: ファイルを分割したときに、複数のソースファイルから一つの構造体でやり取りできるようにしたいと考えているのですがどうにもうまくいきません。
何をしたときにどううまくいかないのかが全くわかりませんので、お答えのしようがありません。
せめて、ソースコードやエラーメッセージを開示してはいただけないでしょうか。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 3×3行列と3×1行列の積を求めるプログラム
返信数: 3
閲覧数: 5811

Re: 3×3行列と3×1行列の積を求めるプログラム

字下げ(インデント)の悪いくせが身に付いてしまうと、あとあとやっかいです。 今のうちから、せめて下記の感じくらいに書くようにする方がよいでしょう。 誤解しないでいただきたいのは、「何が何でも下記のように書け」ということではなく (それ言い出すと宗教論争みたくなってしまう)、質問者さんのコードと当方のコードでは どっちが見やすいですか?っていうことです。 あと、少数じゃなくって小数です。少数派とか少数精鋭とかだったら少数でいいんですけどね。 #include <stdio.h> int main(void) { double v[3][3] = { { 0.00003, 0.000144, -0...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: atoiと+でバグります
返信数: 4
閲覧数: 4250

Re: atoiと+でバグります

atoi()に渡す引数の型が違ってるようです。

コード:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int a = 999990;
    char *c = "9";

    a += atoi(c);
    printf("%d\n", atoi(c));
    printf("%d\n", a);
    return 0;
}
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列に関する質問
返信数: 3
閲覧数: 3281

Re: 配列に関する質問

下記の解答のdo while文の配列の部分(13行目)が「array 」となっています。なぜ「array 」ではなく「i - 1」となるのかがわかりません。確かにこれを入れないと、データの終わりを意味すると問題で指定されている「−1」を入力しても無限ループから抜けられません。 scanf ("%d", &array[i]); ここで、array に値を代入しています。例えばi = 5としましょうか。array[5]に何かが入りました。 i++; ここで、iを1増やしています。iは6になりました。したがって、上で代入したarray[5]の値が-1かどうかを判断するには } while (arr...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: C++のプログラム文の結果が変なのでは?
返信数: 8
閲覧数: 5089

Re: C++のプログラム文の結果が変なのでは?

とりあえず言えることは、「プログラムは書いたとおりにしか動かない」ということです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 『C言語入力した10進数を2進数変換し、出力する
返信数: 7
閲覧数: 5715

Re: 『C言語入力した10進数を2進数変換し、出力する

ぶっさん さんが書きました:

コード:

//負の値はNG
do{
printf("数値を入力してください。:");
scanf("%d",&num);
}while(num>0);
何だかコメントと実装、本当にやりたいこととが食い違っているように見えます。
正の数を入力している間ループする、というのは正しいですか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列検索について
返信数: 11
閲覧数: 5660

Re: 文字列検索について

Math さんが書きました:

コード:

#include <stdio.h>
char test1[] = "file"; // char test1[4];==>コンパイラに数えさせる方が安全:test1[5]
char test2[] = "sos filenonfile"; // char test2[16] = "sos filenonfile";==>同上tese2=[17]
せっかくこう書くのであれば、
Math さんが書きました:

コード:

	int n1=4,n2=16,i=0;
	
	for(i=0; (16-i) > 4; i++){
このあたりもコンピューターに数えてもらう方がよくないですか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 自作関数について・・・
返信数: 2
閲覧数: 2388

Re: 自作関数について・・・

こんな風にしたい、ってことですか? #include <stdio.h> int max2(int a, int b) { int max; if (a > b) { max = a; } else { max = b; } return max; } int main(void) { int a, b; a = 30; b = 34; printf("%d", max2(a, b)); return 0; } だったら、全然問題ありません。 ちなみに、「有効範囲的に」という意味では、上記コードで、main関数におけるa, bとmax2関数におけるa, bとは 全く別物です。 main関数から...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 選択ソートについての質問です。
返信数: 6
閲覧数: 5279

Re: 選択ソートについての質問です。

みけCAT さんが書きました:とりあえず、for文の中に間違って存在するコンマ2個をセミコロンにすれば、コンパイルは通りますね。
21行目と22行目にある } のどっちかがいらない気がする。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 2
閲覧数: 2280

Re: c言語

// こんな感じなのかな~という気がしないでもないような気がする #include <stdio.h> #include <string.h> #define N (10) void irekae(char (*a)[N], char (*b)[N]) { char t[N]; strcpy(t, *a), strcpy(*a, *b), strcpy(*b, t); } int main(void) { char a[N] = "book"; char b[N] = "amazon"; printf("a:%s, b:%s\n", a, b); irekae(&a, &b); printf...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: c言語
返信数: 3
閲覧数: 2664

Re: c言語

mac さんが書きました:c言語で、4つの自然数a1,a2,b1,b2を入力し、2つの分数 a1/b1,a2/b2 の四則演算を行い、それぞれの式と値を出力するプログラムを作成せよ。という問題についてです。
自然数a1, a2, b1, b2とあるので、とりあえずこれらはint型でしょう。
計算時にdoubleとかfloatとかにキャストする必要はあるにしても。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 文字列
返信数: 3
閲覧数: 3145

Re: 文字列

tese さんが書きました: 実行するとエラーが出てどこが間違っているのかがよくわからなくて。。。
どんなエラーが出るのか明記しましょう。
tese さんが書きました:

コード:

char *cswap(char *str, int i, int j); 
この関数、作っただけで呼び出している形跡がないように見えます。それでOKですか?
作ったならばどこかで呼び出す、いらないのならば削除する、どっちかにしましょう。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 質問です
返信数: 1
閲覧数: 1677

Re: 質問です

if文でも使えば? #include <stdio.h> int main(void) { int i; for (i = 1; i <= 100; i++) { if ( 1 <= i && i <= 20) putchar('A'); if (21 <= i && i <= 50) putchar('B'); if (51 <= i && i <= 70) putchar('C'); if (71 <= i && i <= 90) putchar('D'); if (91 <= i && i <= 100) putchar('E'); } putchar('\n'); return 0; }
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 5
閲覧数: 3181

Re: 教えてください

データが失われてしまいます そうならないためにはどうしたらいいですか? kがint型なのがおかしい。double型にすべき。 インデントがグッチャングッチャンで見づらい。修正すべき。 (注)-4 -0.19のくだりは、意をくんで直しておいた。 #include <stdio.h> int main(void) { double x[] = { -1, -0.49, 0, -3.1, -8, -3, -7.5, 0, -0.98, -4, -3.21, -4, -0.19, -2.4, -3.1, -3.6, -8.5, -3.7, -1, -5.4 }, t; int i, j, n = s...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: mallocで確保した領域に文字列を
返信数: 3
閲覧数: 2384

Re: mallocで確保した領域に文字列を

あまつ さんが書きました:このプログラムでは"あいうえお"に必要な11バイトの領域をmallocで確保しています。が、2バイトや3バイトでもERRORが発生せず、出力されます。
深刻なエラーが出るような領域をたまたま破壊していないだけです。
11バイト確保したならば、そこへ格納できるのは「プログラマーの責任で」11バイトまでです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 教えてください
返信数: 7
閲覧数: 3578

Re: 教えてください

どういう結果がほしいのですか?
例題の座標群で提示してください。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: calc関数
返信数: 6
閲覧数: 4669

Re: calc関数

コード:

// 最もシンプルと思われるコード
#include <stdio.h>

int calc(int n)
{
    return (n + 5) * 3;
}

int main(void)
{
    int n;

    printf("input:"), scanf("%d", &n);
    printf("answer:%d\n", calc(n));
    return 0;
}
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: おかしなところがあったらごしてきくださいorz
返信数: 6
閲覧数: 3764

Re: おかしなところがあったらごしてきくださいorz

makaraito さんが書きました:

コード:

    if(abs(sum)<=d){
        
    }else{
        while(i>0);
    }
ここの無限ループはいいんですか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 至急!!演算子です。初歩の初歩ですみません
返信数: 3
閲覧数: 2104

Re: 至急!!演算子です。初歩の初歩ですみません

重隅な話をすると、
ミルキー さんが書きました:

コード:

    int a=0;
    int b=0;
    int C=32;
    a = C/10;
    b = C%10;
aとbの初期化は特にいりません。
なぜなら、すぐ後で、Cを10で割った商やあまりでもって上書きしているからです。
0で初期化してもしなくても同じだったら、「初期化しない」という楽な方を選びたいところです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: c言語プログラムを作成でわかりません
返信数: 8
閲覧数: 4727

Re: c言語プログラムを作成でわかりません

#if 0 65とか25とかマジックナンバーを書いていたり、mainの型がvoidだったりするのが イヤなので、自分ならこう書く。絶対にこうじゃなきゃいけないことはないのは承知。 #endif #include <stdio.h> #define ALPHABETS (26) int main(void) { int i, j; for (i = 'A'; i < 'A' + ALPHABETS; i++) { for (j = 'A'; j <= i; j++) { putchar(j); } putchar('\n'); } return 0; }
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 新・明解c言語の演習問題での疑問です
返信数: 3
閲覧数: 3328

Re: 新・明解c言語の演習問題での疑問です

SZK さんが書きました:質問する際に打ち間違えたようです。
わざわざ手打ちするよりもコピペする方が正確で楽だと思いませんか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列について
返信数: 4
閲覧数: 2669

Re: 構造体配列について

#if 0 どこが間違っているのか分からないので、助言を頂ければ幸いです。 実行例のように,5名分の学生情報(学生番号と氏名)を構造体配列に格納し,表示するプログラムを作成しなさい. 自作の関数を使う必要はありません. 文字列の代入には,標準ライブラリ関数strcpyを使いなさい. すでに記載されている部分は書き換えてはいけません. 実行例 0人目: 学生番号 11001 名前 山田 一郎 1人目: 学生番号 11002 名前 山田 二郎 2人目: 学生番号 11003 名前 山田 三郎 3人目: 学生番号 11004 名前 山田 四郎 4人目: 学生番号 11005 名前 山田 五郎 #e...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 行列とベクトルの積
返信数: 11
閲覧数: 5808

Re: 行列とベクトルの積

あい さんが書きました:

コード:

			 Mat[i][j] * Vec[i];
何か計算はしてますけど、それを「どこにも代入していない」ので、そりゃダメですよね。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: fscanfがうまく動きません
返信数: 5
閲覧数: 3463

Re: fscanfがうまく動きません

そもそも
yg さんが書きました:

コード:

	for (int i = 0; i <= 19; i++)memo[i] = NULL;
memo[]を初期化しようとしているのなら、不要です。
どうせfscanf()の呼び出しで初期化の結果を上書きしますので。
それに、char型に、(void *)型のはずのNULLを放り込んでいるのは謎です。
「余分なのはできるだけそぎ落として」所定の目的を達成する、というのがいいんじゃないでしょうか。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: すいません 急ぎで解答をお願いします。
返信数: 5
閲覧数: 3625

Re: すいません 急ぎで解答をお願いします。

冷やかしなどはいりません じゃあ、冷やかしでないのを。 #include <stdio.h> #include <string.h> #define LEN (20) typedef struct { char name[LEN]; int price; } Coffee; void get_price(Coffee *coffee, int kind) { char name[LEN]; int weight, i; printf("豆の種類:"), scanf("%s", name); printf("分量(g):"), scanf("%d", &weight); for (i = 0;...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: FOR文で不連続な範囲でLoopしたい
返信数: 13
閲覧数: 5879

Re: FOR文で不連続な範囲でLoopしたい

kaoruh さんが書きました: For(i=220;i<250,i++) {処理式}
を実行してから同じ処理式で、更に
For(i=0;i<50,i++){処理式}
と続けたいばあいにはどうすれば良いでしょうか?
回答のどの場合でも、処理時間はそう変わらんと思うので、素直に

コード:

    for (i = 220; i < 250; i++) {
        // 何かの処理
    }
    for (i = 0; i < 50; i++) {
        // 何かの処理
    }
と書くのがよいと思います。後でそのコードを見たときに「何をしているか」が一目瞭然なはず。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元平面上の2点間を計算する関数について
返信数: 2
閲覧数: 3275

Re: 2次元平面上の2点間を計算する関数について

// double型にnとかiとかjとかいう変数名を付けているのが何となく違和感があったので、 // 思い切ってそういう変数を使わないようにしてみた #include <stdio.h> #include <math.h> double distance(double *p1, double *p2); int main(void) { double p1[2], p2[2]; printf("点p1の入力\n"); scanf("%lf %lf", &p1[0], &p1[1]); printf("点p2の入力\n"); scanf("%lf %lf", &p2[0], &p2[1]); ...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: C言語 関数にポインタを引数として渡すプログラムについて
返信数: 29
閲覧数: 10281

Re: C言語 関数にポインタを引数として渡すプログラムについて

purin52002 さんが書きました:
'A'-'a'の意味は分かったんですけど'B'-'b'の意味が分かりませんでしたorz
少なくとも、ASCIIコードにおいては、
'A' - 'a'
'B' - 'b'
'C' - 'c'
...
'Z' - 'z'
は、どれも同じはずです。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 円の面積と円周を求めるプログラムを作っています。
返信数: 2
閲覧数: 5247

Re: 円の面積と円周を求めるプログラムを作っています。

#include <stdio.h> #if 0 #define PI 3.14159; // 最後のカンマは不要 #endif #define PI 3.14159 float Circle_S(float r) { // この辺の余分な変数定義や初期化は不要で、単に面積の値を返せばよい // その方がプログラムが簡単になる // 同じ結果を得るんだったら、コード量が少ない方がよいと思う // float result1 = 0; // result1 = r*r*PI; // return result1; return (r < 0) ? -1 : PI * r * r; } floa...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 微分係数を求めるプログラムを作っています
返信数: 7
閲覧数: 7296

Re: 微分係数を求めるプログラムを作っています

(1) 引数 x (double型)と n (int型)を与えて x^n の値を返すdouble型の関数 powerを定義。 (2) 引数 x (double型)と n (int型)を与えて x^n の微分係数((x^n)’の値,n x^(n -1)を計算してxの値を入れる)を返すdouble型の関数 diff を定義。ただし(1)の関数powerを呼び出して使うこと。 まず、「ただし(1)の関数powerを呼び出して使うこと。」とありますが、違う計算をするのになぜ呼び出すのですか?呼び出す意味はありますか? この疑問に対する答えは、別の回答者さんからの回答のとおりです。 (2)においてべき...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 微分係数を求めるプログラムを作っています
返信数: 7
閲覧数: 7296

Re: 微分係数を求めるプログラムを作っています

みけCAT さんが書きました: どうしてわざわざ質問にほとんど関係ない上に苦手な数学の話に寄ったのですか?
数学があまり得意でない方が数学に関する投稿をしてもいっこうに差し支えないのでは?
ここの掲示板には、ある分野があまり得意ではない方がその分野に関する投稿をしていけないという
ルールでもあるんですか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: エラー解消されません、、、
返信数: 7
閲覧数: 6841

Re: エラー解消されません、、、

tennga さんが書きました: 解消されましたが、結果がこうなりました
気温と周波数を入力してください。
17.0
40.0
波長はinfです。
う~ん、自分のところでは、(計算式が正しければ)正しいと思われる8.5425が出ますけどね。
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: エラー解消されません、、、
返信数: 7
閲覧数: 6841

Re: エラー解消されません、、、

printfとかscanfとかのプロトタイプ宣言が書いてあるはずの stdio.h をインクルードすれば、 くだんの警告は出なくなるかもしれません。 #include <stdio.h> double onnsoku(double t) { return 331.5 + 0.6 * t; } double hattyou(double c, double f) { return c / f; } int main(void) { double f, t; printf("気温と周波数を入力してください。\n"); scanf("%lf %lf", &t, &f); printf("波長は%fで...
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: c言語プログラムについて
返信数: 3
閲覧数: 3307

Re: c言語プログラムについて

その操作を手で行なうとしたら、どういう手順を踏みますか?
by box
6年前
フォーラム: C言語何でも質問掲示板
トピック: 配列を引数とする関数について
返信数: 14
閲覧数: 5896

Re: 配列を引数とする関数について

別の回答にもあるとおり、ave関数における変数nの使い方が超絶おかしいので修正。 せっかく要素数(今回はn)を引数で受け取っているのに、それを変えちゃまずいでしょう。 要素数がたまたま5であるから、正しく動いているように見えるだけ。要素数が5以外だったらどうする? 今回の場合、ave関数は、渡ってきた配列の要素数が「いくつであっても」対応できるようにしておくべき。 #include <stdio.h> double ave(int a[], int n); int main(void) { int a[5] = {3, 1, 4, 2, 5}; double ans; ans = ave(a,...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 7048

Re: 早急にお願いします。

梅衣堂ひよ さんが書きました: あとはこれをマイルからキロメートルへ、キロメートルからマイルへ変換する関数として実装するだけですよ。
キロメートルをマイルに変換したいだけなので、オーバースペック(不要な機能を実装)。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 早急にお願いします。
返信数: 11
閲覧数: 7048

Re: 早急にお願いします。

purin52002 さんが書きました: 2、マイルを引数(double型がいいかな?)、kmを返り値(これもdouble型がいいかな?)の関数を作ります。
キロメートルをマイルに変換したいので、仕様誤り。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 急ぎです…。
返信数: 2
閲覧数: 2289

Re: 急ぎです…。

全部見たわけではありませんが…
あみあみ さんが書きました:要素数100程度の2つのint型配列a,b
って書いてあるのに、どうして
あみあみ さんが書きました:

コード:

	double a[100], b[100]
こうなっちゃうんですか?
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 4328

Re: 二つの整数を入力してその間の全整数の和を出力

こちらの環境で下のようなコードを実行したら、ちゃんと答えが出ます。 #include <stdio.h> int main(void) { int no, no1, no2; int max, min; int sum = 0; do { printf("正の整数を二つ入力してください。\n"); printf("整数1:"); scanf("%d", &no1); printf("整数2:"); scanf("%d", &no2); } while(no1 < 0 || no2 < 0); if (no1 > no2) { max = no1; min = no2; } else { max...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 二つの整数を入力してその間の全整数の和を出力
返信数: 6
閲覧数: 4328

Re: 二つの整数を入力してその間の全整数の和を出力

うまく起動できない、というのは、どういった状況を指していますか?
コンパイルはできるけど、実行結果が思ったとおりにならないということですか?
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: C++言語のキューの問題のことです
返信数: 3
閲覧数: 2577

Re: C++言語のキューの問題のことです

コードをザッと見たところ、データ構造がキューではなくてスタックになっているようです。
関数名もpush()とかpop()とか、いかにもスタックを扱うかのような名前が付いてますね。
だからどうすれば?というのは、キューとか待ち行列とかでまずはググってみてはどうでしょう。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: c++で変数の数字を上書きせずに並べる
返信数: 5
閲覧数: 2851

Re: c++で変数の数字を上書きせずに並べる

ほんの一例です。

コード:

#include <iostream>
using namespace std;

int main(void)
{
    int a;

    for (a = 1; a <= 10; a++) {
        cout << a;
    }
    cout << '\n';
    return 0;
}
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: たまに曜日が表示されないときがあります。
返信数: 8
閲覧数: 4521

Re: たまに曜日が表示されないときがあります。

hのiの値がいくつになっているか、printf()か何かで確認してみましょう。
0~6以外の値になっているような気がします。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: ファイルが作れない
返信数: 8
閲覧数: 4970

Re: ファイルが作れない

boru さんが書きました:DXライブラリでfopen関数でファイルを作ろうとしてもエラーが出ます。
エラー LNK2019 未解決の外部シンボル _WinMain@16 が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。
このエラーが出ているということは、たぶん、プロジェクトの設定でWindowsアプリケーションを作成するようになっているのに、
WinMain関数がないよ、と怒られているのだと思います。
直すには、たぶん、プロジェクトの設定でコンソール・アプリケーションを作成するようにすればよいと思います。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体(structure)のプログラムについて。
返信数: 27
閲覧数: 9517

Re: 構造体(structure)のプログラムについて。

割り算用の関数が意図どおりに動いているのであれば、それには手を触れずに
「新たに」足し算用の関数(名前の例:Add)と引き算用の関数(名前の例:Sub)を用意するのがよいと思います。
1つの関数で足し算も引き算も割り算も実行する、というのは避ける方がよいと思います。

なお、構造体に、商とあまりの他、和と差のためのメンバーを追加する必要があると思います。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?
返信数: 3
閲覧数: 2599

Re: cmdの結果を追加しました。  結果を適正に表示するにはどのようにコードを修正すればよいでしょうか?

11~19のかけ算をしたいのか1~19のかけ算をしたいのか、質問文からは判読不能。とりあえず1~19と解釈した。 単にかけ算の結果を表示するだけなので、配列を使う必要なし。 かけ算のときに+1するのがめんどくさいので、ループは素直に1~19で回す。 #include <stdio.h> int main(void) { int i, j; for (i = 1; i <= 19; i++) { for (j = 1; j <= 19; j++) { printf("%4d", i * j); } putchar('\n'); } putchar('\n'); return 0; }
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる
返信数: 2
閲覧数: 2069

Re: 1行で計算すると正しくなくて、2行に分けると正しい結果が得られる

result=284480*F/L; // 1行で計算すると result= 743 となって正しくない 右辺の計算の途中で、int型で表わせる数値の範囲を超えているように思います。 result=284480; // 1行目 result=result*F/L; // 2行目 → 2行に分けると正しい結果 (9482) が得られる こっちは、1行目で__int64型の変数に値を代入「した後で」続きの計算をしていますね。このように、__int64とintが混在しているとき、 2行目の右辺の型は最も大きい__int64型となるので、何も問題がない、ということでありましょう。 1行で片づけるには...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。
返信数: 7
閲覧数: 3149

Re: 幾つのベクトルの大きさを小さい順に並び替えるプログラムの作り方に関してです。

Cで作るならこんな感じ? #include <stdio.h> #include <math.h> #define N 4 typedef struct vector { int x; int y; double r; double d; } vector; void InputData(vector *data) { data[0].x = 0; data[0].y = 3; data[1].x = 7; data[1].y = 7; data[2].x = 1; data[2].y = 5; data[3].x = 2; data[3].y = 1; } /*ベクトルの大きさを求める関数で...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: rand関数の不可解なエラーについて
返信数: 4
閲覧数: 2509

Re: rand関数の不可解なエラーについて

kohei さんが書きました: 関数がない変数定義注釈~enumより上にrand関数を設定したのですが
何を言いたいのかよくわかりません。
kohei さんが書きました: 私では理解できないエラーが発生いたしました。
どんなエラーですか?エラーメッセージがあれば貼ってください。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 逆順表示の関数の作成方法
返信数: 9
閲覧数: 3825

Re: 逆順表示の関数の作成方法

ほんの一例です。 #include <stdio.h> #include <string.h> void gyaku(char s[]); int main(void) { char str[20]; scanf("%19s", str); gyaku(str); return 0; } void gyaku(char s[]) { int len = strlen(s), i; for (i = len - 1; i >= 0; i--) { putchar(s[i]); } putchar('\n'); } ちなみに、別の言語だったら1行で。逆順にしたい文字列の字数に制限なしで、楽勝。 p...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 特になにもないです
返信数: 7
閲覧数: 3408

Re: 特になにもないです

質問は「特になにもないです」ですか?
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の作成の仕方が分かりません
返信数: 4
閲覧数: 2135

Re: 関数の作成の仕方が分かりません

こんな感じ?ベストとは限らないけど。 #include <stdio.h> #include <string.h> void yoko(char s[]); void kuuhaku(char s[], int n); void tate(char s[]); int main(void) { char name[50]; printf("名前は?(全角入力) "); scanf("%s", name); printf("\n"); yoko(name); printf("\n"); kuuhaku(name, 3); printf("\n"); tate(name); printf("\n"...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 数字を入力をしないとprintfの文が表示されない
返信数: 3
閲覧数: 3227

Re: 数字を入力をしないとprintfの文が表示されない

maxwell さんが書きました: 順番としては、printfで行う処理の番号を表示し、scanfで入力を受け付けています。
どなたか原因と改善策をご教授ください。
当該のコードを見せてください。そこで使っている変数の定義部分を含めて。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: 課題について至急アドバイスをお願いします!
返信数: 5
閲覧数: 1867

Re: 課題について至急アドバイスをお願いします!

ottochang さんが書きました: sounyuuhou.c:23: error: expected expression before ‘)’ token
sounyuuhou.c:29: error: expected declaration or statement at end of input
とでるのですが、どこが間違っているのでしょうか?
if文の勢力範囲が終わった後にelseが来ているのがよろしくなさそうです。
また、どうも閉じカッコ } の数が多いように見えます。それもエラーの原因だと思います。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の宿題が・・・
返信数: 19
閲覧数: 8025

Re: C言語の宿題が・・・

獅子丸 さんが書きました: また他にもおかしいところがあれば教えて欲しいです
間違いというわけではありませんが、
獅子丸 さんが書きました: int printPlayData(PLAYER p)
{
return printf("%s %d %d %d %f", p.name, p.number, p.at_bat, p.hit, p.ave);
}

printPlayerData(p);
int型の戻り値をどこでも使っていないので、思い切ってvoid型にしてみる(関数の中身はprintfするだけにして、
何もreturnしない)、という手はあるかもしれません。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 4780

Re: c言語和暦から西暦

こんな感じ? 元のコードのインデントがあまりにグッチャングッチャンだったので自分なりに直しておきました。なお、 あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか 便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。 ここは後者の策を採りました。 #include <stdio.h> int myatoi(char *p); int main(void) { int y, n; char w[50]; printf("Input Wareki: "); scanf("%...
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 4780

Re: c言語和暦から西暦

あと、仕様上問題になりそうなのは、M46とかT16とかS65とか、実際にはなかった年を入力したときにエラーとするのか
便宜上出力するのか(M46ならば1913、T16ならば1927、S65ならば1990)といったところでしょうか。
by box
7年前
フォーラム: C言語何でも質問掲示板
トピック: c言語和暦から西暦
返信数: 4
閲覧数: 4780

Re: c言語和暦から西暦

文字列をintがたの整数にして返す関数はできているのですが 元号をローマ字表記したときの先頭文字からその元号が始まったり(あるいは終わったり)する西暦の取得は? 標準入力から和暦で H29(平成29年の場合)などと入力すると、それが西暦何年かを計算して表示するプログラムを作成しなさい。 入力は1文字目がアルファベットで H, S, T, M がそれぞれ平成、昭和、大正、明治を表しており、数字との間にスペースなどの区切りは無いため、ひと続きの文字列として読み込む。 文字列から数値への変換には問題1で作成した関数 myatoi をそのままコピーして使用し、main関数のみを新たに作成すること。 ...

詳細検索ページへ移動する