c言語のプログラミングで1から1000までの自然数の和を求め表示するプログラムをさくせいで
int i,add=__;
for (i=1;i<=1000;i++)

add___
]
printf (”合計値は%dです. ¥n”add);
下線部に何をいれたらいいですか?

A 回答 (1件)

最初 add= 0;


    ^^^
次 add = add + i;
   ^^^^^^^

^^^^の部分です。
    • good
    • 0
この回答へのお礼

等比数列の問題もよろしければお願いします

お礼日時:2017/05/14 23:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QC言語で四則演算を使って10を作るプログラム

C言語のプログラミングの問題です。
1桁の整数4つをキーボードから入力して、四則演算で10になる式をすべて出力するという問題で、演算子の優先順位ありで、括弧は使わないとし、数字は入れ替え可能です。
また、プログラムはint型の変数を用いるというものです。
とりあえずは数字入れ替えなしで、次のような力技でソースコードを作ってみたのですが、数字の入れ替えまで考えるとあまりに力技すぎるようなだらだらとしたプログラムになってしまいます。。。
数字の入れ替え可能としてもっと簡単なプログラムを作るにはどのようなソースコードになるのでしょうか。

以下ソースコードです。

#include<stdio.h>
#include<math.h>

int main(void) {

int a, b, c, d = 0;

printf("一桁の整数4つを入力してください。\n");
scanf_s("%d %d %d %d", &a, &b, &c, &d);

if (a + b - c * d == 10)
printf("%d+%d-%d*%d\n", a, b, c, d);
else if (a + b - c / d == 10)
printf("%d+%d-%d/%d\n", a, b, c, d);
else if (a + b * c - d == 10)
printf("%d+%d*%d-%d\n", a, b, c, d);
else if (a + b * c / d == 10)
printf("%d+%d*%d/%d\n", a, b, c, d);
else if (a + b / c - d == 10)
printf("%d+%d/%d-%d\n", a, b, c, d);
else if (a + b / c * d == 10)
printf("%d+%d/%d*%d\n", a, b, c, d);
else if (a - b + c * d == 10)
printf("%d-%d+%d*%d\n", a, b, c, d);
else if (a - b + c / d == 10)
printf("%d-%d+%d/%d\n", a, b, c, d);
else if (a - b * c + d == 10)
printf("%d-%d*%d+%d\n", a, b, c, d);
else if (a - b * c / d == 10)
printf("%d-%d*%d/%d\n", a, b, c, d);
else if (a - b / c + d == 10)
printf("%d-%d/%d+%d\n", a, b, c, d);
else if (a - b / c * d == 10)
printf("%d-%d/%d*%d\n", a, b, c, d);
else if (a * b + c - d == 10)
printf("%d*%d+%d-%d\n", a, b, c, d);
else if (a * b + c / d == 10)
printf("%d*%d+%d/%d\n", a, b, c, d);
else if (a * b - c + d == 10)
printf("%d*%d-%d+%d\n", a, b, c, d);
else if (a * b - c / d == 10)
printf("%d*%d-%d/%d\n", a, b, c, d);
else if (a * b / c + d == 10)
printf("%d*%d/%d+%d\n", a, b, c, d);
else if (a * b / c - d == 10)
printf("%d*%d/%d-%d\n", a, b, c, d);
else if (a / b + c - d == 10)
printf("%d/%d+%d-%d\n", a, b, c, d);
else if (a / b + c * d == 10)
printf("%d/%d+%d*%d\n", a, b, c, d);
else if (a / b - c + d == 10)
printf("%d/%d-%d+%d\n", a, b, c, d);
else if (a / b - c * d == 10)
printf("%d/%d-%d*%d\n", a, b, c, d);
else if (a / b * c + d == 10)
printf("%d/%d*%d+%d\n", a, b, c, d);
else if (a / b * c - d == 10)
printf("%d/%d*%d-%d\n", a, b, c, d);
else {
printf("10になる組み合わせはありません。");
}

return 0;

}

