首页 将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除

将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除

举报
开通vip

将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除 一、填空题:给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。   请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 20   void fun(int *a)   {int i, x, n=0;   x=rand()%20;   /**...

将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除
一、填空题:给定程序中,函数fun的功能是:调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。   请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 20   void fun(int *a)   {int i, x, n=0;   x=rand()%20;   /**********found**********/   while (n<__1__)   {for(i=0; i< p>   /**********found**********/   if(x==a[i]) __2__;   /**********found**********/   if(i==__3__){a[n]=x; n++;}   x=rand()%20;   }   }   main()   {int x[N]={0} ,i;   fun(x);   printf("The result : \n");   for(i=0; i< p>   {printf("%4d",x[i]);   if((i+1)%5==0)printf("\n");   }   printf("\n\n");   }   解题 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 :   /**********第一空**********/   while (n   /**********第二空**********/   if(x==a[i]) break;   /**********第三空*********/   if(i==n){a[n]=x; n++;}   ****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是: 先从键盘上输入一个3行3列矩阵的各个元素的值, 然后输出主对角线元素之和。   请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。   注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   void fun()   {   int a[3][3],sum;   int i,j;   /*********found**********/   ______;   printf("Input data:");   for (i=0;i<3;i++)   {for (j=0;j<3;j++)   /*********found**********/   scanf("%d",a[i][j]);   }   for (i=0;i<3;i++)   sum=sum+a[i][i];   printf("Sum=%d\n",sum);   }   main()   {   fun();   }   解题答案:   /*********found**********/   sum=0;5   /*********found**********/   scanf("%d,",&a[i][j]);}   ****************************************** 三、程序题:编写程序, 实现矩阵(3行3列)的转置(即行列互换) 例如, 输入下面的矩阵:   100 200 300   400 500 600   700 800 900   程序输出:   100 400 700   200 500 800   300 600 900   注意: 部分源程序在文件PROG1.C中。   请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   void fun(int array[3][3])   {   }   main()   {   int i,j;void NONO ();   int array[3][3]={{100,200,300},{400,500,600},{700,800,900}};   for (i=0;i<3;i++)   {for (j=0;j<3;j++)   printf("%7d",array[i][j]);   printf("\n");   }   fun(array);   printf("Converted array:\n");   for (i=0;i<3;i++)   {for (j=0;j<3;j++)   printf("%7d",array[i][j]);   printf("\n");   }   NONO();   }   void NONO ()   {   /* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */   int i,j, array[3][3];   FILE *rf, *wf ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for (i=0;i<3;i++)   for (j=0;j<3;j++)   fscanf(rf, "%d", &array[i][j]);   fun(array);   for (i=0;i<3;i++)   {for (j=0;j<3;j++)   fprintf(wf, "%7d", array[i][j]);   fprintf(wf, "\n");   }   fclose(rf);   fclose(wf);   }   参考答案:   int fun(int array[3][3])   {   int i,j,arr[3][3] ;   memcpy(arr, array, 9*sizeof(int)) ;   for(i = 0 ; i < 3 ; i++)   for(j = 0 ; j < 3 ; j++)   array[i][j] = arr[j][i] ;   } _______________________________________________________________________________ 一、填空题:给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。   例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000   移动后的输出为:30 6 17 15 26 46 32 40 45 48   请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 10   double fun(double *x)   {int i, j; double av, y[N];   av=0;   /**********found**********/   for(i=0; i   for(i=j=0; i< p>   if(x[i]   /**********found**********/   y[j]=x[i]; x[i]=-1; __2__;}   i=0;   while(i   {if(x[i]!= -1) y[j++]=x[i];   /**********found**********/   __3__;   }   for(i=0; i   return av;   }   main()   {int i; double x[N];   for(i=0; i<>   printf("\nThe average is: %f\n",fun(x));   printf("\nThe result :\n",fun(x));   for(i=0; i<>   }   解题答案:   /*********第一空**********/   for(i=0; i   /**********第二空**********/   y[j]=x[i]; x[i]=-1; j++;}   /**********第三空**********/   i++;   ****************************************** 二、改错题:给定程序MODI1.C中函数 fun 的功能是:统计字符串中各元音字母(即:A、E、I、O、U)的个数。注意:字母不分大、小写。   例如:若输入:THIs is a boot,则输出应该是:1、0、2、2、0。   请改正程序中的错误,使它能得出正确的结果。   注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   void fun (char *s, int num[5])   {int k, i=5;   for (k = 0; k<>   /**********found**********/   num[i]=0;   for (; *s; s++)   {i = -1;   /**********found**********/   switch (s)   {case 'a': case 'A': {i=0; break;}   case 'e': case 'E': {i=1; break;}   case 'i': case 'I': {i=2; break;}   case 'o': case 'O': {i=3; break;}   case 'u': case 'U': {i=4; break;}   }   if (i >= 0)   num[i]++;   }   }   main()   {char s1[81]; int num1[5], i;   printf("\nPlease enter a string: "); gets(s1);   fun (s1, num1);   for (i=0; i < 5; i++) printf ("%d ",num1[i]); printf ("\n");   }   解题答案:   /**********found**********/   num[k]=0;   /**********found**********/   switch(*s)   ****************************************** 三、程序题:请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。   例如:二维数组中的值为   1 3 5 7 9   2 9 9 9 4   6 9 9 9 8   1 3 5 7 0   则函数值为 61。   注意: 部分源程序存在文件PROG1.C文件中。   请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   #define M 4   #define N 5   int fun (int a[M][N])   {   }   main()   {int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8}, {1,3,5,7,0}};   int i, j, y;void NONO ();   printf ("The original data is : \n");   for (i=0; i< p>   {for (j =0; j< j++)>   printf ("\n");   }   y = fun (aa);   printf("\nThe sum: %d\n" , y);   printf("\n");   NONO();   }   void NONO ()   {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */   int i, j, y, k, aa[M][N] ;   FILE *rf, *wf ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for(k = 0 ; k < 10 ; k++) {   for(i = 0 ; i < M ; i++)   for(j = 0 ; j < N ; j++) fscanf(rf, "%d", &aa[i][j]);   y = fun (aa);   fprintf(wf, "%d\n", y);   }   fclose(rf);   fclose(wf);   }   参考答案:   int fun ( int a[M][N] )   {   int tot = 0, i, j ;   for(i = 0 ; i < N ; i++) {   tot += a[0][i] ;   tot += a[M-1][i] ;   }   for(i = 1 ; i < M - 1 ; i++) {   tot += a[i][0] ;   tot += a[i][N-1] ;   }   return tot ;   } _____________________________________________________________________________ 一、填空题:给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。   例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为: 30.500000   移动后的输出为:46 32 40 45 48 30 6 17 15 26   请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结 果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 10   double fun(double *x)   {int i, j; double s, av, y[N];   s=0;   for(i=0; i   /**********found**********/   av=__1__;   for(i=j=0; i<>   if(x[i]>av){   /**********found**********/   y[__2__]=x[i]; x[i]=-1;}   for(i=0; i<>   /**********found**********/   if(x[i]!= __3__) y[j++]=x[i];   for(i=0; i   return av;   }   main()   {int i; double x[N];   for(i=0; i< printf(?%4.0f i++){x[i]="rand()%50;">   printf("\nThe average is: %f\n",fun(x));   printf("\nThe result :\n",fun(x));   for(i=0; i< printf(?%5.0f>   }   解题答案:   /*********第一空**********/   av=s/N;   /**********第二空**********/   y[j++]=x[i]; x[i]=-1;}   /**********第三空**********/   if(x[i]!= -1) y[j++]=x[i];   ****************************************** 二、改错题:给定程序MODI1.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。   例如,若输入:I am a student to take the examination.,   则应输出:I Am A Student To Take The Examination.。   请改正程序中的错误,使程序能得出正确的结果。   注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   /************found************/   include   /************found************/   upfst (char p)   {int k=0;   for (; *p; p++)   if (k)   {if (*p == ' ') k = 0;}   else if (*p != ' ')   {k = 1; *p = toupper(*p);}   }   main()   {char chrstr[81];   printf("\nPlease enter an English text line: "); gets(chrstr);   printf("\n\nBefore changing:\n %s", chrstr);   upfst(chrstr);   printf("\nAfter changing:\n %s\n", chrstr);   }   解题答案:   /************found************/   #include   /************found************/   upfst(char *p)   ****************************************** 三、程序题:程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。   例如:a 数组中的值为   |0 1 2 7 9|   |1 9 7 4 5|   a = |2 3 8 3 1|   |4 5 6 8 2|   |5 9 1 4 1|   则返回主程序后s的值应为: 3.375。   注意: 部分源程序存在文件PROG1.C文件中。   请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   #include   #define N 5   double fun (int w[][N])   {   }   main ()   {int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5, 9,1,4,1};   int i, j;void NONO ();   double s ;   printf("***** The array *****\n");   for (i =0; i<>   {for (j =0; j<>   {printf("%4d", a[i][j]);}   printf("\n");   }   s = fun (a);   printf ("***** THE RESULT *****\n");   printf("The sum is : %lf\n",s);   NONO();   }   void NONO ()   {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */   FILE *rf, *wf ;   int i, j, a[5][5]; double s ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for(i = 0 ; i < 5 ; i++)   for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d ", &a[i][j]);   s = fun(a);   fprintf(wf, "%lf\n", s);   fclose(rf);   fclose(wf);   }   参考答案:   double fun ( int w[][N] )   {   int i, j, n=0;   double sum=0;   for ( i =0; i< ) i++>   sum+=w[0][i]+w[N-1][i]; n+=2;   }   for ( i =1; i< ) i++ 1; ->   sum +=w[i][0]+w[i][N-1];   n+=2;   }   return sum/n;   } 一、填空题:给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。   例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为: 30.500000   主函数中输出:m=30.0   请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 10   double fun(double x[],double *av)   {int i,j; double d,s;   s=0;   for(i=0; i< s="s" i++) p>   /**********found**********/   __1__=s/N;   d=32767;   for(i=0; i<>   if(x[i]<*av && *av - x[i]<=d){   /**********found**********/   d=*av-x[i]; j=__2__;}   /**********found**********/   return __3__;   }   main()   {int i; double x[N],av,m;   for(i=0; i< printf(?%4.0f i++){x[i]="rand()%50;">   m=fun(x,&av);   printf("\nThe average is: %f\n",av);   printf("m=%5.1f ",m);   printf("\n");   }   解题答案:   /*********第一空**********/   *av=s/N;   /**********第二空**********/   d=*av-x[i]; j=i;}   /**********第三空**********/   return x[j];   ****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是:根据整型形参n,计算如下公式的值。   例如,若 n=10,则应输出: 0.617977。   请改正程序中的语法错误,使它能得出正确结果。   注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   /************found************/   int fun (int n)   {float A=1; int i;   /************found************/   for (i=2; i<>   A = 1/(1+A);   return A ;   }   main()   {int n ;   printf("\nPlease enter n: ");   scanf("%d", &n);   printf("A%d=%f\n", n, fun(n));   }   解题答案:   /************found************/   float fun(int n)   /************found************/   for(i=2;i<=n;i++)   ******************************************  三、程序题:程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m 。   例如:若m的值为2,a 数组中的值为   | 1 9 7 | | 2 18 14|   a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 2 6 16|   | 4 5 6 | | 4 5 12|   注意: 部分源程序存在文件PROG1.C文件中。   请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   #include   #define N 5   void fun (int a[][N], int m)   {   }   main ()   {int a[N][N], m, i, j;void NONO ();   printf("***** The array *****\n");   for (i =0; i<>   {for (j =0; j<>   {a[i][j] = rand()%20; printf("%4d", a[i][j]);}   printf("\n");   }   do m = rand()%10 ; while (m>=3);   printf("m = %4d\n",m);   fun (a ,m);   printf ("THE RESULT\n");   for (i =0; i<>   {for (j =0; j< printf(?%4d?, j++)>   printf("\n");   }   NONO ();   }   void NONO ()   {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */   FILE *rf, *wf ;   int i, j, n, a[5][5] ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for(i = 0 ; i < 5 ; i++)   for(j = 0 ; j < 5 ; j++)   fscanf(rf, "%d ", &a[i][j]);   fscanf(rf, "%d", &n);   fun(a, n);   for (i = 0; i < 5; i++) {   for (j = 0; j < 5; j++) fprintf(wf, "%4d", a[i][j]);   fprintf(wf, "\n");   }   fclose(rf);   fclose(wf);   }   参考答案:   int fun ( int a[][N], int m )   {   int i, j;   for(i = 0 ; i < N ; i++)   for(j = i ; j < N ; j++)   a[i][j] *= m ;   } ______________________________________________________________________________  一、填空题:给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中, 在主函数中输出。   例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为: 30.500000   主函数中输出:46 32 40 45 48   请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #define N 10   double fun(double x[],double *y)   {int i,j; double av;   /**********found**********/   av=__1__;   /**********found**********/   for(i=0; i< + av="av" i++) p>   for(i=j=0; i<>   /**********found**********/   if(x[i]>av) y[__3__]= x[i];   y[j]=-1;   return av;   }   main()   {int i; double x[N],y[N];   for(i=0; i< printf(?%4.0f i++){x[i]="rand()%50;">   printf("\nThe average is: %f\n",fun(x,y));   for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]);   printf("\n");   }   解题答案:   /**********第一空**********/   av=0;   /**********第二空**********/   for(i=0; i< x[i]>   /**********第三空**********/   if(x[i]>av) y[j++]= x[i];   ****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。   1 1 1 1   y = ------- + --------- + --------- + …… + -------   100*100 200*200 300*300 m*m   例如,若m = 2000,则应输出: 0.000160。   请改正程序中的语法错误,使它能计算出正确的结果。   注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   /************found************/   fun (int m)   {double y = 0, d ;   int i ;   /************found************/   for(i = 100, i <= m, i += 100)   {d = (double)i * (double)i ;   y += 1.0 / d ;   }   return(y);   }   main()   {int n = 2000 ;   printf("\nThe result is %lf\n", fun (n));   }   解题答案:   /************found************/   double fun(int m)   /************found************/   for(i=100; i<=m; i+=100)   ****************************************** 三、程序题:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   #include   #define N 10   typedef struct ss   {char num[10]; int s;} STU;   void fun(STU a[], STU *s)   {   }   main ()   {STU a[N]={ {"A01",81},{"A02",89},{"A03",66}, {"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ;   int i;void NONO ();   printf("***** The original data *****\n");   for (i=0; i< N; i++)printf("No = %s Mark = %d\n", a[i].num,a[i].s);   fun (a, &m);   printf ("***** THE RESULT *****\n");   printf ("The lowest : %s , %d\n",m.num, m.s);   NONO();   }   void NONO ()   {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */   FILE *rf, *wf ;   STU a[N], m ;   int i ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for(i = 0 ; i < 10; i++) fscanf(rf, "%s %d", a[i].num, &a[i].s);   fun(a, &m);   fprintf (wf, "The lowest : %s, %d\n", m.num, m.s);   fclose(rf);   fclose(wf);   }   参考答案:   fun( STU a[], STU *s )   {   int i, min = a[0].s, j = 0;   for(i = 1 ; i < N ; i++)   if(min > a[i].s) { /* 如果最低分min仍大于当前分 */   j = i ; /* 记住位置 */   min = a[i].s ; /* 把当前分赋值给min */   }   *s = a[j] ;   } _______________________________________________________________________________ 一、填空题:给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。   例如,s所指字符串为:asd123fgh5##43df,   处理后新字符串为:123543asdfgh##df。   请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。   注意:源程序存放在考生文件夹下BLANK1.C中。   不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   #include   #include   char *fun(char *s)   {int i, j, k, n; char *p, *t;   n=strlen(s)+1;   t=(char*)malloc(n*sizeof(char));   p=(char*)malloc(n*sizeof(char));   j=0; k=0;   for(i=0; i<>   {if(isdigit(s[i])) {   /**********found**********/   p[__1__]=s[i]; j++;}   else   {t[k]=s[i]; k++;}   }   /**********found**********/   for(i=0; i<__2__; i++) p[j+i]= t[i];   p[j+k]=0;   /**********found**********/   return __3__;   }   main()   {char s[80];   printf("Please input: "); scanf("%s",s);   printf("\nThe result is: %s\n",fun(s));   }   解题答案:   /**********第一空**********/   p[j]=s[i]; j++;}   /**********第二空**********/   for(i=0; i   /**********第三空**********/   return p;   ****************************************** 二、改错题:给定程序MODI1.C中函数fun的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串   中的内容为"abcdefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应   该为"a4b3c2d1efg";而当a所指字符串中的内容为"1234",b所指字符串中的内容   为"abcdefg"时,c所指数组中的内容应该为"1g2f3e4dcba"。   请改正程序中的错误,使它能得出正确的结果。   注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!   给定源程序:   #include   #include   void fun(char *a, char *b, char *c)   {   int i , j; char ch;   i = 0; j = strlen(b)-1;   /************found************/   while (i > j)   {ch = b[i]; b[i] = b[j]; b[j] = ch;   i++; j--;   }   while (*a || *b) {   /************found************/   If (*a)   { *c = *a; c++; a++;}   if (*b)   { *c = *b; c++; b++;}   }   *c = 0;   }   main()   {   char s1[100],s2[100],t[200];   printf("\nEnter s1 string : ");scanf("%s",s1);   printf("\nEnter s2 string : ");scanf("%s",s2);   fun(s1, s2, t);   printf("\nThe result is : %s\n", t);   }   解题答案:   /************found************/   while(i   /************found************/   if(*a)   ****************************************** 三、程序题:函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。   例如,若s所指字符串中的内容为"ABCDEFG12345",其中字符C的ASCII码值为   奇数,在数组中的下标为偶数, 因此必须删除;而字符1的ASCII码值为奇数,在   数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是"BDF12345"。   注意: 部分源程序存在文件PROG1.C中。   请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   给定源程序:   #include   #include   void fun(char *s, char t[])   {   }   main()   {   char s[100], t[100];void NONO ();   printf("\nPlease enter string S:"); scanf("%s", s);   fun(s, t);   printf("\nThe result is: %s\n", t);   NONO();   }   void NONO ()   {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */   char s[100], t[100] ;   FILE *rf, *wf ;   int i ;   rf = fopen("in.dat","r");   wf = fopen("out.dat","w");   for(i = 0 ; i < 10 ; i++) {   fscanf(rf, "%s", s);   fun(s, t);   fprintf(wf, "%s\n", t);   }   fclose(rf);   fclose(wf);   }   参考答案:   void fun(char *s, char t[])   {   int i, j = 0 ;   for(i = 0 ; i < strlen(s) ; i++)   if(!((i % 2) ==0 && (s[i] % 2))) t[j++] = s[i] ;   t[j] = 0 ;   } _______________________________________________________________________________ 找工作,来深圳英才网:http://0755.job1001.com
本文档为【将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_251459
暂无简介~
格式:doc
大小:160KB
软件:Word
页数:21
分类:互联网
上传时间:2012-06-08
浏览量:952