RIGHT:[[ProgI]]
----
*Report#6 コマンドラインパラメータ(大小文字変換) [#x77fda6e]
 コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ。入力は1バイトの表示可能文字とし、アルファベット文字以外は変換しない。
 また、文字列を反転して表示するプログラムも作成せよ。(例 "abcd" => "dcba")
 
  例:
     入力           出力
      Abc        ->  aBC
      string001  ->  STRING001
 
 プログラムには以下の関数を定義して作成すること。
 
   replace( char *dest, char *str)
     引数で指定された文字列の大文字と小文字を変換するプログラム。
     strを変換し、destに変換結果を代入する。
     [引数]  dest : 変換結果の複写先
             str  : 変換対象の文字列
 
  使用例:
     void replace(dest, str)
     char *dest, *str;
 
  実行例:
     a.out This is sample STRING Asm#6.
     'This' -> 'tHIS'
     'is' -> 'IS'
     'sample' -> 'SAMPLE'
     'STRING' -> 'string'
     'Asm#6' -> 'aSM#6'
 
**サンプルプログラムと実行例 [#e24ebb70]
 pw010% cat argcv.c
 /*
   Program    : argcv.c
   Comment    : コマンドラインパラメータ、任意の実行可能ファイル名の作成
 */
 
 #include <stdio.h>
 
 int  get_n(char *);
 void print_data(char *,int);
 
 int main(int argc, char **argv){
   int   i,n;
 
   printf("argc = %d\n\n",argc);
   for (i=1,argv++; *argv != NULL; i++,argv++) {
     printf("parameter(%2d)\t%s\n",i,*argv);
     n = get_n(*argv);
     print_data(*argv,n);
   }
   return(0);
 }
 
 int get_n(char *pa){
   int i;
 
   for (i=0; *pa != NULL; i++,pa++);
   return(i);
 }
 
 void print_data(char *pa,int n){
   printf("n=%2d  %s\n",n,pa);
 }
 
 /*************************************************************** Result
 pw010% cc argcv.c -o prog
 pw010% prog a bb ccc dddd eeeee
 argc = 6
 
 parameter( 1)   a
 n= 1  a
 parameter( 2)   bb
 n= 2  bb
 parameter( 3)   ccc
 n= 3  ccc
 parameter( 4)   dddd
 n= 4  dddd
 parameter( 5)   eeeee
 n= 5  eeeee
 **********************************************************************/
----
&size(24){''ヒント''};
-&ref(argcv1.c,,ヒント#1);
----
CENTER:[[Report#5>ProgI/Report-No.5]]<==>[[Report#7>ProgI/Report-No.7a]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS