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

    68.请编写函数fun,其功能是:计算并输出下列多项式值:
    Sn=1 1/1! 1/2! 1/3! 1/4! … 1/n!
    例如,若主函数从键盘给n输入15,则输出为s=2.718282。注意:n的值要求大于1但不大于100。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    double  fun(int  n)
    {
    double t,sn=1.0;
    int i,j;
    for(i=1;i<n;i )
    {t=1.0;
    for(j=1;j<=i;j )
    t*=j;
    sn =1.0/t;}
    return sn;
    }
    return sn;
    }
    main()
    {  int  n;     double  s;
    printf("Input n:  ");  scanf("%d",&n);
    s=fun(n);
    printf("s=%f\n",s);
    NONO();
    }
    NONO()
    {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
    FILE *rf, *wf ; int n, i ; double s ;
    rf = fopen("K:\\k01\\24001619\\in.dat","r") ;
    wf = fopen("K:\\k01\\24001619\\out.dat","w") ;
    for(i = 0 ; i < 10 ; i ) {
    fscanf(rf, "%d", &n) ;
    s = fun(n) ;
    fprintf(wf, "%lf\n", s) ;
    }
    fclose(rf) ; fclose(wf) ;
    }
    
    69.请编写函数fun,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)定义为:F(0)=0,F(1)=1,F(n)=F(n-1) F(n-2)
    例如:当t=1000时,函数值为1597。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include "math.h"
    #include "stdio.h"
    int fun (int t)
    {int i,s=0;
    for(i=0;s<=t;i )
    s=f(i);return s;
    }
    f (int n)
    {     int s=0;
    if(n==0) return 0;
    else if(n==1) return 1;
    else s=f(n-1) f(n-2);
    return s;
    }
    main()
    {int n;
    clrscr();
    n=1000;
    printf("n=%d,f=%d\n",n,fun(n));
    }
    70.编写函数fun,它的功能是:计算并输出下列级数和:S=1/1*2 1/2*3 ... 1/n(n 1)
    例如,当n=10时,函数值为0.909091。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include<conio.h>
    #include<stdio.h>
    double  fun(int n)
    {
    int i;
    double s=0.0;  
    for(i=1;i<=n;i )
    s= s 1.0/(i*(i 1));
    return s;
    }
    main()
    { 
    FILE *wf;
    printf("%f\n",fun(10));
    wf=fopen("out.dat","w");
    fprintf(wf,"%f",fun(10));
    fclose(wf);
    }
    
    71.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。
    例如,当a=45,b=12,调用该函数后c=5142。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <stdio.h>
    /*本题的关键在于如何表示出个、十、百、千位数。对于一个两位的整数,用10对它求余得到个位数上的数,将它除10得到十位数上的数。*/
    void fun ( int  a, int b , long *c)
    { *c=(a%10)*1000 (b/10)*100 (a/10)*10 b%10 ; }
    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);
    }
    72.请编写函数fun,其功能是:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。
    例如,当s所指字符串中的内容为ABCDEFGHIJK,则在t所指数组中的内容应是BDFHJ。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    void fun(char *s  ,char t[])
    {
    int i,j=0,k= strlen(s);
    for(i=1;i<k;i=i 2)
    t[j ]=s[i];
    t[j]='\0'; 
    }
    main()
    { 
    FILE *wf;
    char s[100],t[100];
    printf("\nPlease enter string S: "); 
    scanf("%s",s);
    fun(s,t);
    printf("\nThe result is:%s\n ",t);
    wf=fopen("out.dat","w");
    fun("ABCDEFGHIJK",t);
    fprintf(wf,"%s",t);
    fclose(wf);
    }
    
    73.假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
    例如,若字符串中的内容为****A*BC*DEF*G********,删除后,字符串中的内容则应当是****ABCDEFC********。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    #include <conio.h>
    void fun (char *a, char *h, char *p)
    { int i=0; char *q=a ;
    while(q<h)
    { a[i]=*q;
    q ;
    i ; }
    while(q<p)
    { if (*q!= '*')
    { a[i]=*q;
    i ; }
    q ; }
    while (*q)
    { a[i]=*q;
    i ;
    q ;
    }
    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);
    }
    
    
    74.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。    
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #define N 10
    typedef struct ss
    { char num[10]; int s;} STREC;
    int fun (STREC *a, STREC *b)
    { int i,j=0, n=0, min ;
    min=a[0].s ;
    for (i=0 ; i<N ; i )
    if( a[i].s<min)
    min=a[i].s ;
    for (i=0 ; i<N ;i )
    if( a[i].s==min)
    { *(b j)=a[i] ;
    j ;
    n ;
    }
    return  n ;
    }
    main()
    { STREC  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("N0=%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);
    }
    75.请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。
    例如,若二维数组中的数据为: 33   33   33   33
    44   44   44   44
    55   55   55   55
    则一维数组中的内容应是:33  44  55  33  44  55  33  44  55  33  44  55。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    void fun( int (*s)[10],int *b,int *n,int mm,int nn)
    { int i,j;
    for(j=0;j<nn;j )
    for(i=0;i<mm;i )
    { b[*n]=*(*(s i) j);
    *n = *n 1; }
    }
    main()
    {
    FILE *wf;
    int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}}, i, j;
    int a[100]={0},n=0 ;
    printf("The matrix:\n");
    for (i=0; i<3; i )
    {for (j=0;j<4;j )  
    printf("%3d",w[i][j]);
    printf("\n");
    }
    fun(w,a, &n,3,4);
    printf("The A array:\n");
    for(i=0; i<n; i )  
    printf("%3d",a[i]); 
    printf("\n\n");
    wf=fopen("out.dat","w");
    for(i=0; i<n; i )  
    fprintf(wf,"%3d",a[i]); 
    fclose(wf);
    
    

 

相关新闻

肢体语言塑造你自己
每一个程序员要遵守的一些优秀编程风格
杂谈语言(之六)——文字改革(下):一失足成千古恨的文字改革
杂谈语言(之五)——文字改革(上):半吊子的改革最糟糕!
杂谈语言(之四)——续谈广东话的口头语(2)
杂谈语言(之四)——续谈广东话的口头语(1)
杂谈语言(之三)——那些深受古汉语影响的语言(方言)
杂谈语言(之二)——语言学习的边际成本递减效应
《VB程序设计基础》选择题
设计模式之Iterator

您可能对这些感兴趣  

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

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

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