程序改错题汇总
程序改错题汇总
1、用" 起泡法" 对连续输入的十个字符排序后按从小到大的次序输出.
2、分别统计字符串中大写字母和小写字母的个数。
3、求1到10的阶乘的和。
4、判断m 是否为素数,若是返回1,否则返回0。
5、用选择法对数组中的n 个元素按从小到大的顺序进行排序。
6、求一个3行4列矩阵的外框的元素值之和。
7、以下程序把两个数按由大到小的顺序输出来。
8、求1到20的阶乘的和。
9、判断字符ch 是否与str 所指串中的某个字符相同; 若相同,什么也不做,若不同,则将其插在串的最后。(指针)
10、已知一个数列从第0项开始的前三项分别为0、0、1,以后的各项都是其相邻的前三项的和。下列给定程序中,函数fun 的功能是:计算并输出该数列的前n 项的平方根之和sum,n 的值通过形参传入。
11、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
12、编写函数fun 计算下列分段函数的值:
x*x+x x
f(x)= x*x+5x 0≤x
x*x+x-1 其它
13、请编写函数fun, 对长度为8个字符的字符串,将8个字符按降序排列。
14、实现交换两个整数的值。
15、读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。
16、先将在字符串s 中的字符按正序存放到t 串中,然后把s 中的字符按逆序连接到t 串的后面。
17、计算数组元素中值为正数的平均值(不包括0) 。
18、将s 所指字符串中出现的、t1所指子串全部替换成t2所指子字符串,所形成的新串放在w 所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
19、将s 所指字符串中的字母转换为按字母序列的后续字母(但Z 转换为A, z 转换为a ),其它字符不变。
20、在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),后输出矩阵第一行与第三行元素之积, 并在fun()函数中输出。
21、编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数
22、一个已排好序的一维数组,输入一个数number ,要求按原来排序的规律将它插入数组中.
23、编写函数fun 计算下列分段函数的值:
x*20 x
f(x)= sin(x) 0≤x
x*x+x-1 其它
24、判断两个指针所指存储单元中的值的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。
25、将一个正整数分解质因数。
26、输入n ,计算s=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n
27、读入一个整数m( 5≤m≤20 ),函数getarr 调用函数rnd 获得m 个随机整数,函数sortpb
将这m 个随机整数从小到大排序。
28、809*??=800*??+9*??+1 其中?? 代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求?? 代表的两位数,及809*??后的结果。
29、根据整型形参 n,计算某一数据项的值。
A[1]=1, A[2]=1/(1 + A[1]), A[3]=1/(1 + A[2]), „, A[n]=1/(1 + A[n-1])
30、学习使用按位或 | 。
31、判断整数x 是否是同构数。若是同购数,函数返回1;否则返回0。
说明:所谓“同构数”是指这个数出现在它的平方数的右边。
32、输入两个双精度数,函数返回它们的平方和的平方根值。
33、根据整型形参m ,计算如下公式的值:
y=1+1/3+1/5+1/7+... +1/(2m-3)
34、以下程序输出前六行杨辉三角形, 既
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
„„„„
35、根据整型形参m 的值,计算如下公式的值。
1 1 1
t = 1- —— - —— - ... - ——
2x2 3x3 mxm
36、将 m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt 所指字符串中。
37、求出在字符串中最后一次出现的子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL 。
38、有n 个整数,使其前面各数顺序向后移m 个位置,最后m 个数变成最前面的m 个数。
39、编写程序, 求矩阵(3行3列)与5的乘积。
40、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
41、八进制转换为十进制。
42、利用递归方法求5! 。
43、请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
44、先将在字符串s 中的字符按逆序存放到t 串中,然后把s 中的字符按正序连接到t 串的后面。
45、求两数平方根之和,作为函数值返回。
46、读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。
47、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
48、编写函数fun, 求两个整数的最小公倍数,然后用主函数main()调用这个函数并输出结果,两个整数由键盘输入。
49、从m 个学生的成绩中统计出高于和等于平均分的学生人数,此人数由函数值返回。平均分通过形参传回,输入学生成绩时,用-1结束输入,由程序自动统计学生人数。
50、求如下表达式:
1 1 1
S = 1 + —— + ——— + ...... + ———————
1+2 1+2+3 1+2+3+......+n
51、将整型数组中所有小于0的元素放到所有大于0的元素的前面(要求只能扫描数组一次)。
52、编写一个程序计算某年某月有几天。(注意要区分闰年)
53、分别统计输入的字符串中各元音字母(即:A 、E 、I 、O 、U )的个数。
注意:字母不分大、小写。
54、编写函数fun 求20以内所有5的倍数之积。
55、在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。(与22题相似)
56、实现两个字符串的连接。
57、将一个数字字符串转换为一个整数(不得调用C 语言提供的将字符串转换为整数的函数) 。
58、统计出若干个学生的平均成绩,最低分以及得最低分的人数。
59、删除w 所指数组中下标为k 的元素中的值。程序中,调用了getindex 、arrout 和arrdel 三个函数,getindex 用以输入所删元素的下标,函数中对输入的下标进行检查,若越界,则要求重新输入,直到正确为止。arrout 用以输出数组中的数据,arrdel 进行所要求的删除操作。
60、读入一行英文文本,将其中每个单词的最后一个字母改成大写,然后输出此文本行 (这里的“单词”是指由空格隔开的字符串)。
61、根据整型形参 m,计算某一数据项的值。
y = 1/(100*100)+1/(200*200)+1/(300*300)+ „„ +1/(m*m)
62、求出N×M整型数组的最小元素及其所在的行坐标及列坐标
(如果最小元素不唯一,选择位置在最前面的一个) 。
63、用指针作函数参数,编程序求一维数组中的最大和最小的元素值.
64、先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum 。
65、在字符串str 中找出ASCII 码值最大的字符,将其放在第一个位置上,并将该字符的原字符向后顺序移动。
66、编写input()和output()函数输入,输出5个学生的数据记录。
67、求出以下分数序列的前n 项之和。和值通过函数值返回main 函数。
2/1+3/2+5/3+8/5+13/8+21/13 „„
68、计算并输出k 以内最大的10个能被13或17整除的自然数之和。
k的值由主函数传入。
69、将a 所指字符串中的字符和b 所指字符串中的字符, 按排列的顺序交叉合并到c 所指数组中,过长的剩余字符接在c 所指数组的尾部。
70、求两个形参的乘积和商数,并通过形参返回调用程序。
71、移动一维数组中的内容; 若数组中有n 个整数, 要求把下标从0到p(含p,p 小于等于n-1) 的数组元素平移到数组的最后。
72、计算正整数num 的各位上的数字之积。
73、编写函数fun 求1000以内所有8的倍数之和。
74、将s 所指字符串中最后一次出现的、t1所指子串替换成t2所指子串,所形成的新串放在w 所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
75、为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。
76、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
77、生成一个周边元素为5,其它元素为1的3*3的二维数组。
78、删除字符串s 中的所有空白字符(包括Tab 字符、回车符及换行符) 。输入字符串时用'#'结束输入。
79、打印出杨辉三角形(要求打印出10行). (与34题相似)
80、编写函数fun 求20以内所有5的倍数之积。(与54题相同)
81、首先把b 所指字符串中的字符按逆序存放, 然后将a 所指字符串中的字符和b 所指字符串中的字符,按排列的顺序交叉合并到c 所指数组中,过长的剩余字符接在c 所指数组的尾部。
82、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米? 第10次反弹多高?
83、以下程序能求出1*1+2*2+......+n*n
84、输入一个字符串,过滤此串,滤掉字母字符,并统计新生成串中包含的字符个数。
85、使数组左下三角元素中的值乘以n 。
86、输入10个数, 要求输出这10个数的平均值
87、将一个字符串中的大写字母转换成小写字母。
88、编写一个程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。
89、用起泡法对10个整数从小到大排序。
90、将s 所指字符串的反序和正序进行连接形成一个新串放在t 所指的数组中。
91、求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
92、给定n 个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
93、求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。
94、从键盘输入十个学生的成绩,统计最高分,最低分和平均分。max 代表最高分,min 代表最低分,avg 代表平均分。
95、找出一个大于给定整数m 且紧随m 的素数,并作为函数值返回。
96、求0-7这8个数字所能组成的奇数个数。
97、编写函数求2!+4!+6!+8!+10+12!+14!。
98、输入两个实数,按代数值由小到大输出它们, 并在fun()函数中输出。(输出的数据都保留2位小数)
99、求出a 所指数组中最大数和次最大数(规定最大数和次最大数不在a[0]和a[1]中) ,依次和a[0]、a[1]中的数对调。(与91相同)
100、一个偶数总能表示为两个素数之和。
101、给一个不多于5位的正整数,要求:
一、求它是几位数,
二、逆序打印出各位数字。
102、根据以下公式求π值,并作为函数值返回。
例如:给指定精度的变量eps 输入0.0005时,应当输出Pi=3.140578。
π 1 1 2 1 2 3 1 2 3 4
— = 1 + — + — x — + — x — x — + — x — x — x — + ...
2 3 3 5 3 5 7 3 5 7 9
103、写计算级数 ex=1+x+x2/2!+x3/3!+ ...+xn/n! 的值。
104、将若干学生的档案存放在一个文件中,并显示其内容。
105、找出大于m 的最小素数,并将其作为函数值返回。(与95题相同)
106、输出Fabonacci 数列的前20项, 要求变量类型定义成浮点型, 输出时只输出整数部分,输
出项数不得多于或少于20。
107、将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例如:当s 中的数为:87654时,t 中的数为:864。
108、用插入排序法将n 个字符进行排序(降序)。
109、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
110、用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。
π 1 1 1
— = 1 - — + — - — + ...
4 3 5 7
111、求出两个非零正整数的最大公约数,并作为函数值返回。
112、在字符串str 中找出ASCII 码值最小的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
113、编写函数fun 生成一个对角线元素为5,上三角元素为0,下三角元素为1的3*3的二维数组。
114、求广义菲玻那契级数的第n 项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,„„项值通过函数值返回 main ( )函数。
115、求100以内(包括100)的偶数之和.
116、有一数组内放10个整数, 要求找出最小数和它的下标, 然后把它和数组中最前面的元素即第一个数对换位置.
117、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
118、写一个函数,求一个字符串的长度,在main 函数中输入字符串,并输出其长度。
119、读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
120、将6个数按输入时顺序的逆序进行排列.
121、利用二维数组输出如图所示的图形。
*******
*****
***
*
***
*****
*******
122、编写一个函数,输入n 为偶数时,调用函数求1/2+1/4+...+1/n,当输入n 为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
123、编制统计营业员一天的营业额的程序, 设程序采用一个循环实现,每次循环输入一笔交易金额并累计营业额。由于营业员一天完成的交易次数是不确定的,为此以最后附加输入一笔0或负数交易额作为交易金额已全部输入结束的标志。有以下统计营业员一天营业额的算法:
统计营业员一天营业额
{
营业额清0;
输入第一笔交易额;
while(交易额>0.0)
{
累计营业额;
输入下一笔交易额;
}
输出营业额;
}
记一笔交易额为变量sale ,营业额为sigma 。
124、一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
125、编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。
例如:输入3+5=或5-2=或3*4=或4/2=,求表达式结果。
126、输入字符序列,字符序列以特殊字符“#”结束。程序从前向后依次读入字符,并翻译出新的字符输出。翻译的规则是:如果当前读入的字符是数字符,如果该字符的面值为n ,则它的后一个字符(包括数字符) 需重复输出n+1次如果当前读入的字符不是数字符,则输出该字符。输出时,以上述一次翻译为一组,不同组间输出用一个空白字符隔开。翻译直至当前读入的字符为字符‘#’,结束翻译和输出。
127、某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后除以10的余数代替该位数字。再将新生成数据的第一位和第四位交换,第二位和第三位交换。例如:输入一个四位整数1234,则结果为:9876。
128、根据整型形参m ,计算如下公式的值:
y=1/2+1/8+1/18+... +1/2m*m
129、利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A 表示,60-89分之间的用B 表示,60分以下的用C 表示。
130、实现3行3列矩阵的转置,即行列互换。
131、将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。
例如:当s 中的数为:87653142时,t 中的数为: 7531。
132、下题是一段有关结构体变量传递的程序.
133、有n 个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
134、企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于
10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%; 20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I ,求应发放奖金总数?
135、将字符串s 中最后一次出现的子字符串t1替换成字符串t2, 所形成的新串放在w 所指的数组中,在此处,要求t1和t2所指字符串的长度相同。
136、计算正整数num 的各位上的数字之积。