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

    21. 函数FUN的功能是:计算
    
    
    #include    
    #include    
    double fun(double  x)
    {  double  f, t; int n;
    /**********************************found*********************************/
    f = 1.0 ___1___;                                            x
    t = x;
    n = 1;
    do {
    n ;
    /**********************************found*********************************/
    t *= x/___2___;                                             n
    /**********************************found*********************************/
    f  = ___1___;                                               t
    } while (fabs(t) >= 1e-6);
    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);
    }
    
    22. 给定程序中,函数FUN的功能是:统计形参S所指字符串中数字字符出现的次数,并存放在形参t所指的变量中最后在函数中输出。例如,形参所指的字符串为:abcdef35adgh3kjsdf7.输出结果为:4
    #include     
    void fun(char  *s, int  *t)
    {  int i, n;
    n=0;/**********************************found*********************************/
    for(i=0; ___1___ !=NULL; i )                             s[i]
    /**********************************found*********************************/
    if(s[i]>='0'&&s[i]<=___2___) n ;                        '9'
    /**********************************found*********************************/
    *t=___3___;                                              n
    }
    main( )
    {  char  s[80]="abcdef35adgh3kjsdf7";
    int t;
    printf("\nThe original string is :  %s\n",s);
    fun(s,&t);
    printf("\nThe result is :  %d\n",t);
    }
    
    23. 用筛选法可得到2—n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0)接着从数表中找下一个非0数,并从数表中找下一个非0数,并从数表中删去该书的所有倍数:依次类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23,……
    函数FUN用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
    #include   
    int fun(int  n)
    {  int  a[10000], i,j, count=0;
    for (i=2; i<=n; i )  a[i] = i;
    i = 2;
    while (i
    /**********************************found************************************/
    for (j=a[i]*2; j<=n; j =___1___)                             a[i]
    a[j] = 0;
    i ;
    /**********************************found************************************/
    while (a[i]==___1___)                                       0
    i ;
    }
    printf("\nThe prime number between 2 to %d\n", n);
    for (i=2; i<=n; i )
    /**********************************found************************************/
    if (a[i]!=____3____)                                          0
    {  count ;    printf( count%15?"%5d":"\n%5d",a[i]);  }
    return  count;
    }
    main()
    {  int  n=20, r;
    r = fun(n);
    printf("\nThe number of prime is  :  %d\n", r);
    }
    
    24 给定程序中,函数FUN的功能是:将N X N 矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:
    1 2 3    3 2 1
    4 5 6    交换后为:  4 5 6
    7 8 9  9 8 7
    
    #include    
    #define    N    4
    /**********************************found*********************************/
    void fun(int  ___1___, int  n)                                t[N][N]
    {  int  i,s;
    /**********************************found*********************************/
    for(___2___; i )                                         i=0;i
    {  s=t[i][i];
    t[i][i]=t[i][n-i-1];
    /**********************************found*********************************/
    t[i][n-1-i]=___3___;                                    s
    }
    }
    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
    {  for(j=0; j
    printf("\n");
    }
    fun(t,N);
    printf("\nThe result is:\n");
    for(i=0; i
    {  for(j=0; j
    printf("\n");
    }
    }
    
    25. 给定程序中,函数FUN的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与相同的字符,若找不到相同的字符则函数不做任何处理。
    例如,S所指字符串为:baacda,执行后S所指字符串为:baaaacdaa
    #include    
    void fun(char  *s, char  c)
    {  int  i, j, n;
    /**********************************found*********************************/
    for(i=0; s[i]!=___1___ ; i )                                  
    if(s[i]==c)
    {
    /**********************************found*********************************/
    n=___2___ ;                                         
    while(s[i 1 n]!='\0')  n ;
    for(j=i n 1; j>i; j--)  s[j 1]=s[j];
    /**********************************found*********************************/
    s[j 1]=___3___ ;                                      
    i=i 1;
    }
    }
    main( )
    {  char  s[80]="baacda", c;
    printf("\nThe string:  %s\n",s);
    printf("\nInput a character:  ");  scanf("%c",&c);
    fun(s,c);
    printf("\nThe result is:  %s\n",s);
    }
    
    26. 函数FUN的功能是:把形参a所指数组中的最小值防在元素a[0]中,接着把形参a 所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以次类推。例如:若a所指数组中的数据最初排列为:9,1,4,2,3,6,5,8,7;则按规则移动后,数据排列为:1,9,2,8,3,7,4,6,5。形参n中存放a所指数组中数据的个数。
    注意:规定FUN函数中的MAX存放当前所找的最大值,PX存放当前所找最大值的下标。
    # include    
    #define    N    9
    void fun(int  a[], int  n)
    {  int  i,j, max, min, px, pn, t;
    for (i=0; i    {
    /**********************************found*********************************/
    max = min =___1___;                                    a[i]
    px = pn = i;
    for (j=i 1; j
    /**********************************found*********************************/
    if (max<___2___)                                         a[j]
    {   max = a[j]; px = j;  }
    /**********************************found*********************************/
    if (min>___3___)                                          a[j]
    {   min = a[j]; pn = j;  }
    }
    if (pn != i)
    {  t = a[i]; a[i] = min; a[pn] = t;
    if (px == i) px =pn;
    }
    if (px != i 1)
    {  t = a[i 1]; a[i 1] = max; a[px] = t; }
    }
    }
    main( )
    {  int  b[N]={9,1,4,2,3,6,5,8,7}, i;
    printf("\nThe original data  :\n");
    for (i=0; i
    printf("\n");
    fun(b, N);
    printf("\nThe data after moving  :\n");
    for (i=0; i
    printf("\n");}
    
    27. 甲乙丙丁四人同时开始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次函数FUN的功能是根据形参提供的值,求出总共听到多少次鞭炮声作为函数值返回。注意,当几个鞭炮同时炸响,只算一次响声,每次响声,第一次响声是在第0秒。
    #include    
    /**********************************found*********************************/
    #define    OK(i, t, n)    ((___1___%t==0) && (i/t
    int fun(int  t1, int  t2, int  t3, int  t4, int  n)
    {  int  count, t , maxt=t1;
    if (maxt < t2) maxt = t2;
    if (maxt < t3) maxt = t3;
    if (maxt < t4) maxt = t4;
    count=1;    /* 给count赋初值 */
    /**********************************found*********************************/
    for(t=1; t< maxt*(n-1);___1___)                                t
    {
    if(OK(t, t1, n) || OK(t, t2, n)|| OK(t, t3, n) || OK(t, t4, n) )
    count ;
    }
    /**********************************found*********************************/
    return ___3___;                                            count
    }
    main( )
    {  int  t1=7, t2=5, t3=6, t4=4, n=10, r;
    r = fun(t1, t2, t3, t4, n);
    printf("The sound  :  %d\n", r);
    }
    
    28. 给定程序的功能是调用FUN函数建立班级通讯录。通讯录中记录每位同学的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
    #include    
    #include    
    #define    N    5
    typedef  struct
    {  int  num;
    char  name[10];
    char  tel[10];
    }STYPE;
    void check( );
    
    /**********************************found*********************************/
    int fun(___1____*std)                                       STYPE
    {
    /**********************************found*********************************/
    ___2___  *fp;     int  i;                                 FILE
    if((fp=fopen("myfile5.dat","wb"))==NULL)
    return(0);
    printf("\nOutput data to file !\n");
    for(i=0; i
    /**********************************found*********************************/
    fwrite(&std[i], sizeof(STYPE), 1,___3___);                   fp
    fclose(fp);
    return (1);
    }
    main( )
    {STYPE s[10]={ {1,"aaaaa","111111"},{1,"bbbbb","222222"},{1,"ccccc","333333"},
    {1,"ddddd","444444"},{1,"eeeee","555555"}};
    int  k;
    k=fun(s);
    if (k==1)
    {  printf("Succeed!");  check( );  }
    else
    printf("Fail!");
    }
    void check( )
    {  FILE  *fp;     int  i;
    STYPE  s[10];
    if((fp=fopen("myfile5.dat","rb"))==NULL)
    { printf("Fail !!\n"); exit(0); }
    printf("\nRead file and output to screen :\n");
    printf("\n   num    name      tel\n");
    for(i=0; i
    {  fread(&s[i],sizeof(STYPE),1, fp);
    printf("%6d    %s    %s\n",s[i].num,s[i].name,s[i].tel);
    }
    fclose(fp);
    }

    

 

相关新闻

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

您可能对这些感兴趣  

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

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

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