图书馆很多这方面的书,嘿嘿
给你一些考研题吧:
2010程序设计
1,编写程序实现如下功能:输入20个[10,50]的正整数存放到数组中,找出所有元素中的最大值,最小值和平均值。(17分)
2,编写程序,在一个输入的英文篇名中查找最长单词,并输出其长度。(18分)
3,编写程序,输入两个包含5个整数元素的数组,先将两个数组升序排列,然后将这两个数组合并成一个升序数组。(20分)
4,某班有时30名学生,学习3门课。分别编写3个函数实现以下要求:
(1)求各门课程的全班平均成绩;
(2)找出有2门以上不及格的学生,输出其学号和不及格课程的成绩;
(3)找出3门课平均成绩在85-90分的学生,输出其学号和姓名。
主程序输入30个学生的学号、姓名和3门课程成绩,然后调用上述函数输出结果。(20分)
2009程序设计
1,编写程序,在主函数中输入两个正整数,由被调用函数求出两个数的最大公约数。(15分)
2,编写程序,判定一个字符串是否为另一个字符串的子串。如果是,还要给出子串在母串中的起始位置。(20分)
3,编写程序,建立一个二维数组,找出其中的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。(20分)
4,编写程序进行以下信息分析:某年A、B两公司利润分别为X、Y万元(X、Y为正整数,Y>X,且由键盘输入),两公司利润都以每年1万元的幅度增加,输出多少年后B公司比A公司利润多一倍,以及那时二者的利润值。(20分)
3,编写程序,将n个(正或负)整数在主函数中输入,调用一个函数pick2(),把个位数是2的数挑出来,并记住原来的序号。然后再调用一个函数sort(),将挑出来的数按降序排序,返回主函数后输出排序好的数及相应的原序号。(20分)
#include"stdio.h"
#define N 10
main()
{int pick(int a[],int n);
int sort(int b[],int n);
int i;
int s[N];
printf("输入%d个数:\n",N);
for(i=0;i
pick(s,N);
sort(s,N);
getchar();
return 0;
}
int pick(int a[],int n)
{ int m;
for(m=0;m
else a[m]=0;
return 0;
}
int sort(int b[],int n)
{ int l,k,temp1,temp2,c[100],j;
for(j=0;j
for(l=0;l
{
if(b[l] {temp1=b[l];b[l]=b[k];b[k]=temp1;
temp2=c[l];c[l]=c[k];c[k]=temp2;/*注意下标和数组元素的变化是同步的*/
}
}
puts("个位是2的数及排序后结果([]中为其原序号):");
for(j=0;j
return 0;
}/*又一个自主完成,相当漂亮的程序!*/
2006程序设计
1、用一个子函数判断一个数是否为素数,主函数中n从3到100循环,若n与n+2都
是素 数,则输出。(10分)
#include "stdio.h"
#include "stdlib.h"
main()
{ int fun(int x);
int j,p,l;
for(j=3;j<100;j++)
{ p=fun(j);
l=fun(j+2);
if(p*l!=0)
printf("%d\n",j);
}
getchar();
}
int fun(int x)
{
int k;
for(k=2;k<=x/2;k++)
{
if(x%k==0)
{return 0;}
else
if(k>x/2)return 1;
}
}
2、编写程序将一个字符串S1插入到字符串S2的n位置并输出。(10分)
3,输入10个字符按字典排序。
4、编写程序,采用二分查找法从有序数列中查找指定元素的位置。(10分)
5、编写程序,读入一行字符,每个字符存入一个结点,按输入顺序建立一个字符链
表,再按相反顺序输出链表。(10分)
2005程序设计
1、编写程序,将输入的一个正偶数分解成两个素数之和。
2、编写程序,从键盘输入30个学生的成绩,输出最高分、最低分和平均分。
5、编写程序,采用递归方法求n个数中最大的数
2004程序设计
1、编写程序计算:e=1+1/1!+1/2!+1/3!+…+1/n!,其中n值由用户输入。
2、由28人围坐一圈并按顺时针方向1~28编号,从第一个人开始进行1到5报数,报数到5的人出圈,再从他的下一个人重新开始1到5报数,如此进行下去,直到所有的人都出圈为止。编写程序按出圈次序给出这28人的编号表。
3、编写程序将字符串S1中的所有与字符串STR1相同的子串替换成字符串STR2,并将替换
后的新串存于字符数组S2中。
4、编写程序对任意输入的30个英文国名,采用冒号法按词典顺序进行排序。
附录1:一.《高级语言程序设计》课程设计参考题目
1.编写冒泡排序和选择排序的程序,主函数中编写菜单调用排序函数。
2.编写顺序查找和二分查找程序,主函数中编写菜单调用查找函数。
3.用二分法、牛顿迭代法求一元方程的近似解,要求主函数中编写菜单,调用求根函数。
4.自己编写字符串求长、拷贝、连接、删除、插入指定字符的函数,要求主函数中编写菜单,可以分别实现调用。
5.字符串处理:用一个字符数组保存着一个英文句子,要求:
(1) 删除该英文句子的前空格、后空格。并删除句子中多余的空格(单词之间只留一个空格);
(2) 统计该句子中,单词出现的频率;
(3) 查找并替换某个单词。
6.从文件读入一个字符串,统计该字符串中单词的个数,单词之间用空格分开,空格数可以是多个。
7.从文件中读入多个字符串要求实现字符串的排序,排序后写入写的文件。
8.编写程序,输入一个以回车符结束的字符串,过滤去所有的非十六进制字符后,组成一个新的字符串,然后将其转换为十进制数输出。
9.输出100-2000之间的所有素数,每行输出8个。要求调用求素数函数。
10.验证哥德巴赫猜想:任何一个大于6的偶数可以表示为两个素数之和。要求,每个偶数只要找到一组素数和就可以。将6-1000之间的所有偶数都表示程两个素数之和,每行输出5组显示。
11.编写一个求四则运算的运算器
12、利用结构体变量求两个复数的和、差、积。要求设计一个菜单分别调用函数。
13.编写程序要求实现给定一个年月日能够输出该日是这一年的第几天,给定这一年的第几天,要求能输出这一天是几月几日。
14建立n阶螺旋方阵,并输出,方阵如下图,:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
15.建立n阶蛇形方阵并输出,方阵如下图
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
16.已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历;
17.皇后问题:在国际象棋中,能否在空棋盘上摆放八个皇后,并使其中任意两个皇后不能在同一行或同一列或同一对角线上,并编写完整的摆放八皇后问题的程序。要求:第一个皇后的起始位置由键盘输入,国际象棋的棋盘为8*8的方格。
18.编写程序,分别输出上三角形式和下三角式的乘法九九表
19.求解汉诺塔问题
20.打印杨辉三角(要求:打印出两种形式)
1 1
1 2 1 1 2 1
1 3 3 1 1 3 3 1
1 4 6 4 1 1 4 6 4 1
1 5 10 10 5 1 1 5 10 10 5 1
…… …… …… …… …… …… …… …… …… ……
21.给定一个二维数组a[6][6],分别定义函数求出该数组最大元素和其下标、最小元素和其下标、每行元素之和以及主辅对角线元素之和。
22.用递归法实现一个正整数的逆序输出。
23.输入一个长整形数,从高位开始逐位分割并输出。如输入123456,逐位输出1,2,3,4,5,6.
24.输入学生人数后输入每个学生的成绩,最后输出学生的平均成绩以及最高成绩和最低成绩的学生学号、姓名和成绩。要求用动态分配存储空间来实现(学生信息包括学号、姓名、成绩)
25、已知计算x的n阶勒让德多项式值的公式如下:
Pn(x) =1(n=0)
Pn(x) = x (n=1)
Pn(x) =( (2n-1)*x*Pn-1(x)-(n-1)*Pn-2(x))/n (n>1)
请编写程序分别采用递归与递推的方法实现。
26、编写函数,采用递归方法实现将输入的字符串按反序输出。
27编写函数,采用递归方法将任一整数转换为二进制形式。
28、编写函数求矩阵 A[2*3] 的转置矩阵 B[3*2]。然后调用函数求矩阵A*B主函数实现输入输出。
29.有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报道3的人退出圈子,下一个人从一开始报数,报道3的退出圈子。如此下去,直到留下最后一个人,请按退出顺序输出推出圈子的人的编号,并输出最后一个人的编号。
30.编写程序,从键盘输入3个学生的数据,将它们存入文件student;然后再从文件中读出数据,显示在屏幕上。
附录2:
1,写一个字符串处理C语言程序设计 要求:1,输入一个英文句子并保存在字符数组中 2,能删除多余的空格;单词之间只留一个空格,句子前后无空格,3,能统计某单词出现的频度;4,能替换某单词
【这些题很多都是一题多解的,可以用指针,也可以用其他方法,就当练练吧,加油!】
网上的C++面试宝典中还是有比较典型的指针联系,那些比较特殊,可以看看。。
看这些有毛用,看点汇编知识吧!
或者随便写几个指针操作,转到反汇编,自己去研究那几行代码,弄懂了你指针就基本过关了!
believe me
有邮箱吗,我发个资料给你,里面内容很全!