求C语言从键盘输入一组数以-1结束输出该数组并求出组大值的算法

我是个初学者 请高手来指点下

初学还是自己编编看比较好
给你讲大概思路
设一个数组,输入的数存到数组中
另设一个变量,设第一个数为初始值,以后每输入一个和这个比较一下,如果新数据大的换,把新的赋值,
输出你就输出数组,直到-1
输出你设的变量 是最大值
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-13
#include "stdio.h"
#include "conio.h"

main()
{
int count,i,num[100];

count=0;
printf("Please input your number (end with -1)\n");
do{
scanf("%d",&num[count]);
count++;
}while(num[count-1]!=-1);
printf("The Number is\n");
for(i=0;i<count-1;i++)
printf("%d ",num[i]);
getch();
}

因为你说你是初学者,所以没使用动态开辟数组的存储空间的方法,我只给出一个最简单的例子
你看看吧
第2个回答  2008-12-13
自己学学,我提供更好的方法
先设最大值为第一个数
然后重复读取——检查是否为-1——比较——留下大数
最后输出
第3个回答  2008-12-13
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int [] a=new int [5]; //定义一个数组
int b; //临时变量
Console.WriteLine("请输入");
for (int i = 0; i < 5;i++ )
{
a[i] = int.Parse(Console.ReadLine()); //键盘接收5个数并转换成int型
}
for (int i = 0; i < a.Length-1; i++) //利用冒泡排序
{
for (int j = 0; j < a.Length-1-i; j++)
{
if (a[j]>a[j+1])
{
b = a[j];
a[j] = a[j + 1];
a[j + 1] = b;
}
}
}
Console.WriteLine("最大数是:"+a[4]); //输出最大值
Console.ReadLine();
}
}
}
呵呵 我是这样做的,,看下是不是你所问的。、、

用C语言编程:输入一组整数,以-1作为结束的标志,用数组s接收这组数...
int main(){ int n = 0, m = 0,s[];for(;n != -1;){ scanf("%d",&n);s[i]=n;i++;m = m + 1;} printf("个数为:%d\\n",m);for(int i=0;i<m;i++)printf("%d\\n",s[i]);return 0;}

输入若干数以-1结束 C语言
include <stdio.h>int main(void){int n,pcnt,ncnt,zcnt,psum,nsum;for(pcnt=ncnt=zcnt=psum=nsum=0;scanf("%d",&n)==1&&n!=-1;){if(n>0){pcnt++;psum+=n;}else{if(n<0){ncnt++;nsum+=n;}else{zcnt++;}}}printf("%d %d %d\\n",pcnt,zcnt,ncnt);printf("%d ...

c语言,从键盘输入若干个整数,用-1作为输入结束的标志,求他们的和及平均...
int main(){ int x;double sum=0,pj;int cnt=0;scanf("%d",&x);while(x!=-1){ sum+=x;cnt++;scanf("%d",&x);} if(cnt>0){ pj=sum\/cnt;printf("%.2f\\n",pj);} return 0;}

C语言问题?输入若干个正整数选出最大值,用-1结束输入
do { scanf("%d",&a);} while(a<0&&a!=-1);\/\/ 是do-while不是while,重复的循环是上面的,也就是只要是负数并且非-1就不断重读 如果你只输入负数和-1,结束第一个循环之后a=-1,根本不进入第二个循环,然后输出前判断max也是-1,就不进行输出。程序要求是正数,错误的输入没有结果,这...

输入一组同学的分数,以负值作为结束符,输出其中的最大值和平均值 c语...
void main(){ int num,i,j;float a[100],b[100],sum=0,ave;printf("请输入一组同学的成绩并以负值结束:\\n");for(;a[i]>=0;i++){ scanf("%f",a[i]);sum=sum+a[i];b[j++]=a[i];num++;} for(j=0;j<num;j++){ for(i=j+1;i<num-1;i++){ int tem;if(b[j...

(c语言求挑错)输入整数,用-1作为输入结束标志,请编写函数f统计每个整数...
int i,a[4];a[0]=p;a[1]=q;a[2]=w;a[3]=u;return(a);main函数中:f(b);首先,函数f中定义的数组a是局部变量,生存周期和作用空间都与f函数有关,即函数f最初后,系统会回收数组a的空间,因此return a是非常危险的。另外你主函数中也根本没有接受好不好。你打印出来的数组根本就是...

用c语言编程实现:给一组数,然后去掉一个输入的数,然后输出除这个数以...
include <stdio.h>#include<malloc.h> int main(){int i,m,N;printf("请给出所给数组的长度:");scanf("%d",&N);printf("请给出数组:");int *p;p = (int*)malloc(N*sizeof(int));for(i=0;i<N;i++){scanf("%d",&p[i]);}printf("请给出要去掉的数:");scanf("%d",...

C语言:从键盘输入n个数,求最大值和最小值(用数组)
}\/* 计算数组最大值、最小值、总和、平均值 *\/\/* arr[]: 目标数组; len: 元素个数 *\/void calcArray (elemType arr[], int len, elemType *max, elemType *min) {int i;*max = *min = arr[0];for (i=0; i<len; i++) {if (arr[i] > *max)*max = arr[i];if (arr[...

c语言中,从一组数中找最大值和最小值
include <stdio.h> \/\/ 获取数组元素的最大值和最小值 int main(void){ (此处空一行)int arr[] = {1,2,3,5,67,8,9,33};int min,max;compute_m(arr,sizeof(arr)\/sizeof(int),&min,&max);(此处空一行)printf("result: min = %d , max = %d \\n",min,max);return 0;} ...

用c语言输入一组数据,输出最大最小值
这个程序可以了。我在vc6中通过调试运行了 include<stdio.h> include<conio.h> void main(){ float max,min,num;printf("input a number:");scanf("%f",&num);max=min=num;printf("input another number(Y\/N):");while(getch()==('Y'|'y')){ scanf("%f",&num);if(num>max)max...

相似回答