计算结果在main函数中输出。
例如,输入下面的矩阵:其转置矩阵为: 程序输出: 2 6 10 6 10 14 10 14 18
void fun (int a[3][3], int b[3][3]) {
int i,j;
for(i=0;i<3;i++) for(j=0;j<3;j++)
b[i][j]=a[i][j]+a[j][i]; /*把矩阵a加上a的转置,存放在矩阵b中*/ }
第三十四套
1.请补充函数fun,该函数的功能是:把数组aa中的偶数元素按原来的先后顺序放在原数组后面。
例如,若输入\,输出结果为\。 (1) aa[i]%2==0 (2) i 2.下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。 请改正程序中的错误,使它能得出正确的结果。 (1)void fun(int *x, int *y) (2)t=*x; *x=*y; *y=t; 3.请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把0至9岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。结果在主函数中输出。 void fun(int *a, int *b) { int i,j; for(j=0;j b[j]=0; /*数组b初始化为0]+) if(a[i]>=100) b[10]++; /*如果年龄大于等于100,b[10]自增1]+; /*如果年龄小于100,则将其分别统计到b[a[i]/10]中*/ } 第三是五套 1.程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。 例如,若传给形参a的数据中学号、姓名和三门课的成绩依次是:10001、\、95、80、88,修改后的数据应为:10002、\、96、81、89。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) struct student (2) a.name (3) a.score[i] 2.假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素。变量n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 (1)if(p==n) return -1; (2)a[i]=a[i+1]; 3.学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。 int fun(STREC *a,STREC *b) { int i,j=0,n=0,min; min=a[0].s; for(i=0;i *(b+j)=a[i];j++;n++; } return n; } 第三十六套 1.请补充main函数,该函数的功能是:将字符串str中的字符向前移动一位,原来在第一个位置上的字符移动到字符串尾,结果仍然保存在原字符串中。 例如,输入\?\,则结果输出\?h\。 (1) str[i+1] (2) str[i]=ch 2.下列给定程序中,函数fun实现的功能是:统计一个无符号整数中各位数字值为0的个数,通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为0的位的个数为3,各位上数字值最大的是8。 请改正函数fun中的错误,使它能得出正确的结果。 (1)if(t==0) (2)*zero=count; 3.请编写函数fun,该函数的功能是:移动字符串中的内容,移动的规则是把第1~m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。 例如,字符串中原有的内容为ABCDEFGHIJK,m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。 void fun (char *w,int m) { int i,j; char t; for(i=1;i<=m;i++) /*进行m次的循环左移*/ { t=w[0]; for(j=1;w[j]!=′\\0′;j++) /*从第2个字符开始以后的每个字符都依次前移一个字符*/ w[j-1]=w[j]; w[j-1]=t; /*将第1个字符放到最后一个字符中*/ } } 第三十七套 1.下列给定程序中,函数fun的功能是:将形参s所指字符串中下标为奇数的字符取出,并按ASCII码大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新串。 例如,形参s所指的字符为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1)t=i (2) i (3) ′\\0′或0 2.下列给定程序中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。 例如,程序运行后,输入0.0001,则程序输出3.1414。 请改正程序中的错误,使它能输出正确的结果。 (1)while(fabs(t)>=num) (2)t=s/n; 3.编写函数fun,其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的数组中,n中存指定的下标。 例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。 void fun (char a(), char b(), int n) { int i,k=0; for(i=0;a[i]!=′\\0′;i++) if(i!=n) /*将不是指定下标的字符存入数组b中*/ b[k++]=a[i]; b[k]=′\\0′; /*在字符串最后加上结束标识*/ } 第三十八套 1.给定程序的功能是:判断字符ch是否与串str中的某个字符相同,若相同什么也不做,若不同则插在串的最后。 (1) != (2) str[1]或*(str+1) (3) s,c 2.下列给定的程序中,fun函数的功能是:将p所指的字符串中每个单词的最后一个字母改成大写(这里的\单词\是指有空格隔开的字符串)。 例如,若输入: I am a student to take the examination 则应输出:I aM A studenT tO takE thE examinatioN 请改正程序中的错误,使它能得出正确的结果。 (1)if(*p==′ ′) (2)*(p-1)=toupper( *(p-1)); 3.编写函数fun,w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数作为函数值返回。 例如,w值为5923,则函数返回923;若w值为923,则函数返回23。 unsigned fun(unsigned w) { if(w>=10000) return w000; /*求出n位整数w的后n-1位的数*/ if(w>=1000) return w00; if(w>=100) return w0; if(w>=10) return w; } 第三十九套 1.函数fun的功能是:从三个形参a、b、c中找出中间的数,并作为函数值返回。 例如,当a=3,b=5,c=4时,中间的数为4。 (1) a (2) a (3) b 2.下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。 请改正程序中的错误,使它能得出正确的结果。 (1)for(i=1;i<=y;i++) (2)t=t00; 3.请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依此放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应该是33 33 33 33 44 44 44 44 55 55 55 55 void fun (int (*s)[10], int *b, int *n, int mm, int nn) { int i,j,k=0; for(i=0;i *n=k; /*通过指针返回元素个数*/ } 第四十套 1.下列给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为baacda,c中的字符为a,执行后s所指字符串为baaaacdaa。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) ′\\0′ (2) 0 (3) c 2.在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。 例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。 请改正程序中的错误,使它能得出正确的结果。 (1)double sum=0.0; (2)sum/=c; 3. 编写函数fun,其功能是:根据以下公式计算s,并计算结果作为函数值返回,n通过形参传入。 例如:若n的值为11时,函数的值为1.833333 float fun(int n) { int i,s1=0; float s=0.0; for(i=1;i<=n;i++) { s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; } s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; /*求多项式的值*/ } return s; } 第四十一套 1.下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:asd123fgh543df,处理后新字符串为:asdfghdf123543。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 (1) s[i] (2) k (3) '\\0'或0 2.下列给定程序中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为:\,t1所指串中的内容为\,t2所指子串中的内容为\时,结果在w所指的数组中的内容应为\。 请改正程序中的错误,使它能得出正确的结果。 (1)while (*w)