例题:函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如,若a所指数组中的数据依次为:11 22 33 1 44 55 66,则调换后为:44 55 66 1 11 22 33。
请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写所需的若干表达式或语句。
代码如下:
#include<stdio.h>
#define M 7
void fun(int b[],int n)
{
int j,temp,p;
p=(n%2==0)?n/2:n/2+1;
for(j=0;j<n/2;j++)
{
temp=b[j];
b[j]=b[p+j];
b[p+j]=temp;
}
}
main()
{
int x[M]={11,22,33,1,44,55,66},i;
printf("\nThe original data:\n");
for(i=0;i<M;i++)
printf("%4d",x[i]);
printf("\n");
fun(x,M);
printf("\nThe data after moving:\n");
for(i=0;i<M;i++)
printf("%4d ",x[i]);
printf("\n");
}
输出运行窗口如下:
本周其他练习
C语言编程>第二十六周 ① 函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
C语言编程>第二十六周 ② 下列给定程序中函数fun的功能是:将字符串中的内容按逆序输出,但不改变字符串中的内容。
C语言编程>第二十六周 ③ 请补充fun函数,该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回 “no!”。
C语言编程>第二十六周 ④ 请补充 main函数,该函数的功能是:从键盘输入一个字符串并保存在字符s1中,把字符串s1中下标为奇数的字符保存在字符串s2中并输出。
C语言编程>第二十六周 ⑤ 在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中值为正数的平均值(不包括0)。
C语言编程>第二十六周 ⑥ 请补充fun函数,该函数的功能是:按 “0”到 “9”统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。
C语言编程>第二十六周 ⑦ 下列给定程序中,函数fun的功能是:从字符串s中删除所有小写字母 “c”。
C语言编程>第二十六周 ⑧ 请补充fun函数,该函数的功能是在字符串的最前端加入num个 “*”号,形成新串且覆盖原串。
越努力越幸运!
加油,奥力给!!!