C语言练习2
  1. 数值问题
    1. 从键盘输入整数N,输出小于等于N的所有素数
    2. 输入三个整数x,y,z,请把这三个数由小到大输出。
    3. 输入整数N,并输入N个整型,输出这N个整数中最大值。
    4. 从键盘输入x的值,计算并打印下列分段函数的值。

                  y=0(x<60)
                  y=1(60<=x<70)
                  y=2(70<=x<80)
                  y=3(80<=x<90)
                  y=4(x>=90)
    5. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数。请问该数是多少
    6. 输入整数N和M,输出[M,N]之间所有素数。
    7. 输入整数N,求1+2!+3!+...+N!的和
    8. 输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
    9. 输入一个正整数,将它分解质因数输出。例如:输入90,打印出2 3 3 5。
    1. 输入两个正整数m和n,输出它们的最大公约数和最小公倍数。
    2. 输入整数N,输出小于等于N的所有完数。完数是指一个数恰好等于它的所有因子之和。例如6=1+2+3.
    3. 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
    4. 输入一个5位数,判断它是不是回文数。回文数比如12321,个位与万位相同,十位与千位相同。
    5. 编写函数int fun(int N, int a[]),功能是:求出小于等于N的能被7或11整除、但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,函数返回这些数的个数。
    6. 输出九九乘法表。
    7. 输入N,输出N层的杨辉三角形(前5层如下图)

                  1
                  1 1
                  1 2 1
                  1 3 3 1
                  1 4 6 4 1
    8. 输入整数N,计算1-1/2+1/3-1/4+...+1/(2*N-1)-1/(2*N)的值。
    9. 输入整数N,计算1+1/2+1/4+1/6+1/8...+1/(2*N)的值。
    10. 从键盘输入一个5*5整型数组赋值,找出其中的最小值并显示出来。
    11. 从键盘输入10个整数存入一数组中,然后将该数组中的各元素按逆序存放后显示出来。
    12. 计算一维数组中所有元素的平均值。
    13. 打印出如下图案(菱形)

                     *
                    ***
                   ******
                  ********
                   ******
                    ***
                     *
    14. 对10个数进行排序
    15. 编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
    16. 编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。函数的功能是:删除所有值为y的元素。
    17. 编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
    18. 编一个函数float fun(double h),函数的功能是对变量h中的值保留2位小数,并对第三位进行四舍五入(规定h中的值为正数)。例如:h值为8.32433,则函数返回8.32;h值为8.32533,则函数返回8.33。
    19. 编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数:利用指针odd返回奇数之和,利用指针even返回偶数之和。例如:数组中的值依次为:1,8,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。
    20. 编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n>=2)位的整数,函数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。

    21. 把20个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
    22. 编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。例如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcba。
    23. 请编写一个函数void fun(char a[],int k,int n),其功能是:删除字符串中指定下标开始的n 个字符。其中,a指向字符串,k中存放指定的下标。例如,字符串内容为:Hellollo World!,k中值为:5,n中的值为:3,则调用该函数的结果为:Hello World!。
    24. 请编写一个函数int fun(int x),它的功能是:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。所谓“同构数”是指这样的数,它出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。x的值由主函数从健盘读入,要求不大于100。
    25. 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。
    26. 请编一个函数fun(char *s),函数的功能是把字符串中所有的字符前移一个位置,串中的第一个字符移到最后。例如:原有的字符串为:Mn.123xyZ,则调用该函数后,串中的内容为:n.123xyZM。
    27. 请编写函数fun,函数的功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。例如,若输入:17,则应输出:9和4 6 8 9 10 12 14 15 16。
    28. 请编一个函数fun(char *s),函数的功能是把字符串中所有的字母改写成该字母的下一个字母,最后一个字母z改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他的字符不变。例如:原有的字符串为:Mn.123zyZ,则调用该函数后,串中的内容为:No.123yzA。
    29. 请编写函数fun,函数的功能是:将s所指字符串中、下标为奇数位置上的大写字母转换为字母序列中的下一个小写字母;若该位置上是小写字母,则不转换;若该位置上是大写字母Z,则仅转换成小写字母z。例如,输入:ABCdxZZZ,则输出为:AcCdXzZz

    30. 程序定义了N*N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:给数组周边元素置0值。
    31. 请编写函数fun,它的功能是:求出ss所指字符串中、指定字符的个数,并返回此值。例如:若输入字符串:123412132,输入字符为:1,则输出:3。
    32. 请编写函数fun,求出数组周边元素的平均值并作为函数值返回给主函数。
    33. 请编写函数fun(int a[][N]),函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、……、其他依次类推。
    34. 编写函数fun,函数的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。
    35. 请编写函数fun(int a[][N]),函数的功能是:使数组第一行元素中的值与最后一行元素中的值对调、第二行元素的值与倒数第二行中的值对调、……、其他依次类推。
    36. m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回。例如,当score 数组中的数据为:10、20、30、40、50、60、70、80、90、时,函数返回的人数应该是4,below中的数据应为:10、20、30、40。
    37. 请编写函数fun(int a[][N]),函数的功能是:使数组左下半三角元素中的值全部置成0。
    38. 请编写函数fun(int a[][N]),函数的功能是:使数组右上半三角元素中的值全部置成0。
    39. 编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并放在pp所指的数组中,这些除数的个数通过形参n返回。例如,若x 中的值为:30,则有4个数符合要求,它们是1,3,5,15。
    40. 将两个两位数的整数a、b合并形成一个整数放在c中。合并的方式是:将a的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如:当a=45,b=12。调用该函数后,c=4251
    41. 请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37。
    42. 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。已给出函数的首部,请完成该函数。
    43. 已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。
    44. 将一个数组逆序。
    45. 从键盘输入年号和月号,计算这一年的这一月共有几天.
  2. 矩阵问题
    1. 实现矩阵(3行3列)的转置(即行列互换)。
    2. 编写函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。
    3. 请编写函数fun(int a[][N],int m),函数的功能是:使矩阵右上半三角元素中的值乘以m。
    4. 请编写函数fun(int a[][N],int n),函数的功能是:使矩阵左下半三角元素中的值乘以n。
  3. 字符串问题
    1. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    2. 编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按降序排列。例如,原来的字符串为CEAedca,排序后输出为CedcEAa。
    3. 函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例:若程序执行时,输入字符串为:turbo c and Borland c++,从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++,如果输入的字符串不存在,则字符串照原样输出。
    4. 请编写一个函数void fun(char a[],int k,int n),其功能是:删除字符串中指定下标开始的n 个字符。其中,a指向字符串,k中存放指定的下标。例如,字符串内容为:Hellollo World!,k中值为:5,n中的值为:3,则调用该函数的结果为:Hello World!。
    5. 写一个函数void fun(char *tt,int pp[]),统计在tt字符串中’a’到’z’26个字母各自出现的次数,并依次放在pp所指数组中。例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    6. 编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat)。例如,分别输入下面两个字符串:

      FirstSrting—
      SecondString

      程序输出:

      FirstString—SecondString
    7. 编写一个函数,该函数可以统计一个字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。
    8. 输入字符串,统计其中小写字母的个数。
    9. 输入字符串,分别统计其中字母(不区分大、小写)、数字字符和其它字符的个数。
    1. 输入字符串,删除下标为奇数、同时ASCII值也为奇数的字符。
    2. 写一个函数,从传入的num个字符串中找出最长的一个字符串,并返回该串地址。

C语言练习2 (2008-10-07 09:08:58由czk编辑)