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

    87.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。
    例如,当a=45,b=12,调用该函数后c=4251。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <stdio.h>
    /*本题的关键在于如何表示出个、十、百、千位数。对于一个两位的整数,用1
    0对它求余得到个位数上的数,将它除10得到十位数上的数。*/
    void fun(int a, int b, long *c)
    { int i,j,k,n;
    i=a%10; j=a/10; k=b%10; n=b/10;
    *c=j*1000 k*100 i*10 n;
    }
    main()
    { int a,b; long c;
    printf(" input a, b: ");
    scanf("%d%d", &a,&b);
    fun(a,b,&c);
    printf(" the result is :%ld\n", c);
    }
    88.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。
    例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    #include <conio.h>
    void fun (char *a)
    { int i=0; char *p=a ;
    while(*p&&*p=='*')
    {  a[i]=*p;
    i ;
    p ;}
    while(*p)
    {if(*p!=’*’)
    {a[i]=*p;
    i ; }
    p ; 
    }
    a[i]= '\0';
    }
    main()
    {
    FILE *wf;
    char s[81],*t="****A*BC*DEF*G*******";
    printf("Enter a string :\n");
    gets(s);
    fun(s);
    printf("The string after deleted:\n");
    puts(s);
    wf=fopen("out.dat","w");
    fun(t);
    fprintf(wf,"%s",t);
    fclose(wf);
    }
    
    89.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    # define  N 12
    typedef  struct
    { char num[10];
    double s;
    } STRUC;
    double fun (STRUC *a,STRUC *b, int *n)
    {
    int i;
    double av= 0.0 ;
    *n=0;
    for(i=0;i<N;i )
    av=av a[i].s;
    av=av/N;
    for(i=0;i<N;i )
    if(av<=a[i].s)
    { b[*n]=a[i];*n=*n 1;}
    return  av ;
    }
    main()
    {
    FILE *wf;
    STRUC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},
    {"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},
    {"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};
    STRUC  h[N],t; 
    FILE *out;
    int i ,j,n;  
    double ave;
    ave=fun(s,h,&n);
    printf("The %d student data which is higher than %7.3f:\n",n,ave);
    for(i=0; i<n; i )
    printf("%s  %4.1f\n",h[i].num,h[i].s);
    printf("\n");
    out=fopen("out90.dat", "w");
    fprintf(out, "%d\n %7.3f\n",n,ave);
    for(i=0; i<n-1; i )
    for(j=i 1;j<n;j )
    if(h[i].s<h[j].s)  
    {t=h[i];h[i]=h[j];h[j]=t;}
    for(i=0; i<n; i )
    fprintf(out, "%4.1f\n",h[i].s);
    fclose(out);
    wf=fopen("out.dat","w");
    fprintf(wf, "%d  %7.3f\n",n,ave);
    for(i=0; i<n; i )
    fprintf(wf, "%s %4.1f ",h[i].num,h[i].s);
    fclose(wf);
    }
    
    90.请编写函数fun,其功能是:计算并输出下列多项式值:  
    Sn=(1-1/2) (1/3-1/4) ... (1/(2n-1)1/2n)
    例如,若主函数从键盘给n输入8后,则输出为S=0.662872。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include 
    double fun(int n)
    {
    int i;
    double sum=0.0;
    if (n>1&&n<=100)
    {for(i=1;i<=n;i )
    sum =1.0/(2*i-1)-1.0/(2*i);
    }
    return sum;
    }
    main()
    { int n; double s;
    printf("\\nInput n: "); scanf("%d",&n);
    s=fun(n);
    printf("\\ns=%f\\n",s);
    NONO();
    }
    NONO()
    {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
    FILE *rf, *wf ; int n, i ; double s ;
    rf = fopen("bc.in", "r") ;
    wf = fopen("bc.out", "w") ;
    for(i = 0 ; i < 10 ; i ) {
    fscanf(rf, "%d", &n) ;
    s = fun(n) ;
    fprintf(wf, "%lf\\n", s) ;
    }
    fclose(rf) ; fclose(wf) ;
    }
    
    91.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。    
    例如,当a=45,b=12,调用该函数后c=5241。    
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <stdio.h>
    void fun(int a, int b, long *c)
    {
    *c= a/10*10 a%10*1000 b/10 b%10*100;
    }
    main()
    { int a,b; long c;
    clrscr();
    printf("Input a, b:");
    scanf("%d%d", &a, &b);
    fun(a, b, &c);
    printf("The result is: %ld\n", c);
    NONO();
    }
    NONO ( )
    {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
    FILE *rf, *wf 
    int i, a,b  long c 
    rf = fopen("in1.dat", "r") 
    wf = fopen("bc08.dat","w") 
    for(i = 0  i < 10  i ) {
    fscanf(rf, "%d,%d", &a, &b) 
    fun(a, b, &c) 
    fprintf(wf, "a=%d,b=%d,c=%ld\n", a, b, c) 
    }
    fclose(rf) 
    fclose(wf) 
    }
    
    92.请编写函数fun,它的功能是计算:s=(ln(1) ln(2) 1n(3) … ln(m))0.5 s作为函数值返回。
    在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是:double log(double x)。
    例如,若m的值为20,则fun函数值为6.506583。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <math.h>
    #include <stdio.h>
    double fun(int m)
    {double i;double r,s; double log(double i);
    for(i=1;i<=m;i )
    {r=r log(i);}
    return  (sqrt(r));
    }
    main()
    {clrscr();
    printf("%f\n",fun(20));
    }
    93.请编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
    例如,当n=10,x=0.3时,函数值为1.349859。
    S = 1 x ……
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <stdio.h>
    #include <math.h>
    double fun( double x, int n)
    { int i;
    float p=1;
    long q=1;
    double t,s=1.0;
    for( i=1; i<=n; i )
    { p*=x; q*=i;
    t=p/q;
    s =t;
    }
    return s;
    }
    main()
    { printf("%f\n", fun(0.3,10));
    }
    

 

相关新闻

C语言复习习题-程序改错
C语言复习习题--循环结构
C语言复习习题-选择结构
2006年广西区计算机等级考试二级C语言笔试试题及答案
C语言复习习题--结构体与共用体
C语言复习习题--编译预处理
c语言 上机编程题库(16)
c语言 上机编程题库(15)
c语言 上机编程题库(14)
c语言 上机编程题库(13)

您可能对这些感兴趣  

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

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

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