完成下列函数的定义:
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;
}
亲测
准备材料
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语言语法的学习了。
#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;
}