- 1 名前:デフォルトの名無しさん [2007/10/23(火) 23:48:35 ]
- あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
【質問者へ】 回答者の便宜のため、質問の際は以下を行うことを推奨します。 ・質問は【質問テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 ・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 97代目 pc11.2ch.net/test/read.cgi/tech/1191937213/
- 397 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 10:19:24 ]
- [2] 問題文(含コード&リンク):携帯の文字入力をコマンドプロンプトから行うプログラムをつくれ
[3] 環境 [3.1] OS: WindowsXP [3.2] VisualStudio 2008 [3.3] 言語: C [4] 期限: はやめに 途中までは作っているのですが、シンボルが重複しているみたいなエラーがでてしまいます デバッグと、濁点等の変換処理を手伝ってもらえませんか? Shift-jisでやろうと思うのですがこれでいいのかよくわかりません・・・ テンプレのうpろだに何故かうpできなかったので、別のうpろだを使いました www.uploda.org/uporg1085799.zip.html よろしくお願いします
- 398 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 11:59:19 ]
- >>397
[1]が抜けてる 期限が曖昧 その上マルチ そしてVisualStudio2008ってまだβ版だろ、そんなもん宿題に使うな
- 399 名前:397 mailto:sage [2007/10/28(日) 12:41:20 ]
- すいません。あせってて・・・
[1] 授業単元: C言語 期限:今日中になりました VisualStudio2005でも同じエラーでした
- 400 名前:デフォルトの名無しさん [2007/10/28(日) 14:14:11 ]
- >>352さん
>>355さん お礼の返事送るのが遅れて申し訳ありませんでした >>351の問題に答えていただきありがとうございました
- 401 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 15:58:29 ]
- 1] 授業単元: c言語
[2] 問題文:1.文字列の先頭のアドレスを引数とし、 その文字列の中にある文字’A’を探してそれが何番目かを計算し、 ‘A’があればその値を、なければ0を返値とする関数を作成せよ。 2.1.で作成した関数を用いて、自分の学籍番号をポインタに代入し、 その中で文字'A'を探してそれを先頭に持ってくるプログラムを作成せよ。 [3] 環境 [3.1] OS:windows [3.2] VisualStudio2005 [3.3] 言語:c [4] 期限:10月31日まで [5] その他の制限:特になし 問題が2個ありますが、よろしくお願いします
- 402 名前:デフォルトの名無しさん [2007/10/28(日) 16:08:15 ]
- #include<stdio.h>
fnc(char *c){ int n; for(n=0;c[n]!='\0';n++)if(c[n]=='A')break; if(c[n]=='A')return n+1; else return 0; } main(){ char c[]="btfguhnexthgd,gj.lhgjkgh,nfgnvhg"; printf("%d\n",fnc(c)); }
- 403 名前:デフォルトの名無しさん [2007/10/28(日) 16:11:30 ]
- #include<stdio.h>
fnc(char *c){ int n; for(n=0;c[n]!='\0';n++)if(c[n]=='A')break; if(c[n]=='A')return n+1; else return 0; } main(){ int i,n; char c[]="Gakusekibango ha AGS000123"; printf("%s\n",c); n=fnc(c); for(i=n-1;i>=0;i--)c[i]=c[i-1];c[0]='A'; printf("%s\n",c); }
- 404 名前:デフォルトの名無しさん [2007/10/28(日) 16:30:14 ]
- [1] 授業単元: C言語
[2] 問題文:整数nをscanfで入力後"prime"という関数を呼び出して、 nが素数ならば1(それ以外は0)を繰り返し、mainにて「○は素数です(ではありません)」 を表示させよ [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン: Visual Studio 2005 [3.3] 言語: C [4] 期限: ([2007年10月28日まで] [5] その他の制限:if文を用いる
- 405 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:37:23 ]
- nが素数ならば1(それ以外は0)を返し、
だよな?
- 406 名前:デフォルトの名無しさん [2007/10/28(日) 16:42:35 ]
- #include<stdio.h>
prime(int p){ int n,N=p/2; for(n=2;n<N;n++)if(p%n==0)break; if(n<N)return 0; else return 1;} main(){ int p; scanf("%d",&p); if(prime(p))printf("%dは素数です",p); else printf("%dは素数ではありません",p); }
- 407 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:46:57 ]
- >>406
N=p/2 でpが奇数だったらNに入るのはintじゃなさそうな気がする
- 408 名前:デフォルトの名無しさん [2007/10/28(日) 16:47:22 ]
- #include<stdio.h>
prime(int p){ for(int n=2;n<p/2;n++)if(p%n==0)return 0;return 1;} main(){ int p;scanf("%d",&p); if(prime(p))printf("%dは素数です",p); else printf("%dは素数ではありません",p);}
- 409 名前:デフォルトの名無しさん [2007/10/28(日) 16:48:53 ]
- >>407
#include<stdio.h> main(){ int p=5; int N=p/2; printf("Nは%dです",N); }
- 410 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 16:59:01 ]
- #include<stdio.h>
int prime(int p) { int n; for(n=2; n<=p/2; n++) if(!(p%n)) return 0; return 1; } int main(void) { int p; scanf("%d",&p); printf(prime(p) ? "%dは素数です" : "%dは素数ではありません", p); return 0; }
- 411 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 17:00:09 ]
- 0 1
- 412 名前:デフォルトの名無しさん [2007/10/28(日) 17:06:42 ]
- >>405
その通りでした。すいません
- 413 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 17:06:55 ]
- >>404
#include <stdio.h> int prime(int n) { int i; if(n<2) return 0; for(i=2; i*i<=n; i++) if(n%i==0) return 0; return 1; } int main(void) { int n; scanf("%d", &n); if(prime(n)==0) printf("%dは素数ではありません\n", n); else printf("%dは素数です\n", n); return 0; }
- 414 名前:デフォルトの名無しさん [2007/10/28(日) 17:43:11 ]
- cディレクトリのファイルでサイズが一致するものを出力せよ
- 415 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:10:14 ]
- はい。
- 416 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:10:35 ]
- [1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク): 8行10列の二次元配列においてです。 1行目の配列と2行目の配列を足します。(できた配列を配列Aとよぶ) 次に配列Aと3行目の配列を足します。(できた配列を配列Bとよぶ) 次に配列Bと4行目の配列を足します。(できた配列を配列Cとよぶ。) 次に 5行目の配列と6行目の配列を足します。(できた配列を配列aとよぶ) 次に配列aと7行目の配列を足します。(できた配列を配列bとよぶ) 次に配列bと8行目の配列を足します。(できた配列を配列cとよぶ。) そして配列Cを1行目、配列cを2行目とする 2行10列の二次元配列を表示しろ。(つまり4行の配列をたせということです) 配列のそれぞれの足し算は別関数にて行いなさい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2007年10月29日まで [5] その他の制限: なし よろしくお願いします。
- 417 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:15:39 ]
- >>416
これはなにか物理的演算なのかな?
- 418 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:18:12 ]
- >>416
1行目から4行目の各成分をそれぞれ足してCとする。 5行目から8行目の各成分をそれぞれ足してcとする。 Cとcを横に並べて2x10にする。 という意味?
- 419 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:19:05 ]
- 関数内はlogの加算にあとでかえますから。
logの加算じゃなかったらこんなめんどいことはしません。
- 420 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:21:16 ]
- 8X10の配列を
4X10と4X10とみて、4行ずつ配列を足します。そしたら1X10と1X10になるでしょう? でこの1X10と1X10をいっしょにして2X10というわけです。 対数の加算なので一辺には計算できないわけです
- 421 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:25:02 ]
- なんでこんな簡単なこともできないのに、そんなに偉そうなんだ?
- 422 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:27:08 ]
- >>420
言いたいことは分かるが4行ずつ配列を足してないだろ
- 423 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 18:28:55 ]
- #include <stdio.h>
void add(const int *a, int *b, int n) { while(n--) b[n] += a[n]; } int main(void) { int a[8][10], b[2][10] = {0}; int i; for(i=0; i<8; i++) add(a[i], b[i/4], 10); return 0; }
- 424 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 19:44:51 ]
- >>416
配列A, B, a, b は配列として必要なのか?
- 425 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 20:42:09 ]
- わかる人いますか?
[1] 授業単元: プログラミング演習 [2] 問題文(含コード&リンク): 以下のような内容のテキストファイルを読み込んで それぞれ配列に格納した後、同じように出力せよ。 文章,文章,数字,数字,・・・,数字\n 文章,文章,数字,数字,・・・,数字\n 文章,文章,数字,数字,・・・,数字\n ただし行数および数字の列数は常に不定とする。 [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: VC 6.0 [3.3] 言語: C/C++どちらでも可 [4] 期限: 2007年10月28日24:00まで [5] その他の制限: 特になし
- 426 名前:425 mailto:sage [2007/10/28(日) 20:46:49 ]
- すみません。
読み込むのはtxtファイルじゃなくてcsvファイルでした。 よろしくおねがいします。
- 427 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 20:49:03 ]
- [1] 授業単元: C言語
[2] 問題文(含コード&リンク): e^x = 1 + x^1/1! + x^2/2! + x^3/3! + x^4/4! + … を利用して e^x を計算する関数 double myexp(double x) を作成せよ. k=0, 1, 2, 3, … について x^k/k! を加算してゆき, x^k/k!<10-6 となった時点で計算を打ち切るようにせよ (無限ループと break 文を用いるのが一解法). main から myexp を呼び出し, x=1.0, 2.0, …, 10.0 に対して myexp(x) の値を全体で 13 桁, 小数点以下 5 桁で表示せよ. [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン:gcc 3.4 [3.3] 言語: C言語 [4] 期限: 2007年10月29日まで [5] その他の制限:特になし 次レスがプログラムです。実行はされますが値がおかしいです… よろしくお願いします。
- 428 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 20:50:56 ]
- #include <stdio.h>
#include <math.h> double myexp(double); double x; int main( void ) { printf("\t x\t myexp(x)\n"); for(x=1.0;x<=10.0;x++) { printf("\t%.1f\t%13.5f\n",x,myexp(x)); } return 0; } double myexp(double x) { double r=1.0,f=1.0,y=1.0; int z,k; for(k=1;;k++) { for(z=1;z<=k;z++) { r=r*z; } if(pow(x,k)/r<1.0e-6) { return f; break; } f=f+pow(x,k)/r; } }
- 429 名前:とくめい [2007/10/28(日) 21:06:55 ]
- すみませんがプログラミングの宿題を教えてください。
「言語」= c++ 「問題」= 速度のfileを読み込みそれを微分して加速度を求めろ。速度を積分して距離を求めろ なおプログラムは1通です。 「os] = xp micro studio 2005
- 430 名前:とくめい [2007/10/28(日) 21:09:09 ]
- 上の追加です。
去年の参考にfile名は何でもいいので #include<stdio.h> FILE * fp1,* fp2,* fp3; //ファイルポインタの宣言 int main() { double k1=0,k;//k1=一つ前の距離、k=距離 double s1=0,s;//s1=一つ前の速度、s=速度 double T=0.4;//刻み値(台形の高さ) fp1 = fopen( "C:\\suzuki2\\car06spd.txt", "r" );//ファイルを読み込みで開く fp2 = fopen( "C:\\suzuki2\\sekibun.txt", "w" );//ファイルを書き込みで開く if( fp1 == NULL ){//fp1にデータがあるか確かる printf("ファイルが開けません。\n"); fclose( fp1 ); }
- 431 名前:とくめい [2007/10/28(日) 21:10:28 ]
- 書き込めなかったので2分割しました
while( 1 ) {//無限ループ(微分) if( fscanf( fp2,"%lf",&k) == EOF ) break;//ファイルを読み終えたらループから抜ける s=(k-k1)*2/T*3600-s1;//速度(s)の式 、単位変換を行う fprintf(fp3,"%.0lf\n",s);//ファイルに速度sを出力する k1=k;//k1にkの値を入れる s1=s;//s1にsの値を入れる } fclose( fp2 );//ファイルを閉じる fclose( fp3 );//ファイルを閉じる return 0; }
- 432 名前:デフォルトの名無しさん [2007/10/28(日) 21:13:10 ]
- [1] 授業単元: C言語入門
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5164.txt [3] 環境 [3.1] OS: Windows [3.3] 言語: C言語 [4] 期限: 10月29日午前1時まで よろしくお願いします
- 433 名前:デフォルトの名無しさん [2007/10/28(日) 21:14:25 ]
- >>425#include <iostream>
#include <string> #include <vector> #include <fstream> using namespace std; main(){ string str="",buf; fstream fp("text.csv",ios::in); do {getline(fp, buf);str+=buf+"\n";}while(!fp.eof()); int m,n;vector<string> x; do{ m=str.find(",");n=str.find("\n"); if(m>n){x.push_back(str.substr(0,n));x.push_back("\n");m=n;} else x.push_back(str.substr(0,m)); str=str.substr(m+1);}while(m>=0); for(n=0;n<x.size();n++)cout<<x[n]; }
- 434 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:24:59 ]
- // >>427 eのマクローリン展開
#include <stdio.h> #include <math.h> double myexp(double); double x; int main( void ) { double x; printf("\t x\t myexp(x)\t exp(x)\n"); for(x=1.0;x<=10.0;x++) { printf("\t%2.1f\t%13.5f\t%13.5f\n", x, myexp(x), exp(x)); } return 0; } double myexp(double x) { double s = 0.0; double a = 1.0; s += 1.0; for (int n = 1; n < 20; n++) { a = a * x / n; s = s + a; } return s; }
- 435 名前:デフォルトの名無しさん [2007/10/28(日) 21:26:58 ]
- /*
e^x を計算する関数 double myexp(double x) を作成せよ. k=0, 1, 2, 3, … について x^k/k! を加算してゆき, x^k/k!<10-6 となった時点で計算を打ち切る main から myexp を呼び出し, x=1.0, 2.0, …, 10.0 に対して myexp(x) の値を全体で 13 桁, 小数点以下 5 桁で表示せよ. */ #include <stdio.h> #include <math.h> double myexp(double x){ double r=1,sum=0; for(int k=1;;k++){ sum+=r; r*=x/k; if(r < 1.0e-6)return sum;}} int main( void ){ double x; printf("\t x\t myexp(x)\n"); for(x=1.0;x<=10.0;x++){ printf("\t%.1f\t%13.5f\n",x,myexp(x)); } return 0; }
- 436 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:28:11 ]
- // >>427 e(x)の計算 さっきのはforのなかで宣言があったんでC++
#include <stdio.h> #include <math.h> double myexp(double); int main( void ) { double x; printf("\t x\t myexp(x)\t exp(x)\n"); for(x=1.0;x<=10.0;x++) { printf("\t%2.1f\t%13.5f\t%13.5f\n", x, myexp(x), exp(x)); } return 0; } double myexp(double x) { double s = 0.0; double a = 1.0; int n; s += 1.0; for (n = 1; n < 20; n++) { a = a * x / n; s = s + a; } return s; }
- 437 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:28:25 ]
- [1] 授業単元: データ1
[2] 問題文(含コード&リンク): 長いのでうpしました。 簡易電卓を作成する問題です。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5165.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:bcc [3.3] 言語:C [4] 期限:11/7まで [5] その他の制限:GUIで作ってはいけないそうです。 よろしくお願いします。
- 438 名前:デフォルトの名無しさん [2007/10/28(日) 21:29:20 ]
- #include <stdio.h>
double myexp(double x){ double r=1,sum=0; for(int k=1;;k++){ sum+=r;r*=x/k; if(r<1.0e-6)return sum;}} main(){ printf("\t x\t myexp(x)\n"); for(double x=1.0;x<=10.0;x++)printf("\t%.1f\t%13.5f\n",x,myexp(x));}
- 439 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:31:11 ]
- >>437
厳しい制限だな。GUIで作っちゃだめなのか
- 440 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:34:38 ]
- >>432
#include <stdio.h> #include <math.h> int solve(double a, double b, double c); double answer1; double answer2; int solve(double a,double b, double c) { double check; check = b * b - 4 * a * c; if(check > 0){ answer1 = (b + sqrt(b * b - 4 * a * c)) / (2 * a); answer2 = (b - sqrt(b * b - 4 * a * c)) / (2 * a); return 2; }else if(check == 1){ answer1 = (b + sqrt(b * b - 4 * a * c)) / (2 * a); answer2 = answer1; return 1; } return 0; } main()は省略 汚いコードだけどこんな感じ
- 441 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:35:29 ]
- >>432
int solve(double a, double b, double c) { double d = b * b - 4 * a * c; if(d<0) return 0; answer1 = (-b + sqrt(d)) / 2 / a; answer2 = (-b - sqrt(d)) / 2 / a; return d == 0 ? 1 : 2; }
- 442 名前:デフォルトの名無しさん [2007/10/28(日) 21:36:31 ]
- >>440
それまちがってるよ
- 443 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 21:38:53 ]
- >>440
せっかくcheck計算してんのに、sqrtの引数に利用しないなんてムダすぎる
- 444 名前:440 mailto:sage [2007/10/28(日) 21:39:29 ]
- >>442
/(^o^)\bの前に”-”が抜けてた >>441のほうが圧倒的に見やすくていいね
- 445 名前:425 mailto:sage [2007/10/28(日) 22:03:25 ]
- >>433
ありがとうございます!! あと数字は数字として格納して次の問題での計算に使いたいのですが 文字列として取得した数字を別の配列に整数型の数として取得するには どうすればいいでしょうか?
- 446 名前:デフォルトの名無しさん [2007/10/28(日) 22:08:48 ]
- st=str.substr(0,n)に対して
st[i]が'0'から'9'にあればいい コードはちょっと待ってくれ
- 447 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:08:55 ]
- >>445
std::string str = "1.234"; double d; std::istringstream istr(str); istr >> d;
- 448 名前:デフォルトの名無しさん [2007/10/28(日) 22:30:14 ]
- stringが数値なら変換して違うならエラーを返す関数ってある?
- 449 名前:デフォルトの名無しさん [2007/10/28(日) 22:33:09 ]
- atofで良いんだな
- 450 名前:デフォルトの名無しさん [2007/10/28(日) 22:36:21 ]
- atofだと初めが数値だと計算してしまう
- 451 名前:デフォルトの名無しさん [2007/10/28(日) 22:38:30 ]
- .8222とか、100,000とかは数値にするのか?
- 452 名前:425 mailto:sage [2007/10/28(日) 22:42:07 ]
- >>446
その方法基本情報試験の勉強でやった覚えが!!! でもどうにも思い出せないです・・・ >>447 stringがvector<string>なためかうまくいきません。 atoiなどもvectorは拒否されてしまうみたいですね。 うーん、難しい・・・
- 453 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:44:19 ]
- #include<stdio.h>
int main(int argc, char *argv[]){ int i, index; double value; for(i=1;i<argc;i++){ if(sscanf(argv[i], "%lg%n", &value, &index)>=1 && argv[i][index]=='\0') printf("%s は数値だ\n", argv[i]); else printf("%s は数値ではない\n", argv[i]); } return 0; }
- 454 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:50:47 ]
- [1] 授業単元:データ構造とアルゴリズム1
[2] 問題文(含コード&リンク):待ち行列シミュレーションするプログラムを作成せよ 完成する関数: void enqueue(char *x) void dequeue() void queue_print() 作成するプログラムについて:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5168.txt 実行例:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5169.txt ヒント:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5170.txt [3] 環境 [3.1] OS:win xp [3.2] Microsoft Visual Studio .NET 2003 [3.3] 言語:c++ [4] 期限:2007年10月29日9:30まで [5] その他の制限:(どこまで習っているか)構造体、ファイル処理あたりまで
- 455 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 22:56:52 ]
- >>437
符号反転キーと演算キーがかぶる気がするんだけどどうするの?
- 456 名前:デフォルトの名無しさん [2007/10/28(日) 22:58:12 ]
- class mojisu {
string str; double su; } mojisu x; x.input("777"); という関数を作る 数値なら数字として保存 このとき文字は空にする 違うなら文字として保存
- 457 名前: ◆nzw4qNGj6U [2007/10/28(日) 22:58:19 ]
- [1] 授業単元:プログラミング2 文字列処理
[2] 問題文(含コード&リンク): 英文(英単語)を入力し、入力した文字列を、逆から表示するプログラムを作成すること。 [3] 環境 [3.1] OS:Windows [3.3] 言語:C [4] 期限:2007年10月29日0:00迄 [5] その他の制限:NULL文字を使用して下さい。 よろしくお願いします。
- 458 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 23:41:00 ]
- >>457
NULL文字をどこで使用するんだ・・・ #include <stdio.h> int main() { int i=-1; char buf[256]; while((buf[++i]=getchar())!=EOF); while(i>0&&putchar(buf[--i])!=EOF); return 0; }
- 459 名前:デフォルトの名無しさん mailto:sage [2007/10/28(日) 23:48:49 ]
- >>458
きっとこういう風にするんだよ #include <stdio.h> int main() { int i=-1; char buf[256]; while((buf[++i]=getchar())!=EOF); while(i>0&&putchar(buf[--i])!=NULL); // ここ return 0; }
- 460 名前:デフォルトの名無しさん mailto:sage [2007/10/29(月) 00:19:06 ]
- NUL文字?
|

|