C言語のプログラミングの問題です。
1桁の整数4つをキーボードから入力して、四則演算で10になる式をすべて出力するという問題で、演算子の優先順位ありで、括弧は使わないとし、数字は入れ替え可能です。
また、プログラムはint型の変数を用いるというものです。
とりあえずは数字入れ替えなしで、次のような力技でソースコードを作ってみたのですが、数字の入れ替えまで考えるとあまりに力技すぎるようなだらだらとしたプログラムになってしまいます。。。
数字の入れ替え可能としてもっと簡単なプログラ...続きを読む

Aベストアンサー

No14です。
calcに一部誤りがありましたので、修正しました。
下記URLが正しいソースになります。こちらを使用してください。
http://climbi.com/b/10192/1
不明点があれば、補足してください。

Qこれがどーゆープログラムなのかわかりません。 教えてください

これがどーゆープログラムなのかわかりません。
教えてください

Aベストアンサー

No.1さんの通りなので、私にベストアンサーは不要ですが、補足で。
書いてある通り素直に読めばいいだけでなんのトリッキーなアルゴリズムでもないですよ。

aが1~9の間以下を繰り返す。
bが1~9の間以下を繰り返す。
cにaとbの乗算結果を代入して出力する。
bが9まで繰り返したら1行改行する。
aが9まで繰り返したら処理結果0を設定してプログラムを終了する。

流れで言えば、
aが1で、bが1,2,3 ... 9と動いていくので、c=1*1 , c=1*2 , c=1*3 .... c=1*9の次
aが2で、bが1,2,3 ... 9と動いていくので、c=2*1 , c=2*2 ...

C言語を日本語にしただけですが、どのあたりで悩んでいるのか書いてくれれば違った回答があるかと。
それともC言語がわからないということでしょうか?
includeとかmainとかわかりますか?

QC言語プログラムの質問です。 実数をxを読み込み次の計算をするCプログラムを作成し、そのプログラムリ

C言語プログラムの質問です。
実数をxを読み込み次の計算をするCプログラムを作成し、そのプログラムリストを記しなさい。
2sin(x)cos(x) および sin(2x)
次にこのプログラムを用いて、x=0.785を計算しなさい。

画像のプログラムを作成し、計算をしたのですが、計算結果が全て0.00000となってしまいます。
どこが間違っているか教えてください!

Aベストアンサー

scanfを以下のように変えてください。
scanf("%lf", &x);

QC言語

#include<stdio.h>
#include<string.h>

int main (void){
char str [] = "onetwothreefourfivesix";
char buf[100];
char *p, *q;
int i,count;
strncpy(buf,&str[2],3);
buf[2] = '\0';
strcat(buf,&str[16]);
printf("%s\n",buf);

buf[0] = '\0';
for( i = 0; i < 3; i++){
strncat(buf, str + i *3, 3);
strcat(buf,",");
}
printf("%s\n",buf);

strcpy(buf,str);
p = strrchr(buf,buf[0]);
*p = '\0';
printf("%ld\n",strlen(buf));

count = 0;
for (p = str; *p != '\0' ;p++){
if(*p == 't' || *p == 'e'){
count++;
}
}
printf("%d\n",count);

i = 0;
p = str;
q - str + strlen(str) - 1;

while(p < q){
if(i % 2 == 0)
buf[i] = *p;
}else{
buf[i] = *q;
}
p += 3;
q -= 2;
i++;
}
buf[i] = '\0';
printf("%s\n",buf);   //ここのbufがどう表示されるのか解説をお願いします。
return0;
}

#include<stdio.h>
#include<string.h>

int main (void){
char str [] = "onetwothreefourfivesix";
char buf[100];
char *p, *q;
int i,count;
strncpy(buf,&str[2],3);
buf[2] = '\0';
strcat(buf,&str[16]);
printf("%s\n",buf);

buf[0] = '\0';
for( i = 0; i < 3; i++){
strncat(buf, str + i *3, 3);
strcat(buf,",");
}
printf("%s\n",buf);

strcpy(buf,str);
p = strrchr(buf,buf[0]);
*p = '\0';
printf("%ld\n",strlen(buf));

count = 0;
for (p = str; *p != '\...続きを読む

Aベストアンサー

まず、ソースがエラーになりましたので、ソースを修正しました。
修正した箇所は、//修正①②③です。
又、1行追加しました。//追加④です。
以下のようになります。
---------------------------------------------
#include<stdio.h>
#include<string.h>

int main (void){
char str [] = "onetwothreefourfivesix";
char buf[100];
char *p, *q;
int i,count;
strncpy(buf,&str[2],3);
buf[2] = '\0';
strcat(buf,&str[16]);
printf("%s\n",buf);

buf[0] = '\0';
for( i = 0; i < 3; i++){
strncat(buf, str + i *3, 3);
strcat(buf,",");
}
printf("%s\n",buf);

strcpy(buf,str);
p = strrchr(buf,buf[0]);
*p = '\0';
printf("%ld\n",strlen(buf));

count = 0;
for (p = str; *p != '\0' ;p++){
if(*p == 't' || *p == 'e'){
count++;
}
}
printf("%d\n",count);

i = 0;
p = str;
q = str + strlen(str) - 1; //修正①
printf("<%c>\n",*q); //追加④
while(p < q){
if(i % 2 == 0){ //修正②
buf[i] = *p;
}else{
buf[i] = *q;
}
p += 3;
q -= 2;
i++;
}
buf[i] = '\0';
printf("%s\n",buf);//ここのbufがどう表示されるのか解説をお願いします。
return 0; //修正③
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
この実行結果ですが、以下のようになります。
etivesix
one,two,thr,
12
6
<x>
ostfo
-------------------------------
ここで、<x>は//追加④で出力された内容、
ostfoはbufの内容です。
従って、buffの内容がostfoであることの説明ができれば、それが求める答えです。
以下、その説明です。
------------------------------------------------
pはstr[]の先頭位置の為、oの位置になります。
qは、str[]の先頭位置に文字列の長さを加え、-1するので最後の文字であるxの位置になります。
④で*qの内容を印字するとxであることが確認できます。

while(p<q){
}
の処理では、以下の処理を行っています。
1)0,2,4...回目(偶数回目)は、pの値をbufに格納(最初は0回目とします)
2)1,3,5...回目(奇数回目)は、rの値をbufに格納
3)回数が1回増えるごとに、pは3バイト追加されます。
従って、o,t,t,e,o,f・・・と増えます。このうち採用されるのは、偶数回目なので、o,t,oです。
4)回数が1回増えるごとに、qは2バイト減算追加されます。
従って、x,s,v,f,u,f・・・と減っていきます。このうち採用されるのは、奇数回目なので、s,f,fです。
5)3)と4)から取り出される文字を取り出し順に並べると
ostfofとなります。
ここで、p<qの条件の間の取り出しなので、
ostfoとなります。

まず、ソースがエラーになりましたので、ソースを修正しました。
修正した箇所は、//修正①②③です。
又、1行追加しました。//追加④です。
以下のようになります。
---------------------------------------------
#include<stdio.h>
#include<string.h>

int main (void){
char str [] = "onetwothreefourfivesix";
char buf[100];
char *p, *q;
int i,count;
strncpy(buf,&str[2],3);
buf[2] = '\0';
strcat(buf,&str[16]);
printf("%s\n",buf);

buf[0] = '\0';
for( i = 0; i < 3; i++){
strncat(buf, str + i...続きを読む

Qc言語のプログラミングの問題で50以下の正の偶数を降順(大きい順)で表示するプログラムを作成できる方

c言語のプログラミングの問題で50以下の正の偶数を降順(大きい順)で表示するプログラムを作成できる方お願いします

Aベストアンサー

No3の方から既に回答がでていますが、別解です。
#include <stdio.h>

int main()
{
printf("50\n");
printf("48\n");
printf("46\n");
printf("44\n");
printf("42\n");
printf("40\n");
printf("38\n");
printf("36\n");
printf("34\n");
printf("32\n");
printf("30\n");
printf("28\n");
printf("26\n");
printf("24\n");
printf("22\n");
printf("20\n");
printf("18\n");
printf("16\n");
printf("14\n");
printf("12\n");
printf("10\n");
printf("8\n");
printf("6\n");
printf("4\n");
printf("2\n");
return 0;
}

以下、実行結果です。
------------------------------------
50
48
46
44
42
40
38
36
34
32
30
28
26
24
22
20
18
16
14
12
10
8
6
4
2

No3の方から既に回答がでていますが、別解です。
#include <stdio.h>

int main()
{
printf("50\n");
printf("48\n");
printf("46\n");
printf("44\n");
printf("42\n");
printf("40\n");
printf("38\n");
printf("36\n");
printf("34\n");
printf("32\n");
printf("30\n");
printf("28\n");
printf("26\n");
printf("24\n");
printf("22\n");
printf("20\n");
printf("18\n");
printf("16\n");
printf("14\n");
printf("12\n");
printf("10\n");
printf("8\n");
printf("6\n");
printf("...続きを読む

Qc言語プログラミングでアルファベットの一覧を5,10,15,20,25文字目については大文字、それ以

c言語プログラミングでアルファベットの一覧を5,10,15,20,25文字目については大文字、それ以外は小文字で表示するプログラムを作成できる方お願いします
char x;
for(x=0;x<26;x++)
[
if(x%2==0) printf(”%c”___);
else printf(”%c”,___);
]

ここまで作ったんですけど、下線部がわかりません
あと、違っている箇所があれば教えいただける方お願いします

Aベストアンサー

No.2修正
前:    if ((pt - ss + 1) % 5 == 0) {
後:    if (!((pt - ss + 1) % 5)) {

Qc言語プログラミングで10〜-10までの整数を連続して表示するプログラムを作成できるかたいますか?

c言語プログラミングで10〜-10までの整数を連続して表示するプログラムを作成できるかたいますか?
結果
10
9
8...
プログラミングを最近初めて教えていただける方お願いします

Aベストアンサー

// あ、間違えた!

for( count=10; count>=-10; count-- )

Qこの答えって4じゃないんですか?

この答えって4じゃないんですか?

Aベストアンサー

i を 1から5まで変化させてくりかえす。

i ÷ 2 の余りが 0のとき、sum に i を足す。

なので、
i = 2,
i = 4
のときに加算されるから、6

QC言語のビジュアルスタジオについて ビジュアルスタジオをパソコンでインストールしました。 しかし、ビ

C言語のビジュアルスタジオについて

ビジュアルスタジオをパソコンでインストールしました。
しかし、ビルドができません。
最初に空のソリューションをつくり
つぎに新しい項目を追加し、テキストファイルで追加しましたができません

どうしたら良いですか

Aベストアンサー

内部で動いてるnmakeが実行する内容が何処かに表示、あるいはファイルに出力されていますので、それを見てnmakeの動きを追ってください。
ところで今使ってらっしゃるのはVisualStudioCodeにC/C++の開発環境を設定したものでしょうか

Q【C言語について】 10個の値をキーボード入力で与え、予め決めておいたxの値との差を求めるプログラム

【C言語について】
10個の値をキーボード入力で与え、予め決めておいたxの値との差を求めるプログラムを考えています。

差が最小のものを全て出力したいのですが、上手くできません。
教えて欲しいです。

説明が分かりづらくてすみません。

Aベストアンサー

何が上手くできないの?
C言語のソースすべてかけないの?
そんな分けないよね
書けているところまで書いて

どう上手くいかないのか
何が分からないのか
それぐらい書いてください


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報