• 締切済み

C言語のプログラミングについての質問です

C言語の課題で数値を入力したらその数に40+して二乗するプログラミングを作りたいのですがソースがいまいちわかりません どなたかご教授お願いします

みんなの回答

回答No.4

>数値を入力したらその数に40+して二乗するプログラム 1) 変数を宣言(40+って言っているんだから整数型の「int 変数; 」だろうね) 2) その変数に数値を入力する(scanf()をまだ覚えてるかな?) 3) その数に 40+して(変数 += 40;) 4) 二乗する(変数 *= 変数;) 5) 結果を出力して終わり(変数は整数型だから printf("%d¥n", 変数);) これを↓に組み込んで終わり。 #include <stdio.h> //printf() int main(void) {  1) 変数宣言  2) 変数入力  3) 変数に40+  4) 変数を二乗  5) 結果を出力  return 0; }

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.3

プログラム起動時の引数で指定された整数に対してご要望の計算をして表示するプログラムです。 引数の個数チェックはやっていませんのでご注意を。 #include <stdio.h> #include <stdlib.h> int add(int left, int right) { if ((left < 0) && (right < 0)) return - add(-left, -right); if (right == 0) return left; if (left == 0) return right; if (right < 0) return add(right, left); return add(left, right - 1) + 1; } int multiple(int left, int right) { if ((left == 0) || (right == 0)) return 0; if (left < 0) return - multiple(-left, right); if (right < 0) return - multiple(left, - right); return multiple(left, right - 1) + left; } int square(int value) { return multiple(add(value, -1), add(value, 1)) + 1; } int main(int argc, char** argv) { printf("%d\n", square(add(atoi(argv[1]), 40))); return 0; } …まあ、これをそのまま宿題の答としてとして提出したらぶん殴られるか「ここまでわかってるなら」と上級コースにほおりこまれて決定的についていけなくなるかのどちらかだと思いますが。

74591111
質問者

お礼

確かにその通りです自分の実力で頑張ってみます

74591111
質問者

補足

それと一応ビルドしたときにatoiに識別されていませんと、定義されていませんと出たのでが

  • yama5140
  • ベストアンサー率54% (136/250)
回答No.2

>どなたかご教示お願いします  前のご質問 http://okwave.jp/qa/q6368605.html  で、「数値を入力」するのはできてますよね。 >・・その数に40+して二乗する・・  これを《1ステップで記述する》には、どうしたらいいか「いまいちわかりません」ということですよね。  これから、複雑な「数式」を「プログラム化」する場面があろうかと思いますが、「数式」を細かく分割しないと、「プログラム化」は難しいですよ。  できたとしても、視認性の悪いものとなってしまいます(検証も困難)。 今回は「細かく分割」、といっても2つですが、  ・その数に40+・・1)  ・二乗する・・・・・2)  1) n1 = n1 + 40; とか n1 += 40; です。  2) n1 = n1 * n1; とか n1 *= n1; です。  n1 += 40;  printf( "40+ %d\n", n1 ); // 行程検証  n1 *= n1;  printf( " ^2 %d\n", n1 ); // 行程検証

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

わからない箇所をもう少し詳しく書けませんか? 「基本の枠組み」とか「40足して二乗する」とかがわからないようだと、「教科書を最初から読みなおしてください」となってしまうのですが。 「いまいちわかりません」ということは、ある程度はわかるわけでしょ? なら、実際に作ってみて、コンパイルしてみる。エラーになったら、何が原因か考える。 コンパイルエラーが無くなったら、実行してみる。「思った通り」に動かなかったら、何が原因か考える。 プログラミング技術向上の方法の一つです。 質問するにしても、上のようなことをして、どんなエラーになるのか、「思った通り」とどこが違うのか、をはっきりさせた方が回答も付きやすいし、あなたの技術向上にもなるはずです。

関連するQ&A

  • C言語プログラミングソースについての質問です

    数値を入力してその数値が10以上ならその数値に3足して2乗するプログラムを表しそれ以外の数値には不可能と表す(課題)プログラミングを作りたいのですが。どなたかご教授お願いします C言語はまだ授業で3カ月程度かじった程度でたいして知識もありません。 本当はこんな質問するべきではないのですが

  • プログラミング、C言語について・・・

    プログラミング、C言語について・・・ 大学の宿題でわからないところがありまして・・・ 課題は、 キーボードから入力した数だけ、*(アスタリスク)を表示するようなプログラミングを作成せよ また、表示を見やすくするため*が10個表示されるたびに改行を入れよ。 なんですが とくにキーボードから入力した数だけ、*(アスタリスク)を表示するようなプログラミング がわからなくて困ってます。 あとこのプログラミングではforではなくてwhileでお願いします。 わがまま多いですがよろしくお願いします。

  • C言語のプログラミングについてです><

    今C言語のプログラミングの勉強をしているのですが、わからないプログラムがでてきたので教えてくださる方がいらっしゃれば、ご教授願いたいです。 数当てゲームの作成 1~9(0は除く)のなかから4つの異なる数字をランダムで選択し、4桁の数をつくる。ユーザは4つの数字の並びを入力して、作られた数を当てる。 ユーザの入力した数と作られた数を比較して、同じ数字が同じ桁にある場合は"Hit"というヒントを与える。また、同じ数字が異なる桁にある場合は"Blow"というヒントを与える。すなわち、作られた数が5849で、ユーザが4829という数値を入力した場合、"2 Hit 1 Blow"というヒントが表示されるようにする。 ユーザは10回まで、入力するチャンスが与えられる。 といった感じのプログラミングなんですが、C言語初心者である自分にはまったくわかりません; ; どなたかわかる方がいらっしゃれば、助けていただけないでしょうか?よろしくお願いします!

  • C言語プログラミング

    あなたは何歳ですか。 (数値を入力) 10年後は○○歳ですね。 と表示されるプログラミングをお願いします。C言語でお願いします

  • C言語 プログラミング

    C言語プログラミングで分からない問題があるのですが、 nを入力して、0~nまでの数値のうち、 (1)偶数のみ足しなさい (2)3の倍数のみ足しなさい の2つのプログラムがわからいのですがどなたか教しえていただけませんか?

  • C言語プログラミングで困っています。助けて下さい。

    C言語プログラミングで困っています。助けて下さい。 課題1-1: 実数 a と実数 b を入力すると、一次方程式ax + b = 0 の解を求めるプログラムを作る 課題1-2: 1-1 で作成したプログラムについて、さらにa として1が入力されたとき、方程式の表示       部分が1x + 3 = 0ではなくx + 3 = 0となるようにせよ 課題1-3: 1-2 で作成したプログラムについて、さらにb として0 や負の数が入力されたとき、方程式     の表示部分が2x = 0 や2x – 3 = 0となるようにせよ 課題1-4: 1-3 で作ったプログラムについて、さらにa の値として0が入力された場合、「解けません」     と表示するようにせよ 課題1-5: 係数 a, b, c を入力すると、 2次方程式ax2 + bx + c =0の解を表示するプログラムを作     れ ※ 1-2 ~ 1-4 のような機能を盛り込む ※ a が0の場合には、先に作った1次方程式のプログラムが動く という問題です。最終的にこれらを一つのプログラムにしてください。判別式や解の公式、ルート√などを使ってよろしくお願いします。C言語でお願いします

  • c言語プログラミングHELP!

    c言語でプログラムを組んでるんですが、どうしてもわからないものがありまして、 まず一つ目がキーボードから英小文字を一つ入力し、その文字を大文字に変換して出力するプログラミングです。結果がまずひとつの英小文字を入力して、入力した文字と、大文字に変換した文字を出力するプログラミングです。 ちなみにヒントは'a'=97,'A'=65です 二つ目が二桁の16進数('41'から'49','50'から'59')を入力すると対応する文字を表示するプログラミングです。また、%xは使用しないこと。なお、入力に間違いはないものとする。(ヒントは入力は一つの数値か、二つの文字か?だそうです。) 結果は二桁の16進数('41'から'49','50'から'59')を入力して、文字コードの二桁の数字と文字を出力するプログラミングです。 お願いします。

  • C言語プログラミング

    C言語プログラミングを作成したいのですが、全くわかりません… 成績処理についてのプログラミングお願いします! キーボードから試験の点数を読み込み0.5を掛ける。つぎに課題点を読み込み0. 25を掛ける。2つを加えて四捨五入してこれを授業点(75点満点)として表示。そして演習点(25点満点)を読み込み授業点に加え全体成績(100点満点)として表示する。最後に判定をして、0~59点は「不可」、60~69点は「可」、70~79点は「優」、それ以外は「入力ミス」と表示。 これをC言語プログラミングお願いします。

  • プログラミング(C言語)について

    プログラミングの課題です。いろいろ考えたのですがうまくいきません。 文字検索プログラムをC言語で作ろうとしています。多くの文字列(例:ABAABCBBABC・・・)の中から検索したい文字列(例えばABC)を入力して、その文字列が何か所に含まれてそれぞれ何文字目に始まるかを求めるようにするというものです。 どなたかわかる方がいらっしゃいましたらご回答よろしくお願いいたします。できれば詳しく式などを書いていただきたいです。

  • プログラミング言語Cとプログラミング言語C++

    プログラミング言語Cとプログラミング言語C++の違いって何ですか? あと、プログラミング言語C++についていくつか質問があります。 #include <iostream> using namespace std; void main(){ cout << "Hello world!" << endl; } このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか? using namespace stdって何ですか? あと、 cout <<"Hello world!"って何ですか?