sort コマンドは入力されたテキストを辞書順に並べ替えて出力する。
z:\myc> sort
1
7
3
^Z ←キーボードで Ctrl キーと Zキーを同時に押すと入力される
1
3
7
>
z:\myc\test.txt が以下の内容であったとき
banana
cake
apple
「<」記号を使うと、コンソールからだけでなくファイルからも入力が可能となる。
z:\myc> sort < test.txt
apple
banana
cake
■1. f=format とは何か
printf, scanf の「f」は「format フォーマット」の略。
データの変換形式、データの埋め込み、桁数指定することなどをフォーマット(整形)と呼んでいる。
以下の例では、「%s」の位置に文字列を埋め込み、「%d」の位置に数字を10進数で埋め込んでいる。
helloprintf2.c (課題1)
#include <stdio.h>
void main (void){
char name[] = "Taro";
int kaisuu = 2;
printf("こんにちは %s さん、%d 回目の訪問です。\n", name, kaisuu); // nameとkaisuuを埋め込み
}
実行例
Z:\myc> helloprintf2.exe
こんにちは Taro さん、2 回目の訪問です。
helloprintf3.c (課題2)
#include <stdio.h>
int main(void){
int n=15;
char c = 'A';
char s[]="Hello";
double d = 1.23456789;
// 単純文字列
printf("Hello\n");
// 文字列に10進数を埋め込み
printf("10進数 : %d\n",n);
// 文字列に16進数で埋め込み
printf("16進数 : %X\n",n);
// 文字列に実数を埋め込み
printf("実数 : %f\n",d);
// 整数を8桁でそろえて埋め込み
printf("右詰8桁 : %8d\n",n);
// 整数を左詰8桁で埋め込み
printf("左詰8桁 : %-8d\n",n);
// 整数を8桁&ゼロ詰めで埋め込み
printf("8桁ゼロ詰め : %08d\n",n);
// 実数を小数点以下2桁で埋め込み
printf("小数点以下2桁 : %.2f\n",d);
}
実行例
Z:\myc> helloprintf3.exe
Hello
10進数 : 15
16進数 : F
実数 : 1.234568
右詰8桁 : 15
左詰8桁 : 15
8桁ゼロ詰め : 00000015
小数点以下2桁 : 1.23
scanf 関数のフォーマット機能は
printf 関数のものと同様である。
helloscanf2.c (課題3)
#include <stdio.h>
int main(void){
char hinmei[100];
int tanka=0;
int kosuu=0;
printf("「品名 単価 個数」を入力し");
printf("Enter を押してください\n");
scanf("%s %d %d",hinmei,&tanka,&kosuu);
printf("品名=%s,単価=%d,個数=%d,合計=%d 円\n",hinmei,tanka,kosuu,tanka * kosuu);
}
実行例
Z:\myc> helloscanf2.exe
「品名 単価 個数」を入力しEnter を押してください
ringo 115 3
品名=ringo,単価=115,個数=3,合計=345 円
Z:\myc>
上記課題1、2、3を作成し、メールで提出する。
ファイル名は helloprintf2.c helloprintf3.c helloscanf2.c とすること
締め切りは 次回授業まで
プログラムの作成には「ヘルプページ」を参考にすること