int 类型的函数只能返回一个值,要返回两个,可以:
创新互联成立于2013年,先为武都等服务建站,武都等地企业,进行企业商务咨询服务。为武都企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1 返回一个数组
2 定义全局变量
3 用我这种,传地址进去。
函数中间写return要慎重,执行遇到return就终止了,不运行return后面的计算
#includestdio.h
void sum_odd_even(int m,int n, int *so, int * se)
{
int i;
*so=*se=0;
for( i=m;i=n;i++)
if(i%2==1)
*so+=i;
else
*se+=i;
}
int main()
{
int a,b,sum_odd=0,sum_even=0;
do scanf("%d%d", a, b);
while( b-a=10 || a=0 );
sum_odd_even(a,b,sum_odd,sum_even);
printf("%d %d",sum_odd,sum_even);
}
0~100间的奇数1~99构成等差为2的等差数列,1,3,5,...,99共50项,所以可用等差数列前n项求和公式求得。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
printf("1+3+5+...+99 = %d\n",(1+99)*50/2);//利用等差数列前n项和公式(a1+an)*n/2求和
return 0;
}
运行结果如下:
#include
int odd(int n)//判断整数n是否奇数
{
return n%2;
}
int main(){
int m,s=0;
while(~scanf("%d",m))//循环输入,ctrl+结束输入
{
if(odd(m))//是奇数,累加到s
s+=m;
}
printf("奇数和是 %d\n", s);//输出奇数和
return 0;
}
void
fun(int
nums[],int
Len)/*Len是数组长度*/
{
int
i,CountJ,CountO;
CountJ
=
CountO
=
0;
for(i
=
0;iLen;i++)
{
if(nums[i]%2
==
0)
CountO++;
else
CountJ++;
}
printf("偶数个数为:%d\n奇数个数为:%d\n",CountO,CountJ);
}
代码是正确的。输入0才能退出循环。不过这代码写得不是很好,求奇数之和,绕那么多弯子实在没有必要。给你提供一个作参考……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int even(int n){
return n1 ? n : 0;
}
int main(void){
int n,sum=0;
printf("Input integers: ");
while(scanf("%d",n),n0)
sum+=even(n);
printf("The sum of the odd numbers is %d\n",sum);
return 0;
}
//////这个学过吧?
//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"
int even(int n){
if(n%2!=0) return n;
else return 0;
}
int main(void){
int n,sum=0;
printf("Input integers: ");
scanf("%d",n);
while(n0){
sum+=even(n);
scanf("%d",n);
}
printf("The sum of the odd numbers is %d\n",sum);
return 0;
}
long int sum_odd(int max)
{
long int sum = 0;
int i = 1;
while(imax)
{
sum += i;
i += 2;
}
return sum;
}
执行的时候调用sum_odd(1000)就可以了