求教一道C语言题 10
输入一组整数,输出除了最大值之外的其他所有整数之和。注意:输入的数据个数未知,最大值也可能有多个。假设输入的最后一个数据为0表示输入结束。不允许使用数组。没财富值了谢谢...
输入一组整数,输出除了最大值之外的其他所有整数之和。注意:输入的数据个数未知,最大值也可能有多个。假设输入的最后一个数据为0表示输入结束。不允许使用数组。没财富值了 谢谢
展开
3个回答
展开全部
#include "stdio.h"//
void main(void){
int n,max=0,sum=0,x=0;
printf("Type integers...\n");
while(1){
scanf("%d",&n);
if(!n) break;
else if(n>max){
(sum+=max)+=x;
max=n;
x=0;
}
else if(n<max)
sum+=n;
else x+=n;
}
printf("%d\n",sum);
}
void main(void){
int n,max=0,sum=0,x=0;
printf("Type integers...\n");
while(1){
scanf("%d",&n);
if(!n) break;
else if(n>max){
(sum+=max)+=x;
max=n;
x=0;
}
else if(n<max)
sum+=n;
else x+=n;
}
printf("%d\n",sum);
}
展开全部
int result=0,max=-9999, times=0;
int temp;
while(scanf("%d",&temp),temp)
{
result+=temp;
if(temp>max)
{max=temp;times=0;}
else if(temp==max)
{times++;}
else continue;
}
result-=max*times;
int temp;
while(scanf("%d",&temp),temp)
{
result+=temp;
if(temp>max)
{max=temp;times=0;}
else if(temp==max)
{times++;}
else continue;
}
result-=max*times;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个思路很简单,定义几个变量
int max=0; //存储最大值
int sum=0;//存储和
int x;
while(1)
{
scanf("%d",&x);
if(max<x)
max=x;
if(x==0)
break;
sum+=x;
}
int max=0; //存储最大值
int sum=0;//存储和
int x;
while(1)
{
scanf("%d",&x);
if(max<x)
max=x;
if(x==0)
break;
sum+=x;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询