//pe12-8.c #include<stdio.h> #include<stdlib.h> int *make_array(int elem,int val); void show_array(const int ar[],int n); int main(void) { int *pa; int size; int value; printf("Enter the number of elements:"); scanf("%d",&size); while(size>0) { printf("Enter the initialization calue:"); scanf("%d",&value); pa=make_array(size,value); if(pa) { show_array(pa,size); free(pa); } printf("Enter the number of elements(0 to quit):"); scanf("%d",&size); } printf("Done!"); return 0; } int * make_array(int elem,int val) { int *pa; int i; pa=(int *)malloc(elem*sizeof(int)); for(i=0;i<elem;i++) { pa[i]=val; } return pa; } void show_array(const int ar[],int n) { int i=0; for(i=0;i<n;i++) { printf("%4d",ar[i]); if((i+1)%8==0) putchar('/n'); } } //不读取任何参数或读取一个命令行参数。。。 #include<stdio.h> #include<stdlib.h> int main(int argc,char *argv[]) { FILE *fp; double n; double sum=0.0; int ct=0; if(argc==1) { fp=stdin; } else if(argc==2) { if((fp=fopen(argv[1],"r"))==NULL) { fprintf(stderr,"Can't open %s ",argv[1]); exit(EXIT_FAILURE); } } else { fprintf(stderr,"Usage %s filename:",argv[0]); exit(EXIT_FAILURE); } while(fscanf(fp,"%lf",&n)==1) { sum+=n; ++ct; } if(ct>0) { printf("Average of %d values=%f/n",ct,sum/ct); } else { printf("No valued data./n"); } return 0; } #include<stdio.h> #include<stdlib.h> #define BUF 256 int has_ch(char ch,const char * line); int main(int argc,char *argv[]) { FILE *fp; char ch; char line[BUF]; if(argc!=3) { printf("Usage: %s character filename/n",argv[0]); exit(1); } ch=argv[1][0]; if((fp=fopen(argv[2],"r"))==NULL) { printf("Can't open %s/n",argv[2]); exit(1); } while(fgets(line,BUF,fp)!=NULL) { if(has_ch(ch,line)) { fputs(line,stdout); } } fclose(fp); return 0; } int has_ch(char ch,const char * line) { while(*line) { if(ch==*line++) { return (1); } } return 0; }