C语言基础题

更新时间:2023-11-14 21:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Jussy整理。 第一期:

1. 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如:153是一水仙花数,因为153=1+125+27.

2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如:6的因子是1,2,3,而6=1+2+3因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,3

3. 有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,?求出这个数列的前20相之和。

4.一个球从100M高度自由下落,每次落地后反跳回原高度的一半,再落下,再反弹,求它在第10次落地时,共经过多少米,第10次反弹多高。

5.猴子吃桃问题。猴子第一天,摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。第二天早上又将剩下的桃子吃掉一半,有多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,就只剩一个桃子了。求第一天共摘了多少个桃。

6.两个乒乓球队进行比赛,各出3人。甲队为A,B,C;乙队X,Y,Z。以抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3队赛手的名单。

7.将一个二维数组行和列的元素互换,存到另一个数组中。原始二位数组手动输入,行和列自定。

8.输出以下的杨辉三角形(要求输出15行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

9.输出“魔方阵”。所谓魔方阵就是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如三阶魔方阵为: 8 1 6

3 5 7 4 9 2

要求输出1~n2的自然数构成的魔方阵。

10.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

第二期:

1.有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。

2.有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

3.输出以下图案:

* * * * * * * * * * * * * * * * * * * * * * * * *

4.有一行电文,已按下面规律译成密码: A→Z a→z B→Y b→y C→X c→x . . . . . .

即第一个字母编程第二十六个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

5.编译程序,将两个字符串连接起来,不要用strcpy函数。

6.编写一个程序,将字符数组S2中的全部字符复制到字符数组S1中。不用strcpy函数。复制时,'\\0'也要复制过去。'\\0'后面的字符不复制。

7.用递归方法求n!

8.给定d的值,输入a和m,求a*b和a的m次方的值。

9.写两个函数,分别求两个整数的最大公约数和最小公倍数,主函数调用这两个函数,并输出结果。两个整数有键盘输入。

10.写出一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息。

第三期:

1.写一个函数,给定的一个3*3的二维整型数组转置,即行列互换。

2.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

3.写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。如输入1990,应输出“1 9 9 0”。

4.编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。

5.写一个函数,输入一行字符,将此字符串中最长的单词输出。

6.写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。

7.写几个函数:

①输入10个职工的姓名和职工号;

②按职工号由小到大顺序排序,姓名顺序也随之调整;

③要求输入一个职工号,用折半查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。

8.写一个函数,输入一个十六进制数,输出相应的十进制数。

9.用递归法讲一个整数n转换为字符串。例如,输入483,应输出字符串“483”。n的位数

不确定,可以使任意位数的整数。

10.给出年、月、日,计算该日是该年的第几天。

第四期:

全部使用指针做

1.输入a和b两个整数,按先大后小的顺序输出a和b。(用指针)

2.用指针方法对10个整数按由大到小顺序排序。

3.有一个3*4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值。

4.将字符串a复制为字符串b,然后输出字符串b.

5.输入两个整数,然后让用户选择1或2,选1时调用max函数,输出二者中的大数,选2时调用min函数,输出二者中的小数。(用指针)

6.有两个整数a和b,由用户输入1,2或3。如输入1,程序就给出a和b中大者,输入2,就给出a和b中小者,输入3,则求a与b之和。

7.①输入三个整数,按由小到大的顺序输出。 ②输入三个字符串,按有小到大的顺序输出。

③输入十个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数,输入十个整数,进行处理,输出十个数。

8.有n个整数,是前面各数顺序向后移m个位置,最后m个数变成最前面m个数,协议函数实现以上功能,在主函数输入n个整数和输出调整后的n个数。

9.有n个人围成一圈,顺序排号。从第一个人开始报数(从一到三报数),凡报到三的人退出圈子,问最后留下的是原来第几号的那位?

10.写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。

第五期:

!!!!用指针!!!!

1.有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。

2.输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。

3.写一函数,将一个3*3的整型矩阵转置。

4.将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。

5.在主函数中输入十个等长的字符串。用另一函数对它们排序。然后在主函数输出这十个已排好序的字符串。

6.用指针数组处理上一题,字符串不等长。

7.将n个数按输入是顺序的逆序排列,用函数实现。

8.有一个班四个学生,五门课程。①求第一门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。

9.输入一个字符串,内有数字和非数字字符,例如:A123x456 17960? 302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中。例如:123放在a[0],456放在a[1]?? 统计共有多少个整数,并输出这些数。

10.写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为 int strcmp(char * p1,char * p2);设p1指向字符串s1,p2指向字符串s2.要求当s1=s2时,返回值为0;若s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY”与“BAD”,第2个字母

本文来源:https://www.bwwdw.com/article/5hmv.html

Top