2006年北京师范大学452C语言考研试题

1 设圆的半径r=1.5,圆锥高h=3,求圆的周长和椎体体积。用scanf输入数据,输出计算结果。输出时要求有文字说明,取小数点后两位数字。

2 输入两个整数,求它们相除的余数。用带参的宏来实现。

3 求100~200之间的全部素数之和。

4 计算圆周率的近似值,直到最后一项的绝对值小于10的-6为止,圆周率=4*(1-1/3+1/5-1/7+1/9-……)

5 写一个函数,判断一字符串是否回文。回文是指顺序和倒读都一样的字符串。

#include

#include

int hw(char f[25]) {

int a, b;

a = 0; //初始化a 指向f的首地址

b = strlen(f)-1; //指向f的最后一个

while (a <= b) {

if (f[a++] != f[b--]) {

printf("No!\n");

return 0; //程序结束

printf("Yes!\n");

return 1; //a>=b 是正确的

int main() {

char f[25];

int HW;// a, b = 0; 不需要

scanf("%s", f);

HW = hw(f);

return 0;

6 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,数字以及其它字符的个数。

7 将一个磁盘中的二进制文件复制到另一个磁盘中,两个文件名随命令行一起输入。

#include

void main()

FILE *from,*to;

char in[100],out[100];

printf("请输入源文件名:\n");

scanf("%s",in);

printf("请输入目标文件名:\n");

scanf("%s",out);

if((from=fopen(in,"r"))==NULL)

printf("文件不存在!\n");

exit(0);

if((to=fopen(out,"w"))==NULL)

printf("创建目标文件失败!\n");

exit(0);

printf(".............");

while(!feof(from))

fputc(fgetc(from),to);

fclose(from);

fclose(to);

北京航空航天大学2010年硕士研究生入学考试试题

七.程序设计题(20分)

请编写程序,该程序首先通过键盘输入获得整型数据a与n,然后计算sum=a+aa+aaa+……+(共n 项),最后输出计算结果。例如:当a=5,n=4时,计算sum=5+55+555+5555.

八.程序设计题(15分)

在Unix操作系统中有一条命令,命令的功能是打印文本文件的最后n行。命令格式为:

tail [-n] filename

其中,tail为命令名;参数filename 为文本文件名;参数[-n]表示要打印的行数,该参数是可选的,缺省值为10,既无此参数时,表示打印文件的最后10行,例如,命令

tail -20 example.txt

表示打印文本文件example.txt的最后20行。如果被打印的文本文件中行数少于n行或者少于10行,该命令将打印文件中的所有行。

请用带参数的main函数实现该程序。该程序应该具有一定的错误处理能力。例如,能够处理非法命令参数和非法文件名。

程序中可以使用以下C库函数:

int atoi(char *s)——将数字串转换为相应的整数

fgets(char *s,int n, FILE *fg)——从文件中读入一行;

void *malloc(unsigned size).free——申请和释放内存;

strlen——计算字符串的长度;

strcpy——讲一个字符串拷贝到另一个字符串中;

除此之外,不允许使用其他库函数。

可以再命令行参数正确性分析过程中获取被打印的文本文件名称以及需要打印的行数等信息。

如果命令行分析正确,可以建立一个不带头结点的单向循环链表存放从文件中独到的内容

2012计算机考研复试题回忆

编写函数Eval,求解一元二次方程ax^2+bx+c=0的解,写出每个参数的含义。

#include //包含iostream的头文件

#include

#include

2006年北京师范大学452C语言考研试题1 设圆的半径r=1.5,圆锥高h=3,求圆的周长和椎体体积。用scanf输入数据,输出计算结果。输出时要求有文字说明,取小数点后两位数字。2 输入两个整数,求它们相除的余数。用带参的宏来实现。3 求100~200之间的全部素数之和。4 计算圆周率的近似值,直到最后一项的绝对值小于10的-6为止,圆周率=4*(1-1/3+1/5-1/7+1/9-……)5 ... 每组输入两个整数m和n(100&lt;=m&lt;=n&lt;=999)。 输出在m,n之间的水仙花数(是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3) 如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占...
抱歉,我无法查看或提供任何文档或文件。但是,关于C 语言 家谱管理 程序 和C 语言 二叉树家谱管理系统,我可以告诉你一些基本概念。 家谱管理 程序 可以用二叉树来实现。每个节点表示一个家庭成员,其中根节点表示祖先。每个节点包含成员的信息(如姓名、性别、出生日期等)以及指向其父节点和子节点的指针。使用二叉树可以方便地进行搜索、添加、删除和修改家庭成员的信息。 在C 语言 中,可以使用结构体来表示节点,如: struct member { char name[20]; char gender; int birth_year; struct member* parent; struct member* left_child; struct member* right_child; 然后,可以使用指针来操作节点,如创建节点、连接节点等。 除了基本的家谱管理功能,还可以添加一些高级功能,如搜索某个成员的家族关系、计算家族的族谱图等。 希望这些信息能对你有所帮助。