输入一组正整数,0代表输入结束.计算这一组正整数中奇数的平均值和偶数的乘积.
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/17 14:12:54
这设计到计算机的数值表示问题,一般32位的计算机用unsignedlonglong最大能表示的也只到18446744073709551615,所以超过20位做运算时就因为计算机不能表示而出错了.对于这
int main(){\x09int n,max;\x09scanf("%d",&n);\x09max=n;\x09while(n>0)\x09{
顶一楼.如果楼主不想把-32767这个数计算在内的话,就把printf("正整数个数:%d\n负整数个数:%d\n0的个数:%d\n",a,c,b);改为printf("正整数个数:%d\n负整数个数
//prob.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"#include//#includeusingn
#includevoidmain(){intnum,sum=0;scanf("%d",&num);while(num>0){if(num%2!=0){sum+=num;}scanf("%d",&num
上一个你还没采纳呢1)intmax=0;intn;do{scanf("%d",&n);if(max再问:采纳了亲再答:第一个刚修改了第二有稍复杂点,先吃饭去。再问:谢了哈再答:回来了第二个给你补上:主
using System;using System.Collections.Generic;using System.Linq;using System.Tex
#include <stdio.h>int main(){ int x;//直接选为int型整数 &n
#includeusingnamespacestd;intmain(){inta,b;floatc;//平均数应为浮点型,因为结果不一定是整数intn;coutn;if(n==0)break;//判断
#includevoidmain(void){inti;floatscore,max,min,sum,aver;scanf("%f",&score);max=min=sum=score;for(i=1
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(Stringargs[]){Scannerinput=newScanner(S
for(i=0;imax)max=a[i];a[i]=a[n-1];a[n-1]=max;for(i=0;i
intmain(void){\x09inti=0,j=0,n;\x09printf("\ninputnumbers:");\x09scanf("%d",&n);\x09//\x09\x09scanf(
楼上错误,正确答案如下:#include"stdio.h"main(){chara[3][2],t;inti,j,k,m;for(i=0;i<3;i++)for(j=0;j<2;j++)s
inti=0;intn,t,sum=0;scanf("%d",&n);while(i
for(k=0;ka[i-1]){n_temp=a[i];a[i]=a[i-1];a[i-1]=n_temp;}}}
最大值与最后一个交换,需要使用到max和a[i],以及一个临时变量,你代码中使用的是maxa[0]a[i],这里貌似有点问题.最小值与第一个交换,貌似你也是用的这3个变量.如果觉得使用的变量过多,可以
#include "stdio.h"int main() {int n, sum=0, i=0, max,&
//C++输入一组非零整数(以输入零作为输入结束标志)到一维数组中,设计程序,求出这组数的平均值,并统计出正数和负数个数#defineMAXNUM1000//数组的最大个数,你可以改#includeu
因为你在fact和multi两个函数里,用的product是int型.在item还没达到精度要求的时候,product就溢出了,此时导致item变成了负数,于是退出了while循环.解决办法是把这两个