码迷,mamicode.com
首页 > 编程语言 > 详细

C语言考试(1)

时间:2014-09-16 20:24:41      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   使用   ar   for   

学院比较奇葩,大一下期让学的VB,这学期就要学C++了,然后在开学的前三个周没有课,就由老师讲三个周的C语言,每天9:30~11:30听课,除去放假和双休日,实际听课时间一共是12天*2小时,下午是14:10~5:00,上机,不过每天下午有将近三个小时的上机时间。时间那么紧迫还要考试,今天上午得知考试题是从以下十道题中出,轻松了很多。题如下:

1.计算 bubuko.com,布布扣,并输出其结果。

2.求出n个学生一门课程中的最高成绩、最低成绩及高于平均成绩的人数。

3.有10个100内的整数,使用选择排序法从大到小排序。

4.有n个考生,每个考生有考号和一个总分成绩,如果录取m人(n>m),确定录取分数线,并输出该分数线上的考生的考号和成绩。

5.用过程实现:求两个正整数的最大公约数。

6.用过程实现:求两个正整数的最小公倍数。

7.用牛顿迭代法求一元方程 x5+2x3-x2+x+1=0在 0 附近的近似值。

8.找出 1000 以内最大的 3 个素数。

9.设计一个具有+、-、*、/、开方、阶乘、指数、正弦、余弦、正切、求余数功能的简易计算器。

10.利用文本编辑软件在外存上建立一个有n个学生的学号、姓名、系别、联系电话的数据文件。从键盘上输入一个学号,可以查寻到此人其他信息。并按姓名排序且输出。

 

经过一中午和一下午的奋斗,解出了前几道,代码如下:

 

**********************************华丽的分割线************************************

第一题:

#include<stdio.h>
int mul(int n)
{
int num,i;
num=1;
for(i=1;i<=n;i++)
num=num*i;
return(num);
}
void main()
{
int i,sum=0;
for(i=1;i<=10;i++)
sum+=mul(i);
printf("The sum is %d\n",sum);
}
}

 

改进:

输入n即可求从1到n的阶乘的和。

#include<stdio.h>
int mul(int n)
{
    int num,i;
    num=1;
    for(i=1;i<=n;i++)
        num=num*i;
    return(num);
}
void main()
{
    int i,n,sum=0;
    printf("Enter the number:\n");
    scanf("%d",&n);
    if(n<=0)
        printf("Error\n");
    else
    {
        for(i=1;i<=n;i++)
            sum+=mul(i);
        printf("The sum is %d\n",sum);
    }
}

**********************************华丽的分割线************************************

第二题:

#include<stdio.h>
int sort(int a[],int n)
{
  int i,j,temp;
  for(i=0;i<n;i++)
    {
        for(j=0;j<=n-i-1;j++)
        {
            if(a[j]<a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
}
void main()
{
    int i,k,sum=0,ave,n=4,a[5];//假设题中n=5,即有5名学生,代码中n=4
    for(i=0;i<=n;i++)
    {
        printf("Please enter number %d\n",i);
        scanf("%d",&a[i]);
        sum+=a[i];
    }
sort(a,n);
printf("max is %d\n",a[0]);
printf("min is %d\n",a[n]);
ave=sum/n;
for(k=0;k<=n&&a[k]>ave;)
k++;
printf("The number of above average grades is %d\n",k);
}

**********************************未完待续************************************

 

C语言考试(1)

标签:des   style   blog   http   color   io   使用   ar   for   

原文地址:http://www.cnblogs.com/wangshunli/p/3975681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!