上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
c语言 上机题库(34-52)
作者:未知 申领版权
2010年12月12日 共有 1134 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    34. 给定程序通过定义并赋初值的方式,利用结构体变量存储了一个学生的学号,姓名和3门课的成绩。函数FUN的功能是将学生的各科成绩都乘以一个系数a。
    #include    <stdio.h>
    typedef  struct
    {  int  num;
    char  name[9];
    float  score[3];
    }STU;
    void show(STU  tt)
    {  int  i;
    printf("%d  %s  :  ",tt.num,tt.name);
    for(i=0; i<3; i )
    printf("%5.1f",tt.score[i]);
    printf("\n");
    }
    /**********************************found*********************************/
    void modify(*ss,float  a)                                         STU
    {  int  i;
    for(i=0; i<3; i )
    /**********************************found*********************************/
    ss->___2___ *=a;                                       score[i]
    }
    main( )
    {  STU  std={ 1,"Zhanghua",76.5,78.0,82.0 };
    float  a;
    printf("\nThe original number and name and scores :\n");
    show(std);
    printf("\nInput a number :   ");  scanf("%f",&a);
    /**********************************found*********************************/
    modify(___3___,a);                                          &std
    printf("\nA result of modifying :\n");
    show(std);
    }
    
    35. 给定程序中,函数FUN的功能是:将形参指针所指结构体数组中的三个元素按NUM成员进行升序排列。
    #include    <stdio.h>
    typedef  struct
    {  int  num;
    char  name[10];
    }PERSON;
    /**********************************found*********************************/
    void fun(PERSON  ___1___)                                   *std
    {
    /**********************************found*********************************/
    ___2___  temp;                                          PERSON
    if(std[0].num>std[1].num)
    {  temp=std[0];  std[0]=std[1];  std[1]=temp;  }
    if(std[0].num>std[2].num)
    {  temp=std[0];  std[0]=std[2];  std[2]=temp; }
    if(std[1].num>std[2].num)
    {  temp=std[1];  std[1]=std[2];  std[2]=temp;  }
    }
    main( )
    {  PERSON  std[ ]={ 5,"Zhanghu",2,"WangLi",6,"LinMin" };
    int  i;
    /**********************************found*********************************/
    fun(___3___);                                               std
    printf("\nThe result is :\n");
    for(i=0; i<3; i )
    printf("%d,%s\n",std[i].num,std[i].name);
    }
    
    36. 给定程序中,函数FUN的功能是:将自然数1~10以及他们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
    #include    <math.h>
    #include    <stdio.h>
    int fun(char  *fname )
    {  FILE  *fp;      int  i,n;      float  x;
    if((fp=fopen(fname, "w"))==NULL)  return  0;
    for(i=1;i<=10;i )
    /**********************************found*********************************/
    fprintf(___1___,"%d %f\n",i,sqrt((double)i));                   fp
    printf("\nSucceed!!\n");
    /**********************************found*********************************/
    ___2___;                                                fclose(fp)
    printf("\nThe data in file :\n");
    /**********************************found*********************************/
    if((fp=fopen(___3___,"r"))==NULL)                         fname
    return  0;
    fscanf(fp,"%d%f",&n,&x);
    while(!feof(fp))
    {  printf("%d %f\n",n,x);   fscanf(fp,"%d%f",&n,&x);  }
    fclose(fp);
    return  1;
    }
    main( )
    {  char  fname[]="myfile3.txt";
    fun(fname);
    }
    37. 给定程序中,函数fun的功能是:将N X N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。
    例如,N=3,有下列矩阵 计算结果是
    1 2 3 3 1 2
    4 5 6 6 4 5
    7 8 9 9 7 8
    
    #include    <stdio.h>
    #define    N    4
    void fun(int  (*t)[N])
    {  int  i, j, x;
    /**********************************found*********************************/
    for(i=0; i<___1___; i )                                       N
    {
    /**********************************found*********************************/
    x=t[i][___2___] ;                                             n-1
    for(j=N-1; j>=0; j--)
    t[i][j]=t[i][j-1];
    /**********************************found*********************************/
    t[i][___3___]=x;                                             0
    }
    }
    main( )
    {  int  t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
    printf("The original array:\n");
    for(i=0; i<N; i )
    {  for(j=0; j<N; j )  printf("%2d  ",t[i][j]);
    printf("\n");
    }
    fun(t);
    printf("\nThe result is:\n");
    for(i=0; i<N; i )
    {  for(j=0; j<N; j ) printf("%2d  ",t[i][j]);
    printf("\n");
    }
    }
    
    38. 给定程序中,函数FUN的功能是:对形参S所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参P所指字符数组中,形成一个新串。
    例如,形参S所指的字符串为:baawrskjghzlicda,执行后P所指字符数组中的字符串应为:aachjlsw
    #include    <stdio.h>
    void fun(char  *s, char  *p)
    {  int  i, j, n, x, t;
    n=0;
    for(i=0; s[i]!='\0'; i )  n ;
    for(i=1; i<n-2; i=i 2) {
    /**********************************found*********************************/
    ___1___;                                             t=i
    /**********************************found*********************************/
    for(j=___2___ ; j<n; j=j 2)                              i 2
    if(s[t]>s[j]) t=j;
    if(t!=i)
    {  x=s[i]; s[i]=s[t]; s[t]=x; }
    }
    for(i=1,j=0; i<n; i=i 2, j )  p[j]=s[i];
    /**********************************found*********************************/
    p[j]=___3___;                                            '\0'
    }
    main( )
    {  char  s[80]="baawrskjghzlicda", p[50];
    printf("\nThe original string is :  %s\n",s);
    fun(s,p);
    printf("\nThe result is :  %s\n",p);
    }
    
    39. 各定程序的功能是:从键盘输入若干行文字(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和writetext实现。
    #include    <stdio.h>
    #include    <string.h>
    #include    <stdlib.h>
    void WriteText(FILE *);
    void ReadText(FILE *);
    main( )
    {  FILE  *fp;
    if((fp=fopen("myfile4.txt","w"))==NULL)
    {  printf(" open fail!!\n"); exit(0);  }
    WriteText(fp);
    fclose(fp);
    if((fp=fopen("myfile4.txt","r"))==NULL)
    {  printf(" open fail!!\n"); exit(0);  }
    ReadText(fp);
    fclose(fp);
    }
    
    /**********************************found*********************************/
    void WriteText(FILE  ___1___)                                 *fw
    {  char  str[81];
    printf("\nEnter string with -1 to end :\n");
    gets(str);
    while(strcmp(str,"-1")!=0) {
    /**********************************found*********************************/
    fputs(___2___,fw);  fputs("\n",fw);                          str
    gets(str);
    }
    }
    void ReadText(FILE  *fr)
    {  char  str[81];
    printf("\nRead file and output to screen :\n");
    fgets(str,81,fr);
    while( !feof(fr) ) {
    /**********************************found*********************************/
    printf("%s",___3___);                                    str
    fgets(str,81,fr);
    }
    }
    
    40. 给定程序中,函数FUN的功能是:有N X N矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
    例如,若N=3,有下列矩阵: 计算结果为
    1 2 3 7 4 1
    4 5 6 8 5 2
    7 8 9 9 6 3
    
    #include    <stdio.h>
    #define    N    4void fun(int  (*t)[N])
    {  int  j ,r[N];
    for(j=0; j<N; j )  r[j]=t[0][j];
    for(j=0; j<N; j )
    /**********************************found*********************************/
    t[0][N-j-1]=t[j][___1___];                                0
    for(j=0; j<N; j )
    t[j][0]=t[N-1][j];
    /**********************************found*********************************/
    for(j=N-1; j>=0;___2___)                                   j--
    t[N-1][N-1-j]=t[j][N-1];
    for(j=N-1; j>=0; j--)
    /**********************************found*********************************/
    t[j][N-1]=r[___3___];                                  j
    }
    main( )
    {  int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;
    printf("\nThe original array:\n");
    for(i=0; i<N; i )
    {  for(j=0; j<N; j )  printf("%2d  ",t[i][j]);
    printf("\n");
    }
    fun(t);
    printf("\nThe result is:\n");
    for(i=0; i<N; i )
    {  for(j=0; j<N; j )  printf("%2d  ",t[i][j]);
    printf("\n");
    }
    }
    
    50.
    
    #include   <stdio.h>
    #include   <math.h>
    double fun(double  x)
    {  double  f, t;      int  n;
    f = 1.0   x;
    /**********************************found*********************************/
    t = ___1___;                                             x
    n = 1;
    do {
    n ;
    /**********************************found*********************************/
    t *= (-1.0)*x/___2___;                                    n
    f  = t;
    }
    /**********************************found*********************************/
    while (____3____>= 1e-6);                                 fabs(t)
    return  f;
    }
    main( )
    {   double x, y;
    x=2.5;
    y = fun(x);
    printf("\nThe result is :\n");
    printf("x=%-12.6f y=%-12.6f\n", x, y);
    }
    51. 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
    例如:传给形参a的数据中,学号、姓名、和三门课的成绩依次是:10001、“ZhangSan”
    95、80、88,修改后的数据应为:10002、“LiSi”、96、81、89。
    #include   <stdio.h>
    #include   <string.h>
    struct student
    {  long  sno;
    char  name[10];
    float  score[3];
    };
    /*******************************found******************************/
    ___1___ fun(struct  student  a)               struct student
    {  int  i;
    a.sno = 10002;
    /*******************************found******************************/
    strcpy(__2__, "LiSi");                    a.name
    /*******************************found******************************/
    for (i=0; i<3; i ) __3__ = 1;            a.score[i]
    return  a;
    }
    main()
    { struct student  s={10001,"ZhangSan", 95, 80, 88}, t;
    int  i;
    printf("\n\nThe original data :\n");
    printf("\nNo: %ld  Name: %s\nScores:  ",s.sno, s.name);
    for (i=0; i<3; i )  printf("%6.2f ", s.score[i]);
    printf("\n");
    t = fun(s);
    printf("\nThe data after modified :\n");
    printf("\nNo: %ld  Name: %s\nScores:  ",t.sno, t.name);
    for (i=0; i<3; i )  printf("%6.2f ", t.score[i]);
    printf("\n"); }
    
    52. 给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M 。
    #include  <stdio.h>
    #include  <string.h>
    #define   N   5
    #define   M   8
    void fun(char  (*ss)[M])
    {  char  *ps[N],*tp;    int  i,j,k;
    for(i=0; i<N; i ) ps[i]=ss[i];
    for(i=0; i<N-1; i ) {
    /*******************************found******************************/
    k=  __1__ ;    i
    for(j=i 1; j<N; j )
    /*******************************found******************************/
    if(strlen(ps[k]) < strlen(__2__) )  k=j;   ps[j]
    /*******************************found******************************/
    tp=ps[i];  ps[i]=ps[k]; ps[k]= __3__ ; }    tp
    printf("\nThe string after sorting by length:\n\n");
    for(i=0; i<N; i )  puts(ps[i]);
    }
    main()
    { char  ch[N][M]={"red","green","blue","yellow","black"};
    int  i;
    printf("\nThe original string\n\n");
    for(i=0;i<N;i )puts(ch[i]);  printf("\n");
    fun(ch);  }
    

 

相关新闻

肢体语言塑造你自己
杂谈语言(之六)——文字改革(下):一失足成千古恨的文字改革
杂谈语言(之五)——文字改革(上):半吊子的改革最糟糕!
杂谈语言(之四)——续谈广东话的口头语(2)
杂谈语言(之四)——续谈广东话的口头语(1)
杂谈语言(之三)——那些深受古汉语影响的语言(方言)
杂谈语言(之二)——语言学习的边际成本递减效应
波兰(二)
捷克(二)
SQL语言入门教程(16 )

您可能对这些感兴趣  

第7讲 综合分析BIM在运用与推广中的障碍问题
考核学生质量的困难
日本福岛核电站事故初步分析
论科技异化与科技人化
中国科技计划项目管理现状与对策
财政科技资金的审计重点和内容
软科学研究机构在政府决策中的功效、困境及对策研究
打造超级DOS系统(下)
DOS命令基础应用(6)
打造超级DOS系统(上)

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》