标题:请教一下这个问题
只看楼主
AppleBJTU
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-11-9
结帖率:0
已结贴  问题点数:20 回复次数:1 
请教一下这个问题
1.自定义函数double polyfunc(double dArray[], int item, double x),实现一个求由数组dArray表示的多项式的值的函数,其中item为多项式的项数,并在主程序中测试该函数。

数组是才学的,不是很会用,而且还要用函数编,无从下手啊。。很难过,希望能受教学习一番

2.输出n个整数,将这n个数的前m<n/2个数和后m个数交换(数据块交换),要求m从键盘输入。
例如,设有20个数为
23 19 88 71 23 55 32 18 9 2 22 72 66 55 80 33 17 0 102 7
如果m=5,则结果为
33 17 0 102 7 55 32 18 9 2 22 72 66 55 80 23 19 88 71 23 
交换过程由函数实现,函数原型 void BlockExchange(int nArray [], int n, int m); 或void BlockExchange(int * pArray, int n, int m); 在主程序输入数据并调用该函数实现交换,然后在主程序中输出。

这个问题我做了一部分发现也做得不对了,要求是数据块交换,我这样好像只能相邻的比大小交换,所以还请指点一下


程序代码:
#include <stdio.h>
void sort(int nArray[], int n)
{
    int i,temp;
    for(i=0;i<=8;i++)
    {
        if(nArray[i]<nArray[i+1])
        {
            temp=nArray[i+1];
            nArray[i+1]=nArray[i];
            nArray[i]=temp;
        }
    }
    return void sort(); 
}
int main()
{
    int nArray[];
    
}

搜索更多相关主题的帖子: 函数 int 个数 交换 void 
2017-11-10 12:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:20 

#include<stdio.h>

void fun(int *a, int n, int m)
{
    if (m > n/2)
        return;
    int i,j;
    for (i=0,j=n-m; i<m; ++i,++j)
    {
        a[i] ^= a[j];
        a[j] ^= a[i];
        a[i] ^= a[j];
    }
}

void prn(int *a, int n)
{
    int i;
    for (i=0; i<n; ++i)
        printf("%d ", a[i]);
    printf("\n");
}

main()
{
    int a[]={23,19,88,71,23,55,32,18,9,2,22,72,66,55,80,33,17,0,102,7};
    int n=sizeof(a)/sizeof(int), m=5;
    prn(a, n);
    fun(a, n, m);
    prn(a, n);
}
2017-11-12 05:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482331-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.289952 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved