注册 登录
编程论坛 C++教室

while(scanf("%d,&a[i]")!=EOF)能这样用吗??

aiyinsitan 发布于 2010-12-21 19:58, 827 次点击
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"
void f(int *,int );
void main()
{
    int a[100],i=0,*p,b[100];
    p=new int[100];
while(scanf("%d,&a[i]")!=EOF)
    {
    i++;
    }
    p=a;
    f(p,i);
}
void f(int *p,int n)
{
    int i,j,b[100],max=0;
    int k=0;
    for(i=0;i<n;i++)
    {
        b[0]=*(p+i);
        for(j=i+1;j<n-i;j++)
        {
            if(b[k]>*(p+j))
            {
                k++;
            }
        }
        if(k>max)
            max=k;
    }
    cout<<max;
}
运行时候窗口关闭,麻烦各位看下
3 回复
#2
aiyinsitan2010-12-22 14:28
怎么没人回帖啊   帮个忙啊
#3
lintaoyn2010-12-22 15:27
scanf("%d,&a[i]")!=EOF改成scanf("%d",&a[i])!=EOF
#4
aiyinsitan2010-12-22 17:21
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"
void f(int *,int );
void main()
{
    int a[100],i=0,*p,b[100];
    p=new int[100];
while(scanf("%d",&a[i])!=EOF)
    {
    i++;
    }
cout<<"yunxing";//为什么感觉  它不运行啊  我再这里敲了运行  但是后面没输出啊  
    p=a;
    f(p,i);
}
void f(int *p,int n)
{
    int i,j,b[100],max=0;
    int k=0;
    for(i=0;i<n;i++)
    {
        b[0]=*(p+i);
        for(j=i+1;j<n-i;j++)
        {
            if(b[k]>*(p+j))
            {
                k++;
            }
        }
        if(k>max)
            max=k;
    }
    cout<<max;
}
1