编写一个C语言程序

完成下列函数的定义:
void Add(int* a,int* b,int* c,int n);
void Mult(int* a,int* b,int* c,int n);
//功能说明:一维矢量的加乘功能实现,n为矢量长度。其中a、b为参与运算的数组的指针,c为答案数组的指针;
乘积:c[i]=a[i]*b[i]
加法:c[i]=a[i]+b[i]
要求在主函数调用定义好的函数完成一维矢量加乘。

#include <stdio.h>

void Add(int *a,int *b,int *c,int n)

{

int i;

for(i=0;i<n;++i)

{

c[i]=a[i]+b[i];

}

}

void Mult(int *a,int *b,int *c,int n)

{

int i;

for(i=0;i<n;++i)

{

c[i]=a[i]*b[i];

}

}

int main()

{

int n,*a,*b,*c,i;

printf("输入矢量n:");

scanf("%d",&n);

a=(int *)malloc(sizeof(int)*n);

b=(int *)malloc(sizeof(int)*n);

c=(int *)malloc(sizeof(int)*n);

printf("输入一位数组a:");

for(i=0;i<n;++i)

{

scanf("%d",a+i);

}

printf("输入一位数组b:");

for(i=0;i<n;++i)

{

scanf("%d",b+i);

}

printf("一维矢量相加为:");

Add(a,b,c,n);

for(i=0;i<n;++i)

{

printf("%d ",*(c+i));

}

printf("\n一维矢量相乘为:");

Mult(a,b,c,n);

for(i=0;i<n;++i)

{

printf("%d ",*(c+i));

}

return 0;

}

亲测

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-01

准备材料

windows电脑、VC++(DEV_C++)

1.打开桌面上的DEV_C++,进入如下界面:

2.快捷键“CTRL+N”建立新源代码。

3.输入源代码,下面给出最简单的Hello,world源代码:

#include <stdio.h>

int main( ){

printf("Hello,World\n");

return 0;

}

4.按下F11编译并且运行源代码,得到运行结果:

5.点击任意键返回源代码编辑界面可以继续进行开发,接下来就是C语言语法的学习了。

第2个回答  2017-01-04
#include<stdio.h>
#include<stdlib.h>
void Add(int* a, int* b, int* c, int n);
void Mult(int* a, int* b, int* c, int n);
int main()
{
system("color 20");
int n = 10;
int a[100] = {0,1,2,3,4,5,6,7,8,9 };
int b[100] = { 0,1,2,3,4,5,6,7,8,9 };
int c[100] = { 0 };
Add( a, b, c, n);
printf("Add:\n");
int i;
for (i = 0; i < n; i++)
{
printf("%3d ", c[i]);
}
printf("\nMult:\n");
Mult(a, b, c, n);
for (i = 0; i < n; i++)
{
printf("%3d ", c[i]);
}
getchar();
return 0;
}
void Add(int* a, int* b, int* c, int n)
{
int i;
for (i = 0; i < n; i++)
{
*c = *a + *b;
c++;
a++;
b++;
}
return;
}
void Mult(int* a, int* b, int* c, int n)
{
int i;
for (i = 0; i < n; i++)
{
*c = *a * *b;
c++;
a++;
b++;
}
return;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网