⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 count.c

📁 FERET人脸库的处理代码。内函预处理
💻 C
字号:
/*________________________________________________________________  count.c  Ali J. Azarbayejani 17 March 1994 (originated)  CONTENTS:  DESCRIPTION:    Outputs a list of formatted numbers, intended for the    following UNIX use.    foreach i (`count -start 0 -end 9 -inc 1`) ... end    foreach i (`count -fmt %.3d`) ... end  ________________________________________________________________*/#include <stdio.h>#include <stdlib.h>struct {  char	*progname;  int	verbose;  float	start;  float	end;  float	inc;  char	*fmt;}params = {  "", 0, 1., 1., 1., "%d"};static void  alert( char *s ){  fprintf( stderr, "%s: %s\n", params.progname, s );}static void  error( char *s ){  alert( s );  exit( -1 );}static void  usage( int argc, char **argv ){  static char *flags = "[-v] [-start #] [-end #] [-inc #] [-fmt <string>]";  static char *io    = "> (# # # ...)";  static char *help  = "foreach i (`count -end 10`) ...";  fprintf( stderr, "usage: %s %s\n\t%s\n%s", argv[0], flags, io, help );  exit(-1);}static void  parse_command_line( int argc, char **argv ){  int		i;  params.progname = argv[0];  for(i=1; i<argc; i++) {    if( !strcmp(argv[i], "-v") )      params.verbose = 1;    else if( !strcmp(argv[i], "-start") )      params.start = atof( argv[++i] );    else if( !strcmp(argv[i], "-end") )      params.end = atof( argv[++i] );    else if( !strcmp(argv[i], "-inc") )      params.inc = atof( argv[++i] );    else if( !strcmp(argv[i], "-fmt") )      params.fmt = argv[++i];    else      usage( argc, argv );  }}main( int argc, char **argv ){  /* Main variables */  int count;  float fcount;  /* First command */  parse_command_line( argc, argv );  if( params.verbose )    fprintf( stderr, "Start= %f, End= %f, Inc= %f\n",	    params.start, params.end, params.inc );  if( params.start > params.end )    error( "bad args" );    switch( params.fmt[ strlen(params.fmt)-1 ] ) {   case 'd':    if( params.verbose ) fprintf( stderr, "Integer\n" );    for( count = params.start; count <= params.end; count += params.inc ) {      printf( params.fmt, count );      printf( " " );    }    break;   case 'f': case 'g':    if( params.verbose ) fprintf( stderr, "Float\n" );    for( fcount = params.start; fcount <= params.end; fcount += params.inc ) {      printf( params.fmt, fcount );      printf( " " );    }    break;   default:    fprintf( stderr, "Bad format type\n" );  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -