一、分支结构(
7)
1、 根据以下分段函数计算水费。
2、 如上右图所示,输入一个点的坐标x ,y (0≤x ,y ≤1),若该点位于阴影部分,则输
出1,否则输出0。
3、 输入一个正整数n,再输入n个学生的成绩,要求按以下四档分别统计并输出各档的人
数:90分及以上;75分~89分;60分~74分;60分以下。
4、 在屏幕上打印输出21世纪所有的闰年。
5、 编写程序,实现功能为统计某学校二年级学生的体重情况,体重60斤及以上为超重,
体重40斤及以下为营养不良,体重在41-59斤之间的为正常,体重数据由键盘输入,输入-1结束,在屏幕上显示超重、正常和营养不良的学生人数。
6、 输入一个正整数n,再输入n个学生的成绩,计算平均成绩与及格学生的人数并输出。
7、 输入一批正整数(以0或-1为结束标志),统计其中所有7的倍数的个数。要求定义
和调用函数int isNumber(int n),判断数n 是否是7的倍数,是则返回1,否则返回0。 二、累和算法(10)
8、 编写程序,输入一批正整数(以零或负数为结束标志),求其中的偶数和并输出。
9、 编写程序按每行5个数的格式输出1至n 范围内能被7或17 整除的整数,并求出其和。
输入输出示例:(其中50是键盘输入)
n=50
7 14 17 21 28
34 35 42 49
Sum=247
10、程序的功能是按下面的公式计算并输出s的值,m的值由键盘输入,m应是一个奇
数,如果输入的是一个偶数,取小于m的最大奇数。
11、编写程序,输入两个正整数a和n,求a+aa+aaa+……+aaaaaaa(n个a)之和。例如:
输入2和3,输出246(即计算和表达式2+22+222的值)。
12、使用格里高利公式求π的近似值并输出,要求精确到最后一项的绝对值小于10–4。
+
13、从键盘输入整数n,根据公式=1!+2!+3!+4!+......+n!求解并输出结果。
14、从键盘输入整数n,根据下面公式求解并输出。
15、设计fun函数实现功能: 根据整型形参m,计算如下公式的值。编写main函数测
试fun函数的功能。
例如,若主函数中输入5,则应输出t=-0.283333。
16、编写程序,输入x及精度e的值,用下面公式求cos x 的近似值并输出,要求精确
到最后一项的绝对值小于e。
17、编写程序,输入n,计算并输出下面公式求前n项之和
根据下式求PI值,直到某一项小于10-6
PI/2=1+1!/3 +2!/(3*5)+…… +n!/(3*5*…*(2n+1))
正确运行结果
PI=3.14159
三、取位算法(5)
18、计算并输出任意一个整数x中a的出现次数并输出,例如x为222723272,a为2,
a在x中的出现次数为6。要求定义和调用int count(intx,int a)计算并返回a在x中的出
现次数。
19、编写函数fun求一个整数的逆序数,在main函数中输入两个整数,求其逆序数之
和并输出。例如:输入32,-71输入sum=6。
20、输入一个正整数,逐位分割该数的每一位数字,求由数字所构成的最大整数。例
如;输入624891,得到最大整数:986421。要求定义和调用函数计算并返回一个x可
构成的最大整数。
21、编写函数判断对称数,输入一个整数判断它是否是对称数,例如123321,93439。
在main数中完成对函数的测试。
22、输入若个正整数,输入0停止,将这些整数按顺序构造为一个新的整数。假设新
的整数不超出整数的最大范围。
例如:输入:74
3
904
输出:743904
四、素数算法(2)
23、求具有三位数的素数的个数。要求编写一个判断素数的函数int prime(int m),main
函数中调用prime函数完成对100~999之间所有数是否为素数的判断并统计个数。
24、打开一个数据文件data.txt,将其中的素数写入到一个新文件primeNumber.txt中,
5个数据一行,统计素数的个数输出在屏幕上。要求定义和调用函数int prime(int m)判
断一个数是否为素数。
五、日期问题(3)
25、输入两个学生的出生年月,计算这两个同年龄的学生生日相差几天。要求编写函
数int calcDays(int y,int m,int d)计算某年某月某日是该年的第几天,在main函数中调用
calcDays函数完成两个学生生日相差几天的计算并输出。
26、编写程序实现的功能为:求某年某月某日后的多少天后是哪一年的几月几日。要
求:(1)编写子函数判断闰年。(2)编写子函数求某年某月某日后的多少天后是哪一
年的几月几日。(3)在main函数中输入年月日及过多少天调用上述函数并输出结果。
例如2014/10/24后的100天是2015/2/1。
27、编写程序完成细菌繁殖的计算。一种细菌的繁殖速度是每天成倍增长,例如第一
天10个,第二天20个,第三天40个,第四天80个......。输入第一天的日期、第一天
的细菌数和结束那天的日期,求结束那天细菌的数目。假设(1)第一天和结束天在一
年中,(2)不考虑闰年(3)结束天在第一天之后。
六、数值数组(5)
28、输入一个正整数n,再输入n个正整数,计算其中最大值和最小值的差值并输出。
29、键盘输入n,利用数组计算斐波那契数列的前n个数,并按每行打印5个的格式
输出。
30、键盘输入n个整数存于一维数组中,编写程序实现在该数组中查找指定的数值,
若存在则输出找到的个数,若不存在返回0。要求自定义查找函数int find(int a[], int x)
返回找到的个数。
31、键盘输入n(n值由键盘输入)个整数,元素倒置后存放于原数组中并输出。要求
自定义功能函数void reverse(int p[], int n),实现p数组中n个元素的倒置。
32、输入n个有序整数(升序)存于一维数组中,再输入一个整数x,将x插入数组合
适的地方使数组仍然有序。要求自定义以下函数:
(1)功能函数int insertX(int*pa ,int n, int x):使x插入到以pa为首地址的n个有
序数中仍然有序。
(2)主函数:调用上述函数完成功能,并输出插入后的结果。
七、字符串(9)
33、输入一行字符,统计其中英文字母、数字字符和其他字符的个数结果并输出。
34、将一个整数转换为字符串。设计函数void itostr(char str[],int n),实现整型数值n转
化为字符串str,在main函数中设计输入输出环节,验证itostr的正确性。
35、编写函数void reverse(char str[])实现字符串的倒置。在main函数中设计输入输出
环节,验证reverse的正确性。
36、编写程序实现删除字符串中出现的指定字符。要求自定义函数void dele(char str[],
char ch)在str字符串中删除存放在ch中的字符,main函数完成字符串和删除字符的输
入、输出删除后的结果。
37、编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C
语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换
为整数值-1234。编写main函数测试fun函数的功能。
38、编写一个函数,函数的功能是删除字符串中的所有空格。例如, 主函数中输入
"asdaf aa z67", 则输出为"asdafaaz67"。编写main函数测试fun函数的功能。
39、编写函数fun, 函数的功能是: 判断字符串是否为回文?若是,函数返回1,主函数中
输出: YES, 否则返回0, 主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如, 字符串LEVEL是回文, 而字符串123312就不是回文。编写main函数测试fun函数的功
能。
40、编写一个函数,函数功能为将一个字符串,只取其中的英文字母,全部转换成小
写。在main函数中测试函数的运行
程序的正确运行示例:
输入一个字符串:My Mail:shanghai2011!@https://www.doczj.com/doc/cf6744541.html,
输出:mymailshanghaicom
41、编写一个函数,函数功能为将一个字符串,过滤掉所有的非数字字符后转化为十
进制整数返回。在main函数中输入两个字符串,求相应数字构成的整数的差。
程序的正确运行示例:
输入一个字符串:12A3
再输入一个字符串:#873
输出123-873=-750
八、文件综合题(9)
42、编写程序实现功能:数据文件data.txt中存放任意一组数值数据,请筛选有效数据
(偶数)到一个新的数据文件,并统计这组有效数据的个数,总值和平均值,统计结果
输出到屏幕。
43、编写程序,打开数据文件data.txt,累加其中正整数之和,将结果写在文件的尾部。
44、编写程序,利用数据文件data.txt,求出文件中数据的最大的三个数,并输出结果。
45、从数据文件data.txt中读入数据到数组,计算最小值及最小值所在的下标,输出到
屏幕。要求自定义以下函数:
(1)编写函数int read(int arr[])从数据文件data.txt中读入数据到整型数组arr,返
回读取数据个数值;
(2)编写函数int getMin(int arr[],int n)遍历整型数组,求最小值所在下标。
(3) 在main函数中调用read和getMin函数,完成输出最小值及最小值所在的下标。
46、编写一个程序处理一组日最高气温。从数据文件data.txt中读入一组数据到数组,
程序需要统计并打印出高温天数(最高温度为华氏85或更高),舒适天数(最高温度
为华氏60~85),以及寒冷天数(最高温度小于华氏60),最后显示平均温度。
data.txt中的内容为:
55 62 68 74 59 45 41 58 60 67 65 78 82 88 91 92 90 93
87 80 78 79 72 68 61 59
47、从数据文件读入若干整数值到数组,在数组中删除指定的数(该数键盘输入),
处理后的数组元素再写入另一个数据文件。输出反馈,删除了几个数。
48、编写程序实现功能:数据文件story.txt是一篇英文小故事,请先统计其中26个字
母的出现次数。
要求一:再根据用户要求,输出某个字母的出现次数,直到用户输入#为止。
要求二:请输出出现频率最高的三个字母和它们的出现次数。
49、编写程序实现功能:数据文件data.txt中存放任意一组数值数据,请筛选有效数据
(0到150之间的数)到一个新的数据文件,并统计这组有效数据的个数,总值和平均值,统计结果输出到屏幕。
50、编写程序实现的功能为生日提醒:数据文件data.txt中存放一组职工生日,每行格
式为:name
提示:获取当天系统日期可定义函数getSysYear。
void getSysYear(int *year,int *month,int *day)
{
time_t currTime;
currTime = time(NULL);
struct tm *tt = localtime(&currTime);
*year=tt->tm_year+1900;
*day =tt->tm_mday;
*month=tt->tm_mon+1;
}