[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク)
数式を入力する(例:x^2y^3 + 2x^2z^3 - y^5)
並び替える(優先順位:乗数が大きいものが先、乗数が同じ場合は係数が大きいものを優先する)
[3] 環境
 [3.1] OS: Windows
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 2008年12月17日
[5] その他の制限:
#include <stdio.h>
#include <string.h>
int main(void){
char siki[] = "";
char *tp;
scanf("%s",siki);//式を入力する
//スペースを区切りに文字列を抽出
tp = strtok( siki, " " );
puts( tp );
while ( tp != NULL ) {
tp = strtok( NULL," " );
if ( tp != NULL ) puts( tp );
}
}
こんな感じで数式を[strtok]によって別けたいんだけど、上手くいかない…
文字列に最初から式を入力してると動くんだけど、
scanfで入力すると動かないんだなー。
どなたかエロい方教えていただけると幸いです。