アレルギー対策、自宅でできる効果的な方法とは?

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

A 回答 (4件)

// あ、間違えた!



for( count=10; count>=-10; count-- )
    • good
    • 0

// こんなのでいいのかな?



#include <stdio.h>

int main( void )
{
int count;

for( count=10; count<=10; count-- )
printf( "%d\n", count );

return 0;
}
    • good
    • 0

#include <stdio.h>



int main(void)
{
printf("10\n");
printf("9\n");
printf("8\n");
printf("7\n");
printf("6\n");
printf("5\n");
printf("4\n");
printf("3\n");
printf("2\n");
printf("1\n");
printf("0\n");
printf("-1\n");
printf("-2\n");
printf("-3\n");
printf("-4\n");
printf("-5\n");
printf("-6\n");
printf("-7\n");
printf("-8\n");
printf("-9\n");
printf("-10\n");
return 0;
}
    • good
    • 3

います。

    • good
    • 0

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

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

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を作るプログラム

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
不明点があれば、補足してください。

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

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

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

Aベストアンサー

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

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

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

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

どうしたら良いですか

Aベストアンサー

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

Qプログラミング初心者です!このエラーの意味があまりよくわからないのですがどういう意味なのでしょうか?

このプログラムのエラーの用語?みたいなやつの意味がよくわからないので教えてください!

Aベストアンサー

すみません、画像が不鮮明で、詳細まではわかりません。

class Class1 {}
でよろしいでしょうか?
文法通りに解釈すれば、これでClass1の定義は終了です。
ここで区切られなければならないならない筈が、なんか続きっぽく書いてある、ということでエラーになっています。

