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

    50.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <stdio.h>
    #include <string.h>
    #include <conio.h>
    #define N 10
    typedef struct ss
    { char num[10]; int s;} STU;
    /*只是采用的赋值方式不同。采用的是结构体元素对结构体元素赋值。*/
    fun( STU a[], STU *s)
    { int i;
    *s=a[0];
    for( i=1;i<N; i )
    if (a[i].s>(*s).s)
    *s=a[i];
    }
    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 ****\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);
    }
    51.请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
    例如,若输入17,则应输出:9和4 6 8 9 10 12 14 15 16。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include <conio.h>
    #include <stdio.h>
    /* 注:内嵌的for()循环用于判断是否是素数,在j<i的情况下,只要j对i求余,余数为0则表示i不是素数,则将i存入xx数组中。break;语句只是让它提前结束循环。不用亦可。*/
    void fun( int m, int *k, int xx[] )
    { int i,j;
    *k=0;
    for( i=2; i<m; i )
    for( j=2; j<i; j )
    if( i%j==0)
    { xx[(*k) ]=i; break;}
    }
    main()
    { int m, n,zz[100];
    printf("\n please enter an integer number between 10 and 100: ");
    scanf( "%d",&n);
    fun(n,&m,zz);
    printf("\n\n there are %d non-prime numbers less than %d: ", m,n);
    for(n=0; n<m; n )
    printf("\n %4d",zz[n]);
    }
    
    52.编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。    
    例如,分别输入下面两个字符串:FirstString--
    SecondString    
    则程序输出:FirstString—SecondString
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include<stdio.h>
    #include<conio.h>
    /* 注:第一个for()循环用于让i成为第一个字符串的结束符的下标,要注意在这个for()后要有一个分号否则出错。第二个for()的作用是将第二个字符串一个一个字符依次放到第一个字符串的未尾。此外,还要注意最后一定要有p1[i]='\0';来给字符串加上结束符。*/
    void fun(char p1[],char p2[])
    {int i,j;
    for(i=0;p1[i];i );
    for(j=0;p2[j];j )
    p1[i ]=p2[j];
    p1[i]='\0';
    }
    main()
    { char s1[80],s2[80];
    clrscr();
    printf("Enter s1 and s2:\n");
    scanf("%s%s",s1,s2);
    printf("s1=%s\n",s1);
    printf("s2=%s\n",s2);
    printf("Invoke fun(s1,s2):\n");
    fun(s1,s2);
    printf("After invoking:\n");
    printf("%s\n",s1);
    }
    
    53.请编写函数fun,该函数的功能是:实现B=A A’,即把矩阵A加上矩阵A的转置,存放在矩阵B中。计算结果在main函数中输出。
    例如,输入下面的矩阵:    其转置矩阵为:     则程序输出:
    1    2    3          l    4    7        2 6 10
    4    5    6           2    5    8    =   6 10 14
    7    8    9          3    6    9        10 14 18
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include<conio.h>
    #include<stdio.h>
    /*本题没有先求出A的转置,而是直接利用转置的性质(即第一行作为转置后的第一列,第二行作为转置后的第二列,的行列互换的性质)。而且最后要求出两矩阵的相加后得出的新矩阵,由转置性质可知原a[j][i]转置后位置为a[i][j],在表达式:b[i][j]=a[i][j] a[j][i]第一个a为A的元素,第二个a为A'的元素。*/
    void fun(int a[3][3],int b[3][3])
    {int i,j;
    for(i=0;i<3;i )
    for(j=0;j<3;j )
    b[i][j]=a[i][j] a[j][i];
    }
    main()
    {int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];
    int i,j;
    clrscr();
    fun(a,t);
    for(i=0;i<3;i )
    {for(j=0;j<3;j )
    printf("%7d",t[i][j]);
    printf("\n");
    }
    }
    
    54.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
    ♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣♣
    #include<stdio.h>
    #define N 8
    typedef struct
    { char num[10];
    double s; 
    } STRUC;
    double fun(STRUC *a, STRUC *b, int *n)
    {
    int i,j=0;
    double av=0.0;
    for(i=0;i<N;i )
    av=av  a[i] ;
    av= av/N ;
    for(i=0;i<N;i )
    if(a[i].s<av) b[ j  ]=a[i];
    *n=j;
    return av;
    }
    main()
    { 
    FILE *wf;
    STRUC s[N]={{ "GA05 ",85},{ "GA03 ",76},{ "GA02 ",69},{ "GA04 ",85},
    { "GA01 ",91},{ "GA07 ",72},{ "GA08 ",64},{ "GA06 ",87}};
    STRUC h[N],t; 
    FILE *out;
    int i,j,n; 
    double ave;
    ave=fun(s,h,&n);
    printf("The %d student data which is lower 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("out71.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);
    }
    

 

相关新闻

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

您可能对这些感兴趣  

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

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

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