首页 计算机二级C语言上机题

计算机二级C语言上机题

举报
开通vip

计算机二级C语言上机题 1、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。    例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,    函数fun返回值为:11    注意: 部分源程序在文件PROG1.C文件中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void   int fun(char *s)   { }   main()   { char *s...

计算机二级C语言上机题
 1、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。    例如,s所指字符串中的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 是:2def35adh25 3kjsdf 7/kj8655x,    函数fun返回值为:11    注意: 部分源程序在文件PROG1.C文件中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void   int fun(char *s)   { }   main()   { char *s="2def35adh25 3kjsdf 7/kj8655x";    printf("%s\n",s);    printf("%d\n",fun(s));   }  2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。)    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   void fun(char(*a)[81],int num,char **max)   {    /* 以下代码仅供参考 */    int i,k=0,len, maxlen; /* k为a数组中最长串所在元素的下标,初始为0,maxlen为其串长 */    maxlen=strlen(a[k]);    for(i=1;i   {    /* 以下完成查找最长串 */    }    *max=a[k];   }   main()   {    char ss[10][81],*ps;void    int n,i=0;    printf("输入若干个字符串:");    gets(ss[i]);    puts(ss[i]);    while(!strcmp(ss[i],"****")==0)    {    i++;    gets(ss[i]);    puts(ss[i]);    }    n=i;    fun(ss,n,&ps);    printf("\nmax=%s\n",ps);   }  3、请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。    例如,若输入字符串: 123412132,输入字符为: 1,则输出:3。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define M 81   int fun(char *ss, char c)   {   }   main()   { char a[M], ch;    void    printf("\nPlease enter a string:"); gets(a);    printf("\nPlease enter a char:"); ch = getchar();    printf("\nThe number of the char is: %d\n", fun(a, ch));   }  4、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。    例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun( char *a )   {   }   main()   { char s[81];    void    printf("Enter a string:\n");gets(s);    fun( s );    printf("The string after deleted:\n");puts(s);   } 5、请编写一个函数void fun (char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中, a指向原字符串, 删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。    例如,输入一个字符串: World,然后输入3,则调用该函数后的结果为: Word。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define LEN 20   void fun (char a[], char b[], int n)   {   }   main( )   { char str1[LEN], str2[LEN] ;    int n ;    void    printf("Enter the string:\n") ;    gets(str1) ;    printf("Enter the index of the char deleted:") ;    scanf("%d", &n) ;    fun(str1, str2, n) ;    printf("The new string is: %s\n", str2) ;   }   6、请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若 w 是 n (n ≥ 2)位的整数,函数求出w的低 n-1位的数作为函数值返回。    例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。    注意: 部分源程序存在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   unsigned fun ( unsigned w )   {   }   main( )   {    void    unsigned x;    printf ( "Enter a unsigned integer number : " ); scanf ( "%u", &x );    printf ( "The original data is : %u\n", x );    if ( x < 10 ) printf ("Data error !");    else printf ( "The result : %u\n", fun ( x ) );   }  7、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是: 除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。    例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用C语言提供的字符串函数。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun( char *a, char *h,char *p )   {   }   main()   { char s[81],*t, *f;    void    printf("Enter a string:\n");gets(s);    t=f=s;    while(*t)t++;    t--;    while(*t=='*')t--;    while(*f=='*')f++;    fun( s , f,t );    printf("The string after deleted:\n");puts(s);   }  8、已知学生的记录由学号和学习成绩构成,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    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);   }  9、请编写函数 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    printf ( "The original data is : \n" );    for ( i=0; i   { for ( j =0; j   printf ("\n");    }    y = fun ( aa );    printf( "\nThe sum: %d\n" , y );    printf("\n");   }  10、程序定义了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    double s ;    printf("***** The array *****\n");    for ( i =0; i   { for ( j =0; j   { printf( "M", a[i][j] ); }    printf("\n");    }    s = fun ( a );    printf ("***** THE RESULT *****\n");    printf( "The sum is : %lf\n",s );   } 11、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。    例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun( char *a )   {   }   main()   { char s[81];    void    printf("Enter a string:\n");gets(s);    fun( s );    printf("The string after deleted:\n");puts(s);   }  12、请编写函数fun,其功能是: 将所有大于1小于整数m的非素数存入xx所指数组中, 非素数的个数通过k传回。    例如,若输入:17,则应输出:4 6 8 9 10 12 14 15 16。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun( int m, int *k, int xx[] )   {   }   main()   {    int m, n, zz[100];    void    printf( "\nPlease enter an integer number between 10 and 100: " );    scanf( "%d", &n );    fun( n, &m, zz );    printf( "\n\nThere are %d non-prime numbers less than %d:", m, n );    for( n = 0; n < m; n++ )    printf( "\n M", zz[n] );   }   13、已知学生的记录由学号和学习成绩构成,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 ( )   {    void    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;    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 top : %s , %d\n",m.num, m.s);   } 14、学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #define N 16   typedef struct   { char num[10];    int s;   } STREC;   int fun( STREC *a, STREC *b )   {   }   main()   { STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},    {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},    {"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},    {"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};    STREC h[N];    int i,n;FILE *out ;    n=fun( s,h );    printf("The %d highest score :\n",n);    for(i=0;i   printf("%s M\n",h[i].num,h[i].s);    printf("\n");    out = fopen("c:\\test\\out.dat","w") ;    fprintf(out, "%d\n",n);    for(i=0;i   fprintf(out, "M\n",h[i].s);    fclose(out);   } 15、请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。    例如, 二维数组中的数据为:    W W W W    S S S S    H H H H    则字符串中的内容应是: WSHWSHWSHWSH。    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   #include   #define M 3   #define N 4   void fun(char s[][N], char *b)   {    int i,j,n=0;    for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */    {   }    b[n]='\0';   }   main()   { char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};    int i,j;void    printf("The matrix:\n");    for(i=0; i   { for(j=0;j 16、编写函数fun, 函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #define MAX 100   int fun(int lim, int aa[MAX])   {    /* 以下代码仅供参考 */    int i,j,k=0;    /* 其中变量k用于统计素数个数 */    for(i=2;i<=lim;i++)    {    /* 以下找出小于或等于lim的素数存入aa数组中并统计素数个数 */    }    return k;   }   main()   {    int limit, i, sum;void    int aa[MAX] ;    printf("输入一个整数:");    scanf("%d", &limit);    sum=fun(limit, aa);    for(i=0 ; i < sum ; i++) {    if(i % 10 == 0 && i != 0) printf("\n") ;    printf("]", aa[i]) ;    }   } 17、请编写函数fun,它的功能是: 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在a所指的数组中,通过 n 返回这些数的个数。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun (int *a, int *n)   {   }   main( )   { int aa[1000], n, k ;    void    fun ( aa, &n ) ;    for ( k = 0 ; k < n ; k++ )    if((k + 1) % 10 == 0) printf("\n") ;    else printf("]", aa[k]) ;   } 18、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。    例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:78.875。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。   #include   #define N 8   typedef struct   { char num[10];    double s[N];    double ave;   } STREC;   void fun(STREC *a)   {   }   main()   { STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};    int i;    void    fun( &s );    printf("The %s's student data:\n", s.num);    for(i=0;i   printf("%4.1f\n",s.s[i]);    printf("\nave=%7.3f\n",s.ave);   }  19、函数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    printf("\nPlease enter string S:"); scanf("%s", s);    fun(s, t);    printf("\nThe result is: %s\n", t);   } 20、编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。    迭代步骤如下:(1)取 x1 初值为0.0;(2)x0 = x1,把x1的值赋给 x0;(3)x1 = cos(x0),求出一个新的x1;(4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执    行步骤(2);(5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。    程序将输出结果Root=0.739086。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   double fun()   {   }   main()   {    void    printf("Root =%f\n", fun());   }  21、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做, 字符串中间和前面的*号不删除。    例如,字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun( char *a,int n )   {   }   main()   { char s[81]; int n;    void    printf("Enter a string:\n");gets(s);    printf("Enter n : ");scanf("%d",&n);    fun( s,n );    printf("The string after deleted:\n");puts(s);   }  22、请编写一个函数,函数的功能是删除字符串中的所有空格。    例如, 主函数中输入"asd af aa z67", 则输出为 "asdafaaz67"。    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   void fun(char *str)   {   }   main()   {    char str[81];void    printf("Input a string:") ;    gets(str);    puts(str);    fun(str);    printf("*** str: %s\n",str);   } 23、请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入 (规定实型数为正数)。    例如:实型数为 1234.567, 则函数返回 1234.570000;    实型数为 1234.564, 则函数返回 1234.560000。    注意: 部分源程序存在文件PROG1.C文件中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   float fun ( float h )   {   }   main( )   { float a;void    printf ("Enter a: "); scanf ( "%f", &a );    printf ( "The original data is : " );    printf ( "%f \n\n", a );    printf ( "The result : %f\n", fun ( a ) );   }  24、请编写一个函数 void fun(char *tt, int pp[]),统计在tt所指字符串中'a' 到 'z' 26个小写字母各自出现的次数,并依次放在pp所指数组中。    例如,当输入字符串:abcdefgabcdeabc 后,程序的输出结果应该是:    3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   void fun(char *tt, int pp[])   {   }   main( )   { char aa[1000] ;    int bb[26], k ;    void    printf( "\nPlease enter a char string:" ) ; scanf("%s", aa) ;    fun(aa, bb ) ;    for ( k = 0 ; k < 26 ; k++ ) printf ("%d ", bb[k]) ;    printf( "\n" ) ;   } 25、请编写函数fun, 对长度为7个字符的字符串, 除首、尾字符外,将其余5个字符按ASCII码降序排列。    例如,原来的字符串为 CEAedca,排序后输出为 CedcEAa 。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #include   void fun(char *s,int num)   {   }   main()   {    void    char s[10];    printf("输入7个字符的字符串:");    gets(s);    fun(s,7);    printf("\n%s",s);   }  26、编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:    F(0)=0,F(1)=1    F(n)=F(n-1)+F(n-2)    例如:当t = 1000时,函数值为:1597。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   int fun( int t)   {   }   main() /* 主函数 */   { int n;    void    n=1000;    printf("n = %d, f = %d\n",n, fun(n));   }  27、请编写函数fun,函数的功能是: 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, 平移到字符串的最后, 把第m+1到最后的字符移到字符串的前部。    例如, 字符串中原有的内容为: ABCDEFGHIJK, m的值为3, 则移动后, 字符串中的内容应该是: DEFGHIJKABC。    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define N 80   void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置 */   {    int i; char t;    t=w[0];    for(i=0;i<(int)strlen(w)-1;i++)    w[i]=w[i+1];    w[strlen(w)-1]=t;   }   void fun(char *w, int m) /* 可调用fun1函数左移字符 */   { }   main()   { char a[N]= "ABCDEFGHIJK";    int m;void    printf("The original string:\n");puts(a);    printf("\n\nEnter m: ");scanf("%d",&m);    fun(a,m);    printf("\nThe string after moving:\n");puts(a);    printf("\n\n");   } 28、请编写函数fun,其功能是将形参s所指的字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。    注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。   #include   #define N 20   void   void fun( char *a , char *s)   {   }   main()   { char s1[N], *s2="abcdefghijk";    fun( s1,s2);    printf("%s\n", s1);    printf("%s\n", s2);   }  29、请编一个函数fun(char *s),函数的功能是把s所指字符串中的内容逆置。    例如:字符串中原有的字符串为:abcdefg,    则调用该函数后, 串中的内容为:gfedcba。    注意: 部分源程序存在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define N 81   void fun ( char *s )   {   }   main( )   {    void    char a[N];    printf ( "Enter a string : " ); gets ( a );    printf ( "The original string is : " ); puts( a );    fun ( a );    printf("\n");    printf ( "The string after modified : ");    puts ( a );   }  30、请编写函数fun,其功能是:将一组得分中,去掉一个最高分和一个最低分,然后求平均值,并通过函数返回。函数形参a指向存放得分的数组,形参n中存放得分个数(n>2)。    例如,若输入9.9 8.5 7.6 8.5 9.3 9.5 8.9 7.8 8.6 8.4十个得分,则输出结果为:8.687500。    注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。   #include   void   double fun(double a[ ] , int n)   {   }   main()   { double b[10], r; int i;    printf("输入10个分数放入b数组中 : ");    for (i=0; i<10; i++) scanf("%lf",&b[i]);    printf("输入的10个分数是 : ");    for (i=0; i<10; i++) printf("%4.1lf ",b[i]); printf("\n");    r = fun(b, 10);    printf("去掉最高分和最低分后的平均分 : %f\n", r );   } 31、请编写函数fun, 函数的功能是:实现B=A+A', 即把矩阵A加上A的转置, 存放在矩阵B中。计算结果在 main 函数中输出。例如,输入下面的矩阵: 其转置矩阵为:    1 2 3 1 4 7    4 5 6 2 5 8    7 8 9 3 6 9    程序输出:    2 6 10    6 10 14    10 14 18    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   void fun ( int a[3][3], int b[3][3])   {   }   main( ) /* 主程序 */   { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ;    int i, j ;    void    fun(a, t) ;    for (i = 0 ; i < 3 ; i++) {    for (j = 0 ; j < 3 ; j++)    printf("}", t[i][j]) ;    printf("\n") ;    }   } 32、请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1。    注意:部分源程序存在PROG1.C中,请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define N 15   void   int fun( int *s, int x)   {   }   main()   { int a[N]={ 29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,index;    printf("a数组中的数据 :\n");    for(i=0; i   printf("给x输入待查找的数 : "); scanf("%d",&x);    index=fun( a, x );    printf("index=%d\n",index);   }  33、编写程序, 实现矩阵(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    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("}",array[i][j]);    printf("\n");    }    fun(array);    printf("Converted array:\n");    for (i=0;i<3;i++)    { for (j=0;j<3;j++)    printf("}",array[i][j]);    printf("\n");    }   } 34、N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。    例如,若学生的成绩是:85,76,69,85,91,72,64,87, 则平均分应当是:78.625。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   #define N 8   struct slist   { double s;    struct slist *next;   };   typedef struct slist STREC;   double fun( STREC *h )   {   }   STREC * creat( double *s)   { STREC *h,*p,*q; int i=0;    h=p=(STREC*)malloc(sizeof(STREC));p->s=0;    while(i   { q=(STREC*)malloc(sizeof(STREC));    q->s=s[i]; i++; p->next=q; p=q;    }    p->next=0;    return h;   }   outlist( STREC *h)   { STREC *p;    p=h->next; printf("head");    do    { printf("->%4.1f",p->s);p=p->next;}    while(p!=0);    printf("\n\n");   }   main()   { double s[N]={85,76,69,85,91,72,64,87},ave;    void    STREC *h;    h=creat( s ); outlist(h);    ave=fun( h );    printf("ave= %6.3f\n",ave);   }  35、编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为: asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。    注意:部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   int fun(char *str,char *substr)   {   }   main()   {    void    char str[81],substr[3];    int n;    printf("输入主字符串: ");    gets(str);    printf("输入子字符串: ");    gets(substr);    puts(str);    puts(substr);    n=fun(str,substr);    printf("n=%d\n",n);   }  36、编写函数fun,函数的功能是: 从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。    若程序执行时输入字符串为: turbo c and borland c++    从键盘上输入字符:n, 则输出后变为: turbo c ad borlad c++    如果输入的字符在字符串中不存在, 则字符串照原样输出。    注意: 部分源程序在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。   #include   #include   void fun(char s[],char c)   {   }   main()   {    void    static char str[]="turbo c and borland c++";    char ch;    printf("原始字符串:%s\n", str);    printf("输入一个字符:");    scanf("%c",&ch);    fun(str,ch);    printf("str[]=%s\n",str);   } 37、请编一个函数void fun(int tt[M][N ], int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。    注意: 部分源程序存在文件PROG1.C中。    请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。   #include   #define M 3   #defin
本文档为【计算机二级C语言上机题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_559143
暂无简介~
格式:doc
大小:399KB
软件:Word
页数:0
分类:计算机考试
上传时间:2012-05-23
浏览量:25