学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
 11 12
发新话题
打印

数组问题2个

数组问题2个

谢谢  解答
(1)简单的从键盘输入输出   确运行不得结果
main()
{
   int i,a[3];
   printf("Please input 3 number:");
   for(i=0;i<3;i++)
  scanf("%d",&a[i]);
  for(i=0;i<3;i++)
  printf("%d",a[i]);
  getch();
}
问题(2)
从键盘上任意输入10个整数,要求按从小到大的顺序在屏幕上显示出来。
#include "stdio.h"
#include"conio.h"
#define NUM 10        
   main( )
{ int   data[NUM];             
  int    i,j,temp;                     
  clrscr( );                         
  printf("Please input 10 numbers:\n");
  for  (i=0; i<NUM; i++)
         scanf("%d", &data[i]);
     for  (i=0; i<NUM-1; i++)                            
           for  (j=NUM-1; j>i; j--)                    
              if (data[j]<data[j-1])
                   {  temp=data[j];
                      data[j]=data[j-1];
                      data[j-1]=temp; };
    printf("\nthe  result of sort:\n");
    for  (i=0; i<NUM; i++)
        printf("%d ",data[i]);
    getch();                    
  }
其中的 for  (i=0; i<NUM-1; i++)                            
           for  (j=NUM-1; j>i; j--)          不理解  
请解解  谢谢

[[italic] 本帖最后由 小妖娃娃na 于 2007-12-28 22:48 编辑 [/italic]]

TOP

第一个没加头文件。
第二个中双重for循环是用的选择排序。从i往后的数据中选择最小的元素放在i位置。不必每次都交换,可以先记录下来,内循环结束后再交换一个就ok!

不要仅为成功而努力.要为做一个有价值的人而努力
kobe24j@sina.com

TOP

for  (i=0; i<NUM-1; i++)                           
           for  (j=NUM-1; j>i; j--)             /*这里可以理解成第i个数,要进行9-i次比较   */   
              if (data[j]<data[j-1])
                   {  temp=data[j];
                      data[j]=data[j-1];
                      data[j-1]=temp; };

TOP

续接问数组问题2个

谢谢  答复
第一个程序写了头文件 #include <stdio.h> 我是用dev-c++运行的
结果 不是想要的得的
希望在帮助看一下原因  谢谢

TOP

第一个有什么问题吗?
第二个就是冒泡排序法吧

TOP

偶看错啦 确实冒泡排序,是说选择排序怎么还每次都要交换呢!嘿嘿

不要仅为成功而努力.要为做一个有价值的人而努力
kobe24j@sina.com

TOP

第一个有问题的
#include <stdio.h>
main()
{
   int i,a[3];
   printf("Please input 3 number:");
   for(i=0;i<3;i++)
  scanf("%d",&a[i]);
  for(i=0;i<3;i++)
  printf("%d",a[i]);
  getch();
}
如果任意输入三个数字 1,2,4
输出 竟然是 很多数 不清楚为什么

TOP

输入格式不对,应该没有逗号

TOP

第一个问题已经解决了 谢谢  答复

TOP

第一个问题
輸入1enter2enter3enter
打印出123
不是輸入1,2,3這樣打印出來就很多數字!

TOP

 11 12
发新话题