by
Anonymous Coward
on 2008年01月27日 15時01分
(#1287325)
ISO/IEC 9899を確認してみました。問題なさそうです。
7.19.6.2 The fscanf function 6:
If any of those characters differ from the ones composing the directive,
the directive fails and the differing and subsequent characters remain unread.
プログラミングの普遍化 (スコア:0)
自力で開発してしまうようになるんでないの。
業務知識を深く反映した強力なロジックを実装して使いながら日々改良していくなんてことができそう。
Javaの最新版いじってみたら、あっけなくいろんな事ができるんでびっくりしたよ。
Re: (スコア:0)
Re: (スコア:3, すばらしい洞察)
たとえば、「EOFがくるまでホワイトスペース区切りで数値を読み込み、平均と分散を計算して出力しろ、というC(でもJAVAでもいいけれど)の課題がわかりません」って学生が居るとする。 そいつに、『じゃ、紙と鉛筆と電卓で、平均と分散を計算する方法を説明してみろ』というと・・・
説明できるヤツ→C言語の技能が足りない
説明できないヤツ→プログラミング以前の問題
でも説明できないヤツでも、「C言語が難しいので出来ない」と思いこんでるんだな。
Re: (スコア:1)
> EOFがくるまでホワイトスペース区切りで数値を読み込み、
と
> 平均と分散を計算して出力しろ、
を分けて教えてやらないといけない。
どっちかいうと、前者の方が難しかったりする。
「数値を入力してください」というプロンプトを出すようなスタイルだと、なんとかできる学生もいる。
ま、プロンプトを出すところまで書いて立ち往生してる学生が、圧倒的に多いがな。
Re:EOFがくるまでホワイトスペース区切りで数値を読み込み (スコア:1)
「ホワイトスペース区切りで数値を読み込み」のところを、オレなりに実装したらこうなった。12xx5 -> 125 になっちゃうし、30桁以上の数字を入れられたらアウトなのだが、誰かもっとスマート方法があったら教えて。但し、C言語。元ネタが Java OK なのは承知。
#よそでやれって?
---------------------------------------------------------------
#include <stdio.h>
#include <string.h>
char *whitespace = " \t\n";
char *numericdot = "0123456789.";
#define BUFLEN 30
int getfloat(FILE *fp, float *x) {
Re: (スコア:1)
かなりスマートにできたと思います。
# ジョークなので突っ込み禁止。
# 後、sed は GNU のじゃないとダメかも。
Re:EOFがくるまでホワイトスペース区切りで数値を読み込み (スコア:0)
7.19.6.2 The fscanf function 6: