C语言练习题

1、    使用常量M, N和给定的变量(不准额外定义),在如下程序框架内写程序,以M行N列显示Fibonacci数列的前M*N项。
2、    输入10个实数,求和并输出。
3、    输入M个实数,边输入边求和,最后输出结果。
4、    输入M个实数到数组中,然后再由其求和,最后输出和的结果。
5、输入M个实数到数组中,然后两两求积再求和,即
a[0]*a[1]+a[2]*a[3]+....,最后输出计算结果。
6、    入M个实数到数组中,然后求最大值,并输出该值
7、    在自定义函数中实现,输入M个实数到数组中,然后求最大值,并在主函数中输出该值。
8、    输入M个实数到数组中,然后求最大值,并记下取该值的元素下标,最后输出那两个值
9、输入十二个实数到数组中,然后求最大值,并记下取该值的元素行标和列标,
    假设数组元素被摆成三行四列的矩阵,(如下所示), 最后输出那三个值。
        a[0]  a[1]  a[2]  a[3]
        a[4]  a[5]  a[6]  a[7]
        a[8]  a[9]  a[10] a[11]
10、    输入M个实数到数组中,然后求这些数的平均值和平方差,最后输出这两个值。
11、通过输入M个字符实现M个实数到数组的输入,假设字符与实数的对应关系为:
    ‘a‘ --> 30.5   ‘b‘ --> 28.7  ‘c‘ --> 12.78  ‘d‘ --> 8.6
    ‘z‘ --> 100.0  ‘y‘ --> 7.0   ‘x‘ --> 92.1   ‘w‘ --> 50.5
其它字符对应于 0.0 。(请使用switch语句实现)
12、    在给定的程序框架内完成程序(只允许在有指示处写内容,不能额外定义变量),实现求两个数的最大公约数。
13、    在给定的程序框架内完成程序(只允许在有指示处写内容,不能额外定义变量),实现求两个数的最小公倍数。
14、从键盘输入两个数x,y,以及两者要进行的运算m,输出此两数进行运算后的值。其中m取“+,-,×,/”。
例如:
输入 4,6,+
输出 4+6=10 

15、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

16、求sn=a+aa+aaa+•••••••• •• •+aa•••••••• •• •a之值,其中a是一个数字。

 例如:2+22+222+2222+22222(此时n=5),n由键盘输入。

  
17、 求    (即求:1+2!+3!+4!+•••••••• •• •+20!)


18、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+33+53

19、用选择法或冒泡法对10个整数排序

20、编写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。(利用指针完成)

21、编写一函数void  link (char *p1,char *p2) 将两个字符串连接起来。不要用strcat函数。从主函数中输入两个字符串,并输出连接后的字符串。

22、求用递归法实现n!

23、实现求字符串的长度的int length(char *p)函数。从主函数接收一字符串,调用此函数得到字符串长度,将长度返回主函数输出。

24、写一个函数void  copy (char *p , char str2[] , int m),从主函数接受一字符串,完成将此字符串从第m个字符开始的全部字符复制成为另一个字符串str2,并输出str2。

25、有五个学生,每个学生有2门课的成绩,从键盘输入以上数据(包括学生号,两门课成绩),计算出平均成绩

26、有一个已经排好序的数组,写一函数void  sort ( int  *p, int n),实现输入一个数n,要求按原来的规律将它插入数组中,并在主函数中输出插入数后的数组。

27、写一个函数,实现两个字符串比较。即自己写一个strcmp函数。函数原型为:
 int strcmp(char *p1,char *p2) 设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0。当s1不等于s2时,返回它们二者的第一个不同字符的ASCII码差值。(如“”BOY”与“BAD” 的第二个字母不同,“O” 与“A“之差为79-65=14)。若s1>s2返回正值,如果s1<s2,则输出负值。

28、求一3×3矩阵的对角线元素之和。要求矩阵元素为整型,数据从键盘输入。运算后输出结果。

29、 利用循环语句打印图形。
* * * * *     
    * * *       
             *

30、 求1~100内所有奇数之积、和。

31、 从键盘输入一字符串str1,写一函数 void  fun ( char *p),将str1中的所有空格去掉,在主函数中将str1输出。
32、计算:s=1+1/2+1/3+....+1/10
33、求下标为偶数的元素的和。
34、求100—200之间的素数并输出。
35、译码将每个字母变成其后的第四个字母。例a--e,A--E,z--d,Z—D
36、用冒泡排序法从键盘输入10个数,按降序排序。
37、用冒泡排序法从键盘输入10个数,按升序排序。
38、有一3*4阶矩阵,求出最大值,及其所在的行号和列号。
39、从键盘输入字符串,查单词个数
40、通过函数调用求两个数的最大值。
41、通过函数调用求两个数的最小值。
42、通过函数调用求两个数的和。
43、求数列 1!+2!+3!+……+20!  的和。
44、求 1+2+……+100  + 1*1+2*2+……+50*50 + 1+1/2+1/3+……+1/10  的和。
45、用选择法将10个数降序排序。
46、用选择法将10个数升序排序。
47、有一个已排好序的数组,输入一个数,按原来的顺序将它插入数组中。 
48、将两个字符串连接起来。
49、打印杨辉三角形,打印10行
50、有一个一维数组score,内存放10个学生成绩,求平均成绩。
51、通过函数调用求5!
52、通过指针输出a,b的值
53、通过指针输出数组中的元素。
54、将数组arr中的10个元素逆序排放。
55、将字符串a复制到字符串b中。
56、将字符串数组a拷贝到字符串数组b中。
57、比较三个数a,b,c的大小
58、比较三个数a,b,c的大小,找出其中最大值。
59、比较三个数a,b,c的大小,找出其中最小值。
60、利用指针输出a数组中的10个数。
61、有5个人,问年龄,第5个人说比第4个人大两岁,第4个人说比第3个人大两岁,
第3个人说比第2个人大两岁,第2个人说比第1个人大两岁,第一个人10岁,求第5个人多大?  
62、按顺序输入5名学生的4门成绩,计算每位学生的平均成绩输出结果。 
63、将数组b中从第二个字符开始的字符串复制到数组a的第一个字符后,构成新字符串。
64、实现前两个字符串的连接,将结果保存到s[0]中。
65、求 Fibonacci 数列前 40 项。 要求每4个 数一行输出。
66、从键盘输入一个数并判断该数是否为素数。
67、求 Fibonacci 数列前20项,5项一行输出。
68、将一个二维数组行和列元素互换,存到另一个二维数组中,并输出两个数组。
69、输入一行字符,统计有多少个单词,单词之间用空格分开。
70、从键盘输入三个字符串比较大小,输出最大的字符串。
71、通过函数调用方式求两个数的最大值,并输出。
72、通过函数调,用递归法求n的阶乘,n从键盘输入。
73、求数列  2/1 , 3/2 , 5/3 , 8/5 , 13/8 ……   前20项和。
74、输入10个字符,统计字母,空格,数字,其他字符个数。
75、用选择法将10个数由小到大排序。
76、将数组s2中的全部字符拷贝到数组s1中,不用strcpy函数。
77、将一个数组中的5个数按逆序重新存放并输出。例:2 4 6 9 3  输出: 3 9 6 4 2 
78、打印图形
            * * * * *
              * * * * *
                * * * * *
                  * * * * *
* * * * *
79、将字符数组s2中的全部字符拷贝到字符数组1中
80、用选择法对数组a中的10个数按由小到大的顺序排序
81、求n!  
82、从10数中找出最大最小值。
83、    将字符串a复制为字符串b  (比如:I am a boy.)
84、    求a,b中大者
85、    有n个数,使前面m个数顺序向后移m个位置,最后m个数变成最前面m个数。
86、    有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
87、    企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
88、    一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
89、    输入某年某月某日,判断这一天是这一年的第几天?
90、    输出9*9口诀
91、    编一C程序,它能读入一个字符串(串长<100,串中可能有空格符),计算并输出该字符串中十进制数字的个数。
92、    编一C程序,它能读入一正整数n,(n<10),并输出如下图形:
                     1
                   2 2 2
                 3 3 3 3 3

93、    编一C程序,它能读入矩阵A的行数L,列数M,矩阵B的列数N,矩阵B的行数是M。L,M,N值都小于20),  以及按行读入矩阵A的L*M个元素(整数)及矩阵B的M*N个元素(整数),计算并输出A与B的矩阵乘积(按行,列输出)。(输入时,相邻的两个整数用空格隔开)。
94、    编一C程序,它能依次读入三组d1、r1、d2、r2、d3、r3共18个非负整数(其中0<=r1<d1,0<=r2<d2,0<=r3<d3),对每组6个非负整数依次判断是否有正整数n,满足n%d1=r1且n%d2=r2且n%d3=r3,若有,则输出其中最小者;否则,输出No。(输入整数时,相邻的两个用空格隔开)。
95、    编一C程序,它能反复读入正整数(相邻的用空格隔开),并判断它是否为素数(质数),若是,则输出“yes”,否则,输出“no”,直到读入1时,程序终止执行。
96、    编一C程序,它能读入21个整数(相邻的两个数用空格隔开),并输出值为中间的整数的值(即恰有10个值小于它,恰有10个值大于它)。
97、    编一C程序,它能读如若干浮点数f1、f2、...fn(以-9999.0为结束标记,-9999.0不算在内)并输出在f2、f3、...fn这n-1个数中大于f1的数的个数、等于f1的数的个数和小于f1的数的个数。
98、    把100—200之间不能被3整除的数输出。
99、    用∏/4≈1-1/3+1/5-1/7+……公式来求∏的近似值,直到最后一项的绝对值小于10-6为止。
100、    求数列2/1,3/2,5/3,8/5,13/8,21/13……的前20项的和

你可能感兴趣的:(C++,c,框架,C#,D语言)