设为首页 加入收藏

TOP

计算机等级考试二级C语言程序设计专项训练题——程序设计题(三)(一)
2023-07-23 13:32:21 】 浏览:247
Tags:计算机 程序设 计专项 计题

21、请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,若二维数组中的数据为
W W W W
S S S S
H H H H
则字符串中的内容应是:WSHWSHWSHWSH。
注意:请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include<stdio.h>
#define  M  3
#define  N  4
void fun(char (*s)[N],char *b)
{
}
int main()
{
  char a[100],w[M][N]={{ 'W', 'W', 'W', 'W'},{'S', 'S', 'S', 'S'},{'H', 'H', 'H', 'H'}};
  int i,j;
  printf("The matrix:\n");
  for(i=0;i<M;i++)
  {
      for(j=0;j<N;j++)
        printf("%3c",w[i][j]);
      printf("\n");
  }
  fun(w,a);
  printf("The A string:\n");
  puts(a);
  printf("\n ");
  return 0;
}
void fun(char (*s)[N],char *b)
{
    int i,j,k=0;
    for (i=0;i<N;i++)
        for (j=0;j<M;j++)
           b[k++]=s[j][i];
    b[k]='\0';
}
参考程序

22、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include<stdio.h>
#define N 10
typedef struct ss    /*定义结构体*/
{ char num[10];
  int s;
} STU;
fun(STU a[], STU *s)
{
}
int 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;
    printf("*****The original data*****");
    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);
    return 0;
}
fun(STU a[], STU *s)
{
    STU m;
    m=a[0];
    int i;
    for (i=1;i<N;i++)
        if (m.s<a[i].s) m=a[i];
    *s=m;
}
参考程序

23、请编写函数fun,其功能是:计算并输出3~n之间所有素数的平方根之和。
例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。
注意:n的值要大于2但不大于100。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include <stdio.h>
#include <math.h>
double fun(int n)
{
}
int main()
{
    int n;
    double sum;
    printf("Input  n=");
    scanf("%d",&n);
    sum=fun(n);
    printf("\nsum=%f\n",sum);
    return 0;
}
double fun(int n)
{
    int i,j;
    double s=0;
    for (i=3;i<=n;i+=2)
    {
        for (j=3;j<=sqrt(i);j+=2)
            if (i%j==0) break;
        if (j>sqrt(i)) s+=sqrt(i);
    }
    return s;
}
参考程序
24、请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#define N 80
int fun(char *str)
{
}
int main()
{
    char s[N];
    int i;
    printf("Enter a string : ");
    gets(s);
    printf("\n");
    puts(s);
    if(fun(s))
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}
int fun(char *str)
{
    int i,j;
    for (i=0;str[i]!='\0';i++) ;
    j=i-1;
    i=0;
    while (i<j)
    {
        if (str[i]!=str[j]) break;
        i++;  j--;
    }
    if (i<j) return 0;
    else return 1;
}
参考程序
25、请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。例如,原来的字符串为"CEAedca",排序后输出为"CedcEAa"。
注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h>
#include <string.h>
void fun(char *s,int num)
{
}
int main()
{
  char s[10];
  printf("输入7个字符的字符串:");
  gets(s);
  fun(s,7);
  printf("\n%s",s);
  return 0;
}
void fun(char *s,int
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇OpenGL ES glfw 下载和使用 下一篇计算机等级考试二级C语言程序设计..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目