细心的读者肯定会认识到这个函数好象有点问题,因为数组元素的个数不一定都是10啊?
没错,所要对这个函数还需要改进。遗憾的是C语言没有提供什么好的办法获取参数中一个数组的长度,所以这里可以把数组长度作为参数传递过去。改进后的对数组排序的函数如下所示:
void sortArray(int a[],int len) {
int i,j,k,temp;
for(i=0;i
int a[10]={3,5,7,9,1,2,34,43,22,12},i; sortArray(a,10); for(i=0;i<9;i++) printf(\ printf(\
int b[5]={6,3,8,9,1}; sortArray(b,5); for(i=0;i<5;i++) printf(\}
程序设计
1 编写函数test(a,n),判断n维数组是否为对称矩阵,是则返回1,否则返回0。 2 编写一个能对任意m×n阶矩阵进行转置运算的函数Transpose()。 3 一个14*14方阵(i,j),其每个元素的值为该元素下标的立方和,求出该矩阵所有元素的累加和(注:i, j从1到14);
4 输入5×5阶的矩阵,编程实现: (1)求两条对角线上的各元素之和。
(2)求两条对角线上行、列下标均为偶数的各元素之积。
5 利用公式cij=aij+bij计算m×n阶矩阵A和m×n阶矩阵B之和。已知aij为矩阵A的元素,bij为矩阵B的元素,cij为矩阵C的元素(i=1,2,?,m;j=1,2,?,n)。
6 利用公式cij=k?1?aikn*bkj计算矩阵A和矩阵B之积。已知aij为m×n阶矩阵A的元
素(i=1,2,?,m;j=1,2,?,n),bij为n×m阶矩阵B的元素(i=1,2,?,n;j=1,2,?,m),cij为m×m阶矩阵C的元素(i=1,2,?,m;j=1,2,?,m)。
7.编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。
8.从键盘输入一个字符串,然后按照下面要求输出一个新字符串,新串是在原串中,每两个字符之间插入一个空格,如原串为abcd,则新串为abc d. 要求在函数insert中完成新串的产生,并在函数中完成所有相应的输入和输出。
9.设有一数列,包含10个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用函数。试编程。
10编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。
11.有十个字符串,在每个字符串中,找出最大字符按一一对应的顺序放入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串中的最大字符,要求用函数实现
12.把两个已按升序排列的数组合并成一个升序数组,要求用函数实现 13 求出某数组a[5][5]每行元数的平均值。 14 将二维数组c[3][4]转换成一维数组d[12]。
15 计算一个3×3矩阵的主对角线的元素之和sum。
16 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问一年中每个月的兔子总数为多少?
提示:斐波拉契数据列
17 对于一个不多于5位的正整数,要求:求它是几位数?分别显示每一位数字(以逗号分开);按逆序输出每一位数字,如输入12345,输出:
5
1,2,3,4,5 5,4,3,2,1 18 已知:
x1=(a1+2*a2+a3)/4, x2=(a4+2*a5+a6)/4 ,......,x1=(a28+2*a29+a30)/4 y1=(a1*a30)/a11, y2=(a2*a29)/a12,……, y10=(a10*a21)/a20 输出30个整数a1, a2, a3, ……, a30,计算所有的x与y。 19 编程实现从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。用一个函数Inverse(),实现将字符数组中的字符串逆序存放的功能
20 输入一行字符,统计其中的英文字符、数字字符、空格和其他字符的个数。 21 判断一字符串是否为回文。回文是指顺读和逆读都一样的字符串,如123321、madam。
22 编写函数long strtoint(char a[]),将保存在字符数组(只包含整数数字字符)a中的数字串转换为相应的整数。
23 输入一行字符串,统计该字符串中字符对“ab“的个数。
24 从键盘输入一个字符串,编写一个函数,将此字符串中从第m个字符开始的n个字符复制成另一个字符串。
25有一个数列,它的头3个数为0, 0, 1,以后的每个数都是前三个数的和,求此数列的前30项之和。
26 已知:f(0)=f(1)=1, f(2)=0, f(n)=(f(n-1)-2f(n-2)+f(n-3) (n>2),求f(0)到f(50)中的最小值。
27用程序模拟骰子的6000次投掷,用rand函数产生1~6之间的随机数face,然后统计1~6每一面出现的机会(概率)存放到数组frequency中。
28从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。
29从键盘输入一行字符,统计其中有多少单词。假设单词之间以空格分开。
30实现函数Squeeze(char s[],char c)的功能是删除字符串s中所出现的与变量c相同的字符,并写main函数测试它。
31实现函数MyStrcmp()用于实现函数strcmp()的功能,将两个字符串s和t进行比较,然后将两个字符串中第一个不相同字符的ASCII码值之差作为函数值返回。
32不用函数strcat(),编程实现字符串连接函数strcat()的功能,将字符串srcStr连接到字符串dstStr的尾部。
33从键盘任意输入10个整数,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。
34 25个人围成一个圈,从第1个人开始顺序报号,凡报号为3和3的倍数者退出圈子,找出最后留在圈子中的人原来的序号。
35 编写一个交换变量值的函数,利用该函数交换数组a和数组b中的对应元素值。 36 编写函数atof(),能把输入的字符串转换成浮点数。要求能处理科学计算表达式,如:“123.45e-5”
37 编写一个函数,输入一行字符,将此字符串中最长的单词输出。 38 求3~1000中最大的5个素数之和。
39 图书管理系统。图书信息包括:书号、书名、读者姓名、借书日期、还书日期,要求用方法实现功能:查找某个读者所借图书的信息;某段时间之内所借图书的信息。
假设已经借出的图书信息如下表所示:
书号 C001 思想 C002 导学 要求查找读者刘志军所借图书的信息和2009年1月24日所借图书的信息。 Java语言张强 2009-1-24 书名 Java编程读者姓名 刘志军 借书日期 2009-1-24 还书日期 2009-1-29
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB6 数组(2)在线全文阅读。
相关推荐: