プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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;
}
    • good
    • 0

プログラム起動時の引数で指定された整数に対してご要望の計算をして表示するプログラムです。


引数の個数チェックはやっていませんのでご注意を。

#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;
}

…まあ、これをそのまま宿題の答としてとして提出したらぶん殴られるか「ここまでわかってるなら」と上級コースにほおりこまれて決定的についていけなくなるかのどちらかだと思いますが。

この回答への補足

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

補足日時:2010/12/23 22:27
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/12/23 22:10

>どなたかご教示お願いします



 前のご質問 http://oshiete.goo.ne.jp/qa/6368605.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 ); // 行程検証
    • good
    • 0

わからない箇所をもう少し詳しく書けませんか?



「基本の枠組み」とか「40足して二乗する」とかがわからないようだと、「教科書を最初から読みなおしてください」となってしまうのですが。

「いまいちわかりません」ということは、ある程度はわかるわけでしょ?
なら、実際に作ってみて、コンパイルしてみる。エラーになったら、何が原因か考える。
コンパイルエラーが無くなったら、実行してみる。「思った通り」に動かなかったら、何が原因か考える。
プログラミング技術向上の方法の一つです。

質問するにしても、上のようなことをして、どんなエラーになるのか、「思った通り」とどこが違うのか、をはっきりさせた方が回答も付きやすいし、あなたの技術向上にもなるはずです。
    • good
    • 0

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