昇順に並べ替えるC言語について
Posted: 2012年7月12日(木) 16:10
ある英作文が書いてあるぶんがあるとして
それらの文の英語をASCIIコードで昇順
に並べ替えるプログラミングを作成
したいのですが、どうすればいいのでしょうか?
それらの文の英語をASCIIコードで昇順
に並べ替えるプログラミングを作成
したいのですが、どうすればいいのでしょうか?
英語をというのは「英単語」をなのでしょうか?ks さんが書きました:それらの文の英語をASCIIコードで昇順
#include<stdio.h>
#include<ctype.h>
#define WORD_MAX 100
struct WordData {
char wd[ WORD_MAX ];
};
void StoreWord(struct WordData *array, int *word_num,char *c)
void SortWord (struct WordData *array, int word_num)
{
arrya
}
void SwapWord (char *w1, char *w2 )
{
int temp = *w1;
*w1 = *w2;
*w2 = temp;
}
void CompareWord (char *wd1, char *wd2)
{
if(wd1 < wd2){
return(1);
}
if else(wd1 = wd2){
return(0);
}
if else{
return(-1);
}
int main(int argc, char *argv[])
{
FILE *fp;
int Word num = 0;
int i;
char c;
if (argc < 2) {
printf("ファイル名が正しく指定されませんでした。\n");
return 0;
}
fp = fopen(argv[1],"rw");
if(fp == NULL){
printf("ファイルは開けませんよ。");
}
while((c = getc(fp)) != EOF){
(array,c);
}
fclose(fp);
/*
* 定数マクロを記述する.
*/
#define WORD_MAX 100
/*
* 構造体を宣言する.
*/
struct WordData {
char wd [ WORD_MAX ]; /* 単語 */
};
関数仕様
次の関数を作成し,利用すること.
/*
* StoreWord --- 文字列を構造体へ保存する.
*
* 引 数
* array (I/O) 文字列を記録する配列の先頭アドレス
* word_num (I/O) 保存した数(この関数でカウントアップする)
* c (I) 保存する文字列
* 返り値 なし
*/
void StoreWord (struct WordData *array,
int *word_num,
char *c)
/*
* SortWord --- 文字列をソートする.
*
* 引 数
* array (I/O) 文字列を記録する配列の先頭アドレス
* word_num (I) 保存されている文字列の数
* 返り値 なし
*/
void SortWord (struct WordData *array, int word_num)
/*
* SwapWord --- 文字列を入れ替える.
*
* 引 数 w1 (I/O) 文字列
* w2 (I/O) 文字列
* 返り値 なし
*/
void SwapWord (char *w1, char *w2 )
/*
* CompareWord --- 2つの文字列を比較する.
*
* 引 数 wd1 (I) 文字列
* wd2 (I) 文字列
* 返り値 1 : wd1 < wd2
* 0 : wd1 = wd2
* -1 : wd1 > wd2
*/
void CompareWord (char *wd1, char *wd2)
これらは必須で使用します。