9.4 程序设计题 1.设计一个复制文本文件的程序,源文件名和目标文件名随程序启动执行命令输入。 【解】直接写出程序如下: # include FILE *rfp,*wfp; int main( int argc, char *argv[]) { if( argc < 3) { printf("Parameters missing ! \n"); return 0 ; } if(((rfp= fopen(argv[1],"r"))== NULL) || ((=fopen(argv[2],"w"))== NLILL)) { printf("不能打开文件\n"); return 0; } while( ! feof(rfp)) fputc( fgetc(rfp), wfp); fclose(wfp);fclose(rfp); printf("程序结束\n"); return l; }
2.设计一个程序,将随启动程序执行时输入的两个整数的和、差、积、整除商、模运算的结果输出。 【解】直接写出程序如下: # include main( int argc,char *argv[]) { int tl,t2; if( argc < 3) { printf("Parmenters missing!\n"); return 0; } t1=atoi( argv[l] );t2=atoi( argv[2] ); printf("%d+%d=%d\n", t1, t2, t1+t2); printf("%d-%d=%d\n", t1,t1,t1-t2); printf("%d*%d=%d \n",t1,t2,t1*t2); printf("%d/%d=%d\n",t1,t2, t1/t2); printf("%d% %d=%d\n",t1,t2, t1%t2); }
3.设计一个比较字符串的程序,两个字符串随启动程序执行的命令输入,输出其中大的字符串。 【解】直接写出程序如下: # include main(int argc,char *argv[]) { char *s1,*s2; if( argc < 3) { printf("Parameters missing! \n");return 0; } for(s1=argv[1],s2=argv[2];*s1 && *s1==*s2;s1++,s2++ ); printf("%s\n",*s1< *s2? argv[2]:argv[1]); } |