その後に続く { 以降は、Class1の外です。
本当は、この後の部分が Class1の内容ではないでしょうか?
だとすると、Class1直後の{} が不要です。


エラーメッセージは、コンピュータの解釈した内容で表示されます。
本当の原因が、エラーメッセージの通りであるとは限りません。
表示された行より前を確認しましょう


また、エラーメッセージが沢山出てもあわてないことです。
一つ間違いがあると、本来正しい箇所まで間違っていると判断されてしまうことがよくあります。
そんなときは、その一つを治すだけで一気にエラーが無くなります。

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とかわかりますか?

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

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

Aベストアンサー

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

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

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

Q構造体とポインタ

他人のコードに以下のようなものがありした。

struct coma{
char a[5]......


char *p=(char *)(&coma);

Q1
(&coma)はcoma[0]のアドレスなので

(char *)(&coma)はcoma.a[0].のアドレスの中身、すなわちcoma.a[0]ということですか?
それともpのアドレスがcoma.a[0]のアドレスということですか?

Q2
おそらく、上記の解答は後者であるとして、
char *p=coma;
ではいけないのでしょうか?

あえて上記のように書く理由は何かありますか?

Aベストアンサー

>具体的な理由を指摘していただけると幸いです。
構造体の仕様変更例
struct coma{
int id; // 仕様追加
char a[5];
float b[20];
.....
}

コーディング内で、特定の構造体メンバー(coma[0])を示す目的で
>char *p=(char *)(&coma);
の様な使い方をしている場合には、それを知らないプログラマーが、上記の
様な構造体の仕様変更をした場合、動作不良を起こします。
#(char *)で、キャスト(型変換)しているので、コンパイル事にはエラー
#にならない。

>それなりの会社に発注したものなので
たまに頭が良い人が「自分にはこんなすごいテクニックを駆使したプログ
ラムが作れるんだ!!」と言わんばかりに自慢げに作ったプログラムの中
には、並のプログラマーには十分理解できず修正・変更ができない、又は解釈
を間違えた結果、トラブルを起こす場合が有ります。
#一般的な注意点。今回分はNo2へのお礼が有ったので撤回します。

No.2の回答へのお礼
>なお、ソケット通信で受け取ったデータがpに入っていて、
>それを comaに代入するための準備コードです。
できれば、これを先に出して欲しかった...
これだと、coma構造体の先頭アドレスを、char *pに渡す意味になります。
特定の構造体メンバー(coma[0])を示す意味では有りません。
今回のソケット通信では、構造体にセットしたデータを、指定されたバイト
数(構造体サイズ)単位で、通信を行っているようです。

>具体的な理由を指摘していただけると幸いです。
構造体の仕様変更例
struct coma{
int id; // 仕様追加
char a[5];
float b[20];
.....
}

コーディング内で、特定の構造体メンバー(coma[0])を示す目的で
>char *p=(char *)(&coma);
の様な使い方をしている場合には、それを知らないプログラマーが、上記の
様な構造体の仕様変更をした場合、動作不良を起こします。
#(char *)で、キャスト(型変換)しているので、コンパイル事にはエラー
#にならない。

>それなりの会社に発注したものなので
...続きを読む

Qプログラムの改良

人の作ったプログラムを改良することになりました。
Visual C++ は初めてですが、CやC++は一通り勉強しています。

そこで、いろいろ調べているのですが、
例えば
「MFCは使わずに,Win32API SDKを用いた方法」
などという説明があります。

自分が対応しているプログラムが、そのどちらであるか、あるいはほかの方法で作られているか
というのはどうしたら分かるのでしょうか?

Aベストアンサー

No1です
私はC++は全然触ったこと無いので
あまり的確な回答は期待しないでくださいね

Q1.いいんじゃないでしょうか?
MSDNのOnPoint↓
https://msdn.microsoft.com/ja-jp/library/01c9aaty.aspx

OnPointクラス(Cwndクラス)
https://msdn.microsoft.com/ja-jp/library/1xb05f0h.aspx
このページの一番最初に
「Microsoft Foundation Class ライブラリにあるすべてのウィンドウ クラスの基本機能が用意されています。」と書いてありますから
そういうことですね

Q2.なんでもいいと思いますけど
そもそもあなたが対応するプログラムが
きちんとWin32のみで、もしくはMFCのみで書かれているとは限らないですからね
適当に作られて、両方が混在している可能性だってありますし

Q3.そこからですか
そこは調べればすぐ出てくるかと思いますが
MFCというのはWin32をラッピングしたものです

Q4.作った本人に聞く
仕様書とかがあるならそれを見る

No1です
私はC++は全然触ったこと無いので
あまり的確な回答は期待しないでくださいね

Q1.いいんじゃないでしょうか?
MSDNのOnPoint↓
https://msdn.microsoft.com/ja-jp/library/01c9aaty.aspx

OnPointクラス(Cwndクラス)
https://msdn.microsoft.com/ja-jp/library/1xb05f0h.aspx
このページの一番最初に
「Microsoft Foundation Class ライブラリにあるすべてのウィンドウ クラスの基本機能が用意されています。」と書いてありますから
そういうことですね

Q2.なんでもいいと思いますけど
そもそもあなたが...続きを読む

Qc言語での文字列の渡し方

ある関数内で、作成した、文字列をmainプログラムでうけとるにはどのようにすればよいのでしょうか。
普通の変数の場合は解説書に例はありますが、配列の場合の例は見つかりませんでした。
以下は例です。gccを使っています。

int main(){
char str[20]; // sub内で加工した文字列を受け取る配列
...
sub( str );
....
}
void sub( char *ch ){
....
ch="ABCD"; // この値をmainプログラム内でつかいたい
....
}

Aベストアンサー

No2のかたが言われているように、strcpyを使用して、文字列を設定します。
厳密に言えば、strcpyの他にも方法はありますが、現時点では、strcpyと覚えておけばよいでしょう。
但し、strcpyを使用する場合、一点、必ず、守らなければいけないことがあります。
それは、呼び出し元のサイズ(今回は20バイト)を超えるサイズを設定してはいけないということです。
もし、strcpy(ch,"ABCDEFGHIJKLMNOPQRSTUVZWYZ");
を行うと、コンパイルは正常に終了しますが、呼び出し側で確保した20バイトを突き破りメモリの設定を行います。
その結果、異常終了します。(場合によっては、異常終了せずに、正常のようにみえることもあります)
----------------------------------------------------
#include<stdio.h>
#include<string.h>
void sub( char *ch ); //プロトタイプ宣言
int main(){
char str[20]; // sub内で加工した文字列を受け取る配列
sub( str );
printf("%s",str); //受け取った結果を印字
}
void sub( char *ch ){
strcpy(ch,"ABCD"); // この値をmainプログラム内でつかいたい
}
-----------------------------------------------------
実行結果
ABCD

No2のかたが言われているように、strcpyを使用して、文字列を設定します。
厳密に言えば、strcpyの他にも方法はありますが、現時点では、strcpyと覚えておけばよいでしょう。
但し、strcpyを使用する場合、一点、必ず、守らなければいけないことがあります。
それは、呼び出し元のサイズ(今回は20バイト)を超えるサイズを設定してはいけないということです。
もし、strcpy(ch,"ABCDEFGHIJKLMNOPQRSTUVZWYZ");
を行うと、コンパイルは正常に終了しますが、呼び出し側で確保した20バイトを突き破りメモリの設定を...続きを読む


人気Q&Aランキング

おすすめ情報