C语言
//数组元素作为函数实参示例,输出数组中各元素的值,若大于0,则输出该值,若小于等于0,则输出该值的绝对值#include<stdio.h>
int ab(int x);
#define N 5
int main()
{
int a,i,absolute;
printf("输入一个有5个数的数组:\n");
for(i=0;i<N;i++)
scanf("%d",&a);
for(i=0;i<N;i++)
absolute=ab(a);
for(i=0;i<N;i++)
printf("%d ",absolute);
return 0;
}
int ab(int x)
{
int X;
if(x>0)
X=x;
else
X=-x;
return X;
}
//这个函数哪里有问题吖? 本帖最后由 心驰神往 于 2021-1-12 13:54 编辑
函数没错
#include<stdio.h>
int ab(int x);
#define N 5
int main()
{
int a,i,absolute;//定义absolute用于存放a中五个元素的绝对值
printf("输入一个有5个数的数组:\n");
for(i=0;i<N;i++)
scanf("%d",&a);
for(i=0;i<N;i++)
absolute=ab(a);
for(i=0;i<N;i++)
printf("%d ",absolute);//分别输出存放在数组absolute中存放的 数组a中五个元素的绝对值
return 0;
}
int ab(int x)
{
int X;
if(x>0)
X=x;
else
X=-x;
return X;
}
absolute应该是数组absolute,不然只能输出数组a中最后一个元素
心驰神往 发表于 2021-1-12 13:48
函数没错
谢谢你吖,你真好{:5_109:} 云枭女 发表于 2021-1-12 13:56
谢谢你吖,你真好
{:10_275:} 心驰神往 发表于 2021-1-12 13:57
//将数组下标为1、3、5…的数组元素值取相反数
#include<stdio.h>
int contrary(int x[],int n);
#define N 5
int main()
{
int a,i;
printf("输入5个数(将数组下标为1、3、5…的数组元素值取相反数):\n");
for(i=0;i<5;i++)
scanf("%d",&a);
for(i=0;i<5;i++)
printf("%d ",contrary(a,N));
return 0;
}
int contrary(int x[],int n)
{
int j,y;
for(j=0;j<n;j++)
{
if(j%2!=0)
y=-x;
else
y=x;
}
for(j=0;j<n;j++)
return y;
}
//这与上面那个是一个问题吗?{:5_96:} 云枭女 发表于 2021-1-12 14:17
//将数组下标为1、3、5…的数组元素值取相反数
#include
int contrary(int x[],int n);
有具体题目要求吗 心驰神往 发表于 2021-1-12 14:25
有具体题目要求吗
要自己定义一个函数,用数组名作实参。 云枭女 发表于 2021-1-12 14:28
要自己定义一个函数,用数组名作实参。
数组元素个数有限制吗 云枭女 发表于 2021-1-12 14:28
要自己定义一个函数,用数组名作实参。
数组下标到5的话就需要能存放六个元素的数组了。下标从0开始 心驰神往 发表于 2021-1-12 14:29
数组元素个数有限制吗
没有限制 心驰神往 发表于 2021-1-12 14:32
数组下标到5的话就需要能存放六个元素的数组了。下标从0开始
嗯,我知道这个呀 云枭女 发表于 2021-1-12 14:33
没有限制
嗯,我先改一下试试 心驰神往 发表于 2021-1-12 14:34
嗯,我先改一下试试
好,谢谢q(≧▽≦q) 本帖最后由 心驰神往 于 2021-1-12 15:13 编辑
云枭女 发表于 2021-1-12 14:40
好,谢谢q(≧▽≦q)
#include <stdio.h>
int contrary(int x[], int n);
int main()
{
int i, m;
printf("请输入数组元素个数:");
scanf("%d",&m);
int a;
for (i= 0; i< m; i++)
scanf("%d",&a);
contrary(a, m);
return 0;
}
int contrary(int x[],int n)
{
int j,y;
for(j=0;j<n;j++)
{
if(j%2!=0)
y=-x;
else
y=x;
}
for (j= 0; j< n; j++)
printf("%d ",y);
}
输入数组元素个数后enter,开始输入数组元素的值。
应该可以 云枭女 发表于 2021-1-12 14:40
好,谢谢q(≧▽≦q)
用这个吧,又小改了一下
#include <stdio.h>
int contrary(int x[], int n);
int main()
{
int i, m;
printf("请输入数组元素个数:");
scanf("%d",&m);
printf("请依次输入各元素的值,中间用空格隔开:\n");
int a;
for (i= 0; i< m; i++)
scanf("%d",&a);
contrary(a, m);
return 0;
}
int contrary(int x[],int n)
{
int j,y;
for(j=0;j<n;j++)
{
if(j%2!=0)
y=-x;
else
y=x;
}
for (j= 0; j< n; j++)
printf("%d ",y);
}
页:
[1]