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

一个小问题 但我水平真挺差的 希望大大们帮我看看是什么问题

neveruseit 发布于 2012-11-29 16:27, 480 次点击
程序代码:
#include <stdio.h>
#define N 5

main()
{   
     int num[N];
     int i,j;
     int temp;
   
     printf("输入五个整数:");
     for(i=0; i<N; i++)
         scanf("%d", &num[i]);

       for(i=0; i<N-1; i++)
          for(j=i+1; j<N; j++)
        {
              if(num[i]>num[j])
             {
                temp=num[i];           
                num[i]=num[j];
                num[j]=temp;
              }
        }

     for(i=0; i<N; i++)     
        printf("%4d",num[i]);
        printf(" ok \n");
        getch()

 }
我用visual c++做的 说第二排有一个错误  我想做的是输入五个整数升序排列
但是真没看出来哪错了 我上网看了别人写的格式跟我这个也一样吖。
8 回复
#2
azzbcc2012-11-29 18:33
倒数第二行少个分号,
#3
StarFall2012-11-29 19:33
#include <stdio.h>
#define N 5

main()
{
int num[N];
int i,j;
int temp;

printf("输入五个整数:");
for(i=0; i<N; i++)
scanf("%d", &num[i]);

for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
{
if(num[i]>num[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}

for(i=0; i<N; i++)
printf("%4d",num[i]);
printf("ok \n");
getchar();
}

vc++6.0不能直接getch();的 要#include<conio.h>
#4
费言2012-11-29 21:18
我刚学,不过貌似不止一个错误哎,除了上面两位提出的外,是不是void main或者别的
#5
mfkblue2012-11-29 22:22
我的vc6.0不知道怎么搞的scanf和cin都不停,直接press any key continue.
#6
wuxia1111112012-11-29 22:46
/*我用visual c++做的 说第二排有一个错误  我想做的是输入五个整数升序排列
但是真没看出来哪错了 我上网看了别人写的格式跟我这个也一样吖。*/

#include <stdio.h>
#define N 5

main()
{   
     int num[N];
     int i,j;
     int temp;
   
     printf("输入五个整数:");
     for(i=0; i<N; i++)
         scanf("%d", &num[i]);

       for(i=0; i<N-1; i++)
          for(j=i+1; j<N; j++)
        {
              if(num[i]>num[j])
             {
                temp=num[i];           
                num[i]=num[j];
                num[j]=temp;
              }
        }

     for(i=0; i<N; i++)     
        printf("%4d",num[i]);
        printf(" ok \n");
        getchar();//封号丢了,getch()不在头文件<stdio.h>里,改为getchar();这句注销了也行
}
#7
mmmmmmmmmmmm2012-11-30 09:10
程序代码:
#include <stdio.h>
#define N 5

int main()
{   
     int num[N];
     int i,j;
     int temp;
   
     printf("输入五个整数:");
     for(i=0; i<N; i++)
         scanf("%d", &num[i]);
     
     for(i=0; i<N-1; i++)
         for(j=i+1; j<N; j++)
         {
             if(num[i]>num[j])
             {
                 temp=num[i];           
                 num[i]=num[j];
                 num[j]=temp;
             }
         }
         
         for(i=0; i<N; i++)     
             printf("%4d",num[i]);
         printf(" ok \n");
    //     getch();

         return 0;
}
#8
DYONGJ2012-11-30 19:28
用C++写一下啊
程序代码:
#include<iostream>
using namespace std;
#define N 5
int main()
{
   void paixu(int m[],int n);//函数声明
   int a[N],i;
   cout<<"请输入5个数:"<<endl;
   for(i=0;i<N;i++)
      cin>>a[i];
   cout<<endl;
   paixu(a,N);//函数调用,数组名为实参
   cout<<"升序排列:"<<endl;
   for(i=0;i<N;i++)
      cout<<a[i]<<" ";
   cout<<endl;
   return 0;
}

void paixu(int m[],int n);//形参m是数组名
{
   int i,j,k,t;
   for(i=0;i<n-1;i++)
   {
      k=i;
      for(j=i+1;j<n;j++)
         if(m[i]>m[j])
            k=j;
      if(k!=i)
         t=m[i],m[i]=m[j],m[j]=t;
   }
}

   

 
#9
lyj1232012-12-01 14:40
只有本站会员才能查看附件,请 登录

MinGW G++的编译结果,(故意调成了中文)你懂了吧?
首先任何函数,包括Main函数都必须有类型!
    getch 要包含一个头文件,而且在末尾加这种语句的习惯不好。
用命令行执行直接可以看到结果不会闪屏。所以最好删掉它(包括getchar(),system("PAUSE")),以免各种竞赛中出错。
分号漏写。。
    这种错误你编译一下就看出来啊?为什么要在论坛上问?
1