実行例のようにコマンド引数に指定した整数値に基づいて描画するプログラムを作り
なさい.コマンド引数が指定されなかった場合には,エラーメッセージを表示してプ
ログラムを停止させること.
ファイル名はexB3.c
実行例
% ./exB3 1
A
% ./exB3 2
AB
AA
% ./exB3 3
ABB
AAB
AAA
% ./exB3 4
ABBB
AABB
AAAB
AAAA
% ./exB3 5
ABBBB
AABBB
AAABB
AAAAB
AAAAA
% ./exB3
コマンド引数が足りません
%
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n, i, j;
n=atoi(argv[1]);
if(argv[1]==NULL)
{
printf("コマンド引数が足りません\n");
return 1;
}
for(i=1; i<=n; i++)
{
for(j=1; j<=i; j++)
{
printf("A ");
}
for(j=i+1; j<=n; j++)
{
printf("B ");
}
printf("\n");
}
return 0;
}
数を10個読み込み,総和を計算するプログラムを作成しなさい.
ファイル名はexB4.c
実行例
% ./exB4
総和は 55
%
exB4.txtの例
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
// ここから
// ここまでのプログラムを書く
}
#include <stdio.h>
int main(void)
{
FILE *fp;
int a[10], i, j, sum;
if((fp=fopen("exB4.txt", "w"))==NULL)
{
printf("ファイルオープンエラー\n");
return 1;
}
for(i=0; i<10; i++)
{
i=i+1;
}
fpinrtf(fp, "%d\n", );
sum=0;
for(j=0; j<10; j++)
{
sum=sum+a[j];
}
printf("総和は%d", sum);
fclose(fp);
return 0;
}
い値をminが指す変数へ代入する.
void setMaxMin(int *max, int *min);
main関数では,コマンド引数を使って2つの整数を入力し,setMaxMin関数を呼んでか
ら2つの整数値を出力する. setMaxMin関数においては,ex56.c(第5回の課題6)の
swap関数を利用すること.
プログラムファイル名はexB5.c
setMaxMinおよびswap関数にはprintf, scanfを書いてはいけない.main関数にはコ
マンド引数をチェックする以外のif文を書いてはいけない.大域変数を使ってはいけ
ない.
実行例
% ./exB5
コマンド引数が足りません
% ./exB5 10
コマンド引数が足りません
% ./exB5 3 5
大きい値 5
小さい値 3
% ./exB5 4 2
大きい値 4
小さい値 2
%
#include <stdio.h>
#include <stdlib.h>
void swap(int *x, int *y);
void setMaxMin(int *max, int *min);
int main(int argc, char *argv[])
{
int a, b;
// ここから
setMaxMin( … );
// ここまでのプログラムを書く
printf("大きい値 %d¥n", a);
printf("小さい値 %d¥n", b);
return 0;
}
void swap(int *x, int *y)
{
// ここから
// ここまでのプログラムを書く
}
void setMaxMin(int *max, int *min)
{
// ここから
// ここまでのプログラムを書く
}
下記はex56.c
#include <stdio.h>
void swap(int *x, int *y);
int main(void)
{
int a, b;
printf("整数を2つ入力\n");
scanf("%d %d", &a, &b);
printf("swap前:%d %d\n" a, b);
swap();
printf("swap後:%d %d\n" a, b);
return 0;
}
void swap(int *x, int *y)
{
*y = ;
*x = ;
return a, b;
}
ルに2つ目の文字列を書き込むプログラムを作成しなさい.
ファイル名はexB6.c
実行例
% ./exB6
コマンド引数が足りません
% ./exB5 exB6.txt
コマンド引数が足りません
% ./exB6 exB6.txt TXT
% cat exB6.txt
TXT
%