- 1 名前:デフォルトの名無しさん [2007/02/01(木) 23:08:46 ]
- このスレは標準Cのみの限定スレです。
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。 質問する前には最低限検索を。 エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。 C FAQ 日本語訳 www.kouno.jp/home/c_faq/ Cプログラマ必読 ・プログラミング言語C(通称 K&R) www.amazon.co.jp/exec/obidos/ASIN/4320026926/250-7563469-9920244 他の過去ログはここに nssearch.hp.infoseek.co.jp/clang/ 前スレ 【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 130 pc10.2ch.net/test/read.cgi/tech/1159613789/ GUIなどの標準Cではできない事の質問,ソース丸投げ、宿題、書籍 は 専門の別スレッド↓があるのでそこへさようなら。 【初心者歓迎】C/C++室 Ver.34【環境依存OK】 pc10.2ch.net/test/read.cgi/tech/1169039760/ C/C++の宿題を片付けます 82代目 pc10.2ch.net/test/read.cgi/tech/1169575464/
- 839 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:06:54 ]
- int X;
~
- 840 名前:837 mailto:sage [2007/08/05(日) 18:15:40 ]
- >>838
それを消したら、未定義の関数moveを呼び出したなどとエラーだ出ます。 >>839 掲示板に書き込む時に簡略化したら忘れてしまいました。
- 841 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:21:04 ]
- >>837
宣言と定義の区別をしっかりと。ヘッダには変数や関数の宣言だけ置くこと。
- 842 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:23:31 ]
- プロトタイプ宣言でググれ
- 843 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:04:20 ]
- ////(main.h)
#ifndef MAIN_H #define MAIN_H extern int X; #endif //// ////(main.cpp) #include "main.h" #include "move.h" int main(){ move(); } //// ////(move.h) #ifndef MOVE_H #define MOVE_H int move(); #endif //// ////(move.cpp) #include "main.h" int move(){ (Xを操作する処理) } ////
- 844 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 20:05:03 ]
- まちがった
////(main.cpp) #include "main.h" #include "move.h" int X; int main(){ move(); } ////
- 845 名前:わ ◆V92eIRyEPU mailto:sage [2007/08/14(火) 14:48:11 ]
- ね
- 846 名前:拿 ◆J/ZoJAt3T2 mailto:sage [2007/08/14(火) 14:50:07 ]
- テスト
- 847 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 23:58:55 ]
- >>843-844
俺なら、 extern int X; はmove.h側に入れて、int X; は move.cpp に入れて、 main.hは消すかな。細かいことですんませんね。 >>837 安心しなさい。あなたの方が、うちの元請けより優秀です! ちゃんと #ifndef使うあたりが。
- 848 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/19(日) 03:09:14 ]
- すいません最近c言語を習い始めたのですが、円の半径(double型)をあたえて、円周の長さと
と円の面積を表示するプログラムがどうしてもできません。 どうすればよいのでしょうか?
- 849 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 03:47:30 ]
- お前さんが書いたコードを晒せ
- 850 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 04:10:29 ]
- その前に初心者スレに行け。
- 851 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 10:50:59 ]
- >>848が出来ない可能性
・scanfで&忘れ、%dを指定している ・式中にint型とかを使っている ・まともに調べてない、読んでない ・円周の長さ、円の面積が分からない
- 852 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 10:57:20 ]
- #define PI 3
- 853 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:33:21 ]
- ゆとりな定義だな
- 854 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 12:39:38 ]
- #define ENSYUURITSU 3
- 855 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 18:23:29 ]
- >>848 どぞ。
double pi = 3.14159265358979323846 double r = 1.0; double s = pi * r * r; double d = 2 * pi * r; printf("s=%f,d=%f\n",s,d);
- 856 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 20:58:27 ]
- どうでもいいが円周はlな方がしっくりくる
- 857 名前:デフォルトの名無しさん mailto:sage [2007/08/19(日) 21:16:49 ]
- #include <math.h>
double pi = atan(1) * 4;
- 858 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/20(月) 02:27:48 ]
- >857
ありがとうございます。あと家でc言語使えるようにしようと思って microsoft.net Framework version 2.0 再頒布可能パッケージ microsoft.net Framework version 2.0 SDK 日本語版 をダウンロードしたのですが友達の話によると microsoft.net Framework version 2.0 日本語版 language pack が必要らしいのですがmicrosoftの公式サイトに行っても見つからないのですが どうやったら手に入るのでしょうか? すごい初歩的な質問ですいません。
- 859 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 05:52:55 ]
- >>858
初歩的以前にスレ違いなんだが自覚あるか?
- 860 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:16:00 ]
- math.hインクルードするならM_PI使ったほうが早い
- 861 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:20:12 ]
- >>860
M_PIは標準ではない。
- 862 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 09:45:41 ]
- ここは世界レベルでの標準に関わる内容のスレです。標準的ではない手法はお断りします。
- 863 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 10:10:12 ]
- M_PIが無い最近の環境って何がある?
- 864 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 10:18:59 ]
- つ MS Visual C++
- 865 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 10:28:00 ]
- gccでもansi適合モードにするとスルーされる。
- 866 名前:デフォルトの名無しさん mailto:sage [2007/08/20(月) 13:43:09 ]
- VC++は定義されてないのがデフォで、_USE_MATH_DEFINESを定義すると使えるようだね
- 867 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 14:00:16 ]
- 関数から構造体を受けることはできたんですが,構造体を渡して,受け取る関数を作りたいのですが
どのように記述すれば良いですか struct Initset getinfo(struct Initset *syoki2) ↑のような記述はできないですか?
- 868 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 14:07:52 ]
- それでいいです
- 869 名前:867 mailto:sage [2007/08/24(金) 15:10:45 ]
- >>868
できました〜。ありがとうございます
- 870 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/24(金) 16:41:08 ]
- 入力した自然数nの正の約数をすべて表示するプログラムを今、作っているのですが、
int main(void) { int a = 1; int n = 500; int f = n / a; while(a < n) { a += 1; } printf("%d\n",f); return 0; } 上のものは自分がわからないながらも作ったものです。 でもできませんでした。 改善点お願いします。
- 871 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 16:52:01 ]
- while(a < n) { と a += 1; の間に
if (n % a == 0) { printf("%d\n", a); } とか入れてみ まあ約数なら 1/2 以上はありえないから省くとかするけどな。 入力とかはとりあえずscanfかなんかで。
- 872 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 16:57:44 ]
- >>870
まず処理の流れ自体がわかってないだろう もう一回教科書を読み直せ
- 873 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:19:39 ]
- 入力した自然数nの正の約数をすべて表示するプログラムを今、作っているのですが、
int main(void) { int a = 1; int n = 500; int f = n / a; while(a < n) { a += 1; } printf("%d\n",f); return 0; } 上のものは自分がわからないながらも作ったものです。 でもできませんでした。 改善点お願いします。
- 874 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:30:37 ]
- 改善というか、まずプログラムを使わずに
正の約数を全て列挙する方法すら分かってないように思える。 プログラム以前の問題。
- 875 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:30:50 ]
- どういう順番での実行を予想してるんだ?
- 876 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/25(土) 00:41:32 ]
- 870ですが約数をすべて列挙する方法ってnまでの数ですべて割る条件式つくって
それが成立するやつを表示するプログラムでよいのですか?
- 877 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:09:54 ]
- よくない
- 878 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:12:07 ]
- 「nまで」がどこからnまでなのか、まら「まで」とは未満なのか以下なのか
「全て割る条件式」とは何のことなのか 本当にわかってるか?
- 879 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/25(土) 01:18:28 ]
- すいません。たとえば500だったら1,2,3,4,5,6,7,8、という風に
して割り切れる、割り切れないのif文を作ればよいのかと思ったのですがそれではだめですか?
- 880 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:22:00 ]
- >>879
そこまではいい 問題は「割り切れる」の意味がわかってるかどうかだ
- 881 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:22:31 ]
- 自然数nの正の約数を列挙する
↓ 自然数nを割り切れる正の整数を列挙する ↓ 自然数nを割り切れる可能性のある正の整数すべてについて、 その数で本当に割り切れるかどうかを調べ、 割り切れるときはその数を画面に表示する 一応言っとくが「割り切れる」とは除算して余りが出ないことだからな
- 882 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:24:00 ]
- とりあえず「nをaで割り切れるならば」を意味するif文を書いてみろ
- 883 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/25(土) 01:26:01 ]
- ありがとうございます。実は今もう一個悩んでいるのがあってかけ算の九九の表をつくるというプログラムをやっているのですが
自分なりにつくったのは /* kuku.c */ int main(void) { int a, b; int n = 9; for(a = 1; a <= n; a = a + 1 ){ for(b = 1; b<=n; b = b + 1 ){ printf("%d\n",a*b); } printf("\n"); } return 0; } なのですが表になりません。おとといから始めたばかりなのでちんぷんかんぷんです。 いろいろとすいませんがご指導をお願いします。
- 884 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:28:22 ]
-
一 個 ず つ や れ
- 885 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:32:20 ]
- >883
初心者スレ逝け
- 886 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:35:55 ]
- >>883
printf("%d\n",a*b); → printf("%3d",a*b); がんばれ!
- 887 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:37:43 ]
- >>883
処理の流れ、つまり「まずこれが起きて、次にこれが起きて……」という順番をたどりながら考えろ。 漠然と書いて走らせて出来なかったーわかんないーじゃいつまでも理解できん。 そしてここは基本的に「ある程度Cがわかってる人」が「標準C」というものについて少しつっこんだ質問をする場所だから まずは初心者スレへ行くことをお勧めする。
- 888 名前:名無しさん@お腹いっぱい mailto:sage [2007/08/25(土) 01:45:23 ]
- >886
ありがとうございます。できました。
- 889 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 11:17:58 ]
- なんだよ>>871は無視かよ
- 890 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:49:26 ]
- だって約数はその数自身も含まれるから
ありえないなんて事はありえませんもん
- 891 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 13:24:42 ]
- まあ順番を問わなければもっと速いが
if(!n%a){ if(n/a < a)break; printf("%d\n",a); if(n/a != a)printf("%d\n",n/a) }
- 892 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 01:28:44 ]
- !
- 893 名前:デフォルトの名無しさん [2007/09/03(月) 18:47:21 ]
- bool a,b,c,d,e,f;
とか int a,b,c,d,e,f; みたいに並べて書いた変数を一気に同じ値で初期化する書き方ってありますか? あったら教えてください。
- 894 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 18:55:12 ]
- a = b = c = d = e = f = 0;
- 895 名前:デフォルトの名無しさん [2007/09/03(月) 18:57:51 ]
- >>894
宣言と合わせて一行でかけませんか。
- 896 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 18:58:05 ]
- >>893
static int a,b,c,d,e,f; これで全部0で初期化される。 struct foo { int a,b,c,d,e,f; } foo = {0}; これでも全部0で初期化されるな。 まぁ、横着するなってことだ。
- 897 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 18:59:10 ]
- int a,b,c,d,e,f;a = b = c = d = e = f = 0;
- 898 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 19:25:37 ]
- >>897
ワロタ
- 899 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 19:29:01 ]
- それほど面白くはない
- 900 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 19:59:10 ]
- >>898
そんなので笑えるなんて君の人生楽しそうでうらやましいわ
- 901 名前:デフォルトの名無しさん mailto:sage [2007/09/03(月) 20:07:29 ]
- >>893
同じ値で初期化するような変数なら同じような扱いをするんだろう 配列で宣言しろ
- 902 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 16:40:24 ]
- 過疎ってますね
ビットシフトでも入れてみますか?
- 903 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 16:52:28 ]
- 聞くことがないならそれでよし
わざわざ増やさんでいいw
- 904 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 17:00:56 ]
- ビットシフト入れたかったのに・・・
- 905 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 17:24:08 ]
- じゃビットシフト絡みで
MMXの様に、4Byteの整数型を1Byte単位で飽和演算する方法を 昔どこかで見た気がするんだけど、どうやるんだっけ 0xFEFEFEFE に 各バイトに3を加算 ↓ 0xFFFFFFFF 画像処理に使おうと思ったけど思い出せない
- 906 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 21:51:57 ]
- MMX対応のプロセッサを使う。
- 907 名前:905 mailto:sage [2007/09/06(木) 21:56:42 ]
- あった
www.emit.jp/prog/prog_b.html しかし原理がよくわかんね
- 908 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 21:58:04 ]
- if文を任意の位置でぬけるbreakとかcontinueみたいな
命令ってないですか?
- 909 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 22:00:49 ]
- >>908
こんなイメージ? if (...) { ...; if (...) ifBreak; ...; } これくらいしか手がない気が。 if (...) { ...; if (...) goto endIf; ...; } endIf:
- 910 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 22:01:58 ]
- goto
- 911 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 22:15:29 ]
- >>909-910
サンクス
- 912 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 22:38:47 ]
- do {
if(...) { } else if(...) { .... break; } } while(0) とか
- 913 名前:デフォルトの名無しさん mailto:sage [2007/09/06(木) 23:43:12 ]
- 俺がよく使うのは
if(...){ do{ ... if(...) break; ... }while(0); }
- 914 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:12:33 ]
- 何その隠れgoto
- 915 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:51:35 ]
- んな隠れgoto使うくらいなら、素直にgotoで書いた方が未だ見やすい希ガス。
そもそも、ロジックを整理すべきじゃないかとは思うが。
- 916 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 00:54:57 ]
- if (...){
... if(!...){ ... } } でいいんじゃないの?
- 917 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 01:11:34 ]
- int i;
scanf("%d",&i); while( i<1 || i>9999 ) { printf("もう一度入力してください"); scanf("%d",&i); } iに数字じゃなく、aaaaなどの文字列を入れると”もう一度入力〜”がえんえんループ表示されてしまいます。 これを防ぐにはどうしたらいいのでしょうか?
- 918 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 01:14:43 ]
- >>917
ja.wikipedia.org/wiki/Scanf#.E7.95.B0.E5.B8.B8.E3.81.AA.E5.85.A5.E5.8A.9B.E3.81.8C.E8.A1.8C.E3.82.8F.E3.82.8C.E3.81.9F.E6.99.82.E3.81.AE.E5.87.A6.E7.90.86
- 919 名前:917 [2007/09/07(金) 01:23:41 ]
- >>918
ありがとうございます!
- 920 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 01:26:09 ]
- >>918
その方法もどうかと思うな。 scanf()は行単位の処理じゃないのに、バッファクリアだけ行単位になってしまう。
- 921 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 01:34:26 ]
- それではどうすればいいかってのは、このスレでガイシュツです。
- 922 名前:デフォルトの名無しさん [2007/09/07(金) 10:37:17 ]
- typedef struct _st {
char ** ppsz; } st; void freeif(st* pst) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) { if(*pst->ppsz != NULL) { free((void*)pst[i].ppsz[j]); } } } for(int i = 0; i < 3; i++) { if(pst->ppsz != NULL) { free((void*)pst[i].ppsz); } } if(pst != NULL) { free(pst); } return; }
- 923 名前:デフォルトの名無しさん [2007/09/07(金) 10:38:36 ]
-
int main(void) { st* pst; // make struct object pst = (st*)malloc(3); if(pst == NULL) { printf("st is null\n"); } else { for(int i = 0; i < 3; i++) { // make struct member pst[i].ppsz = (char**)malloc(2); for(int j = 0; j < 2; j++) { // make member area pst[i].ppsz[j] = (char*)malloc(10); } } // free memory freeif(pst); } return 0; }
- 924 名前:デフォルトの名無しさん [2007/09/07(金) 10:40:37 ]
- メモリの解放が上手くいきません。よろしくお願いします。
(正誤) if(pst->ppsz != NULL) { ← × if(pst[i].ppsz != NULL) { ← ○
- 925 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 11:03:01 ]
- >>923
typedef struct _st { char ** ppsz; } st; static const char STRINGS[3][2][11] = { { "idx1:data1", "idx1:data2", }, { "idx2:data1", "idx2:data2", }, { "idx3:data1", "idx3:data2", }, }; void freeif(st* pst) { for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) { if(pst[i].ppsz[j] != NULL) { printf("pst[%d].ppsz[%d]:FREE\n", i, j); free((void*)pst[i].ppsz[j]); } } } for(int i = 0; i < 3; i++) { if(pst[i].ppsz != NULL) { printf("pst[%d].ppsz:FREE\n", i); free((void*)pst[i].ppsz); } } if(pst != NULL) { printf("pst:FREE\n"); free(pst); } return; }
- 926 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 11:03:55 ]
-
int main(void) { st* pst; // make struct object pst = (st*)malloc(3 * sizeof(st)); if(pst == NULL) { printf("st is null\n"); } else { for(int i = 0; i < 3; i++) { // make struct member pst[i].ppsz = (char**)malloc(2 * sizeof(char*)); for(int j = 0; j < 2; j++) { // make member area pst[i].ppsz[j] = (char*)malloc(11 * sizeof(char)); lstrcpy(pst[i].ppsz[j], STRINGS[i][j]); } } // debug printf("---------------------\n"); for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) { printf("pst[%d].ppsz[%d] >> %s\n", i, j, pst[i].ppsz[j]); } } printf("---------------------\n"); // free memory freeif(pst); } _getch(); return 0; }
- 927 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 11:31:28 ]
- >>922-924
固定サイズなら無理にmalloc()/free()を使う必要はないと思うぞ。 typedef struct _st { char ppsz[2][10]; } st; でいいやん。
- 928 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 11:36:05 ]
- メモリ動的確保/解放の練習とかじゃない?>>927
- 929 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 22:08:23 ]
- C89 の規格票ってどこかで見れない?
- 930 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 22:38:18 ]
- 過去ログにURLが転がってたような。
印刷できないPDFでよければJISCのサイトで閲覧できる
- 931 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 23:14:17 ]
- JISCって過去の規格票まで見れたっけ?
現在有効のX3010:2003はC99相当だけど。
- 932 名前:デフォルトの名無しさん mailto:sage [2007/09/11(火) 23:19:57 ]
- 最新版以外はなかったことになるから。
ふつーはそれでも問題ないんだよ。非互換な改訂しなければ。 JIS漢字とかJIS漢字とかJIS漢字とか、あとJIS漢字とか
- 933 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 00:31:37 ]
- そうなんだよな。それにJIS漢字も追加で。
- 934 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 00:53:09 ]
- おいおい、JIS漢字を忘れちゃいないか?
- 935 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 01:01:56 ]
- 規格票
- 936 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 01:15:46 ]
- 無粋なヤツだな
- 937 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 02:38:12 ]
- 無粋
- 938 名前:デフォルトの名無しさん [2007/09/12(水) 03:48:23 ]
- 今日学校でプロトタイプ宣言に関する問題を習ったんですが
問題:再帰関数を使って、Xのn乗を求めるプログラムを作成しなさい プロトタイプ宣言:int Power(int x,int n); 実行画面 文字列入力==>2 文字列入力==>0 値:1 文字列入力==>2 文字列入力==>3 値:8 文字列入力==>6 文字列入力==>4 値:1296 この問題だけどうしても判らなくて困っています^^; 何方かわかる方がいましたら教えてください
- 939 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 04:00:01 ]
- >>938
int Power(int x,int n) { int i; int sum = 1; if(n == 0) return 1; else{ for(i = n; i > 0; i--) sum *= x; } return sum; }
|

|