
キーボードから正の整数を読み取り、n個の奇数を加算しディスプレイにかきだすプログラムです。;が型の前に必要というエラーがずっとでてきて、でも足りないところはわからないのですが、何が違うのでしょう??もうわけがわからなくて困ってます。お願いします。
/*演習1-3*/
#include<stdio.h>
int main()
{
int i;
int n;
int sum=0;
printf("%d¥n",n);
for (i=1;i<=n;i+=2);
int scanf("%d",&n);
sum+=i;
printf("1+2+...+n=%d\n",sum);
return 0;
}
No.3ベストアンサー
- 回答日時:
(1) #includeの次に半角スペースがない。
(2) 変数n を初期化していない。
(3) printf文の\(半角文字)が¥(全角文字)になっている。
(4) for文の最後に不要な ; が付いている。
ただし、これは、コンパイルエラーにはならない。
これらを修正すると、以下のようになります。
インデント(字下げ)は全角スペースを使用しているので、
そこはTABとかに直して使ってみてください。
#include <stdio.h>
int main()
{
int i, m, n, sum;
printf("正の整数(最大32767)を入力してください >");
scanf("%d\n", &m);
printf("0~%dの奇数の合計を計算します\n", m);
sum = 0; /* 奇数の合計 */
n = 0; /* 奇数の数 */
for(i=1; i<=m; i+=2) {
sum += i;
if( i==1 ) {
printf("%d",i);
} else {
printf("+%d",i);
}
n++;
}
printf("=%d\n", sum);
printf("0~%dまでの奇数の数は%dで、合計は%dです\n",m,n,sum);
return(0);
}
No.2
- 回答日時:
>(intが32ビットの環境ならば0から約42億回までのどこか。
現状では空ループなので一瞬ですが)訂正です。
42億回でなく21億回…です。
i+=2を見逃していました。
ということで、for文をブロックに修正しても、
> printf("1+2+...+n=%d\n",sum);
は正しくありませんが。
"1+3+...+n"ということになります。
No.1
- 回答日時:
>;が型の前に必要というエラーがずっとでてきて、でも足りないところはわからないのですが、何が違うのでしょう??
一緒に行番号も表示されているかと思われますが。
その前後(このエラーだと表示された行より前)に問題があるかと。
> printf("%d¥n",n);
¥は半角だと思いますが……。
未初期化の変数を参照しているので表示される値は不定です。
後のループ回数を入力させたいのではないですか?
> for (i=1;i<=n;i+=2);
この行の最後の;は必要ですか?
この場合空ループするだけですが意図したものですか?
なお、ループ回数は不定です。(intが32ビットの環境ならば0から約42億回までのどこか。現状では空ループなので一瞬ですが)
> int scanf("%d",&n);
何故intが書かれているのでしょう?
ループ中に数字を入力させて合計値を算出したい。
というのであれば、for文のあとをブロックで囲む必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語: ポインタ 5 2022/06/01 08:33
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# プログラミング実行後の表示される値を答えよ #include<stdio.h> void main( 7 2022/05/20 00:07
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
このQ&Aを見た人はこんなQ&Aも見ています
-
error C2143: 構文エラー : ';' が '{' の前にありません。
C言語・C++・C#
-
error C2143: 構文エラー の対処法
C言語・C++・C#
-
静的でないメンバ関数の呼び出しが正しくありません
C言語・C++・C#
-
-
4
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
5
CString から LPCTSTRの型に変換
C言語・C++・C#
-
6
visual C++ でビルドの中止ができません
C言語・C++・C#
-
7
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
8
適切な変換関数が存在しない???
C言語・C++・C#
-
9
多重定義が起きている?--lnk2005エラー:VC++
C言語・C++・C#
-
10
c言語 16進数の2進数への変換
C言語・C++・C#
-
11
C2146を回避するにはどうしたら良いのでしょうか
C言語・C++・C#
-
12
コンパイルできません。
C言語・C++・C#
-
13
既定のコンストラクタがない?
C言語・C++・C#
-
14
「fatal error C1189」を回避するには?
C言語・C++・C#
-
15
C言語 配列の長さの上限
C言語・C++・C#
-
16
1 つ以上の複数回定義されているシンボルが見つかりました
C言語・C++・C#
-
17
HEWを使用しているのですが、このようなエラーが出ました。
C言語・C++・C#
-
18
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
19
デバッグ中のエラーのことで教えてください。
C言語・C++・C#
-
20
char*を初期化したいのですが
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
for文の中にswitch文はいれられ...
-
#if 1 #elseの意味について
-
初心者です。for文、if文を使っ...
-
scanfが実行されません
-
配列を使って魔方陣
-
C言語の二分法のプログラムにつ...
-
C言語。どうしてコンパイルでき...
-
1からnまでの和を求めるプログ...
-
while文を使った問題なのですが...
-
10進数からN進数に変換するプロ...
-
乱数について
-
C言語の問題-配列について
-
C言語 マスターマインドゲーム...
-
階乗のプログラム!!
-
計算結果がlong型以上になる場...
-
VHDLで、case文とwhen文のどち...
-
C言語についてですfor ifをつか...
-
raspberrypiでロータリエンコーダ
-
入力した数値を0~3乗するプロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構文エラー";"が型の前にあり...
-
#if 1 #elseの意味について
-
for文の中にswitch文はいれられ...
-
配列を関数に渡す方法
-
getcの改行判定
-
C言語の二分法のプログラムにつ...
-
C言語 マスターマインドゲーム...
-
全角文字の判定
-
計算結果がlong型以上になる場...
-
while文を使った問題なのですが...
-
C言語初心者です。次の問題で質...
-
C言語 数字以外を入力させない...
-
初心者です。
-
C++での乱射ショットについて教...
-
if文
-
raspberrypiでロータリエンコーダ
-
C言語で電卓を作成する。
-
双方向リスト
-
入力した数値を0~3乗するプロ...
-
scanfが実行されません
おすすめ情報