c语言用函数从键盘输入10个整数,统计非负数个数,负数个数,并计算非负数之和,负数之和,非负数之积

主要是不知道怎么用函数来编程
2025-01-20 14:53:46
推荐回答(2个)
回答1:

int main()
{
int i=0,f=0,z=0,zj=1;
printf("请输入10个整数:);
for(i=1;i<=10;i++){
printf("%d",&i);
if(i<0)f++;
else {z++;zj=zj*z;}
}
printf("非负数之和:%d",&z);
printf("负数之和:%d",&f);
printf("非负数之积:%d",&zj);
return 0;
}
只记得这些,好像不太对

回答2:

还请展开看

#include 

#include 

int a[10],b[10],c[10];  //全局变量   a数组存所有数 b数组存正数  c数组存负数

int fu()                //求负数个数  函数声明

{

int i,z=0,f=0;       //{}号内为函数定义

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

{

if(a[i]>=0)

{

b[z]=a[i];

z++;

}

else

{

c[f]=a[i];

f++;

}

}

return f;

}

void fsum(int n) //负数之和

{

int i,sum=0;

for(i=0;i

sum+=c[i];

printf("负数之和=%d\n",sum);

}

void zsum(int n) //非负数之和

{

int i,sum=0;

for(i=0;i

sum+=b[i];

printf("非负数之和=%d\n",sum);

}

void zheng(int n) //非负数之积

{

int i,num=1;

for(i=0;i

num*=b[i];

printf("非负数之积%d\n",num);

}

int main()

{

int i,n1,n2;

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

{

scanf("%d",&a[i]);

}

n2=fu();    //n2 为负数个数

n1=10-n2;  //n1 为非负数个数

printf("非负数个数=%d\n",n1);

printf("负数个数=%d\n",n2);

fsum(n2);   //函数调用

zsum(n1);

zheng(n1);

return 0;

}

设计函数的模板为 

返回值类型 函数名(变量类型 变量名)   // 该处也可以无变量但一旦有变量在函数内不能在定义相同变量了

{       

//函数功能实现

}

在   int mian()中调用时

int main()  

{

函数名(变量);  //如果定义函数时无变量则不用加   有变量时要加上

}

另外函数应用大体上有两种形式

第一种函数声明与函数定义在一起 在int main()之前

例如  

int   f()

{

}

int main()

{

f();

}

另一种是声明在前 定义在int main()   {} 之后

例如

int f();   //注意结尾加 ; 号

int main()

{

f();

}

int f()

{

}