|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int odd_sum(int b[10]);
int odd_count(int b[10]);
float odd_avg(int b[10] );
void main()
{
int i, s, g, b[10];
float v; //s是奇数和,g是奇数个数,v是平均数//
for(i=0; i<10; i++)
{
scanf("%d", b[i]);
}
s = odd_sum( b );
g = odd_count( b );
v = odd_avg( b );
printf("输入的数字中其中奇数个数为:%d, 它们的和为:%d, 平均数为:%f", g, s, v);
}
int odd_sum(int b[10])
{
int i, m = 0;
for(i=0; i<10; i++)
{
if( b[i]/2 != 0)
{
m=m+b[i];
}
}
return m;
}
int odd_count(int b[10])
{
int i,k=0;
for(i=0; i<10; i++)
{
if(b[i]/2 != 0)
{
k++;
}
}
return k;
}
float odd_avg(int [10] )
{
float s;
s = odd_sum( b ) / odd_count( b ); //调用求和还有求个数的函数来求平均数//
return s;
}
我这里是要声明三个函数 来求输入的数字里面奇数和 个数 以及奇数的平均数
为什么系统提示我 int转换成float 会数据丢失呢 求助一下大神
- #include <stdio.h>
- int odd_sum(int a[])
- {
- int ans = 0;
- for (int i = 0; i < 10; i++)
- ans += a[i] % 2 == 0 ? 0 : a[i];
- return ans;
- }
- int odd_count(int a[])
- {
- int ans = 0;
- for (int i = 0; i < 10; i++)
- ans += a[i] % 2;
- return ans;
- }
- float odd_avg(int a[])
- {
- if (odd_count(a))
- return 1.0 * odd_sum(a) / odd_count(a);
- else
- return 0.0;
- }
- int main(void)
- {
- int i, a[10] = {0};
- for (int i = 0; i < 10; i++)
- scanf("%d", &a[i]);
- printf("输入的数字中其中奇数个数为:%d, 它们的和为:%d, 平均数为:%f", odd_count(a), odd_sum(a), odd_avg(a));
- return 0;
- }
复制代码
|
|