| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 383 人关注过本帖
标题:新手求解答,一些小错误!谢谢
只看楼主 加入收藏
may大象
Rank: 2
等 级:论坛游民
帖 子:55
专家分:38
注 册:2013-5-30
结帖率:87.5%
收藏
已结贴  问题点数:2 回复次数:3 
新手求解答,一些小错误!谢谢
#include"stdio.h"
void main()
{   int i;
    void print_star();
    for(i=1;i<6;i++)
 {         print_star();
    printf("  ");     }
      
}
void print_star()
{ printf("*****\n"); }
为什么第七行的空格没有输出来呢? 目标结果是:
*****
  *****
    *****
      *****                    
        *****        错在哪里了呢?

#include"stdio.h"
void main()
{ int sort(int array[],int n);
  int a[10],i;
  printf("enter the array:\n");
  for(i=0;i<10;i++)
  scanf("%d",&a[i]);
  sort(a,10);          为什么这里不是sort(a[],10)呢?
  printf("the sorted array:\n");
     for(i=0;i<10;i++)
         printf("%d",a[i]);
     printf("\n");
}

    void sort(int array[],int n)
{  int i,j,k,t;
   for(i=0;i<n-1;i++)      
   { k=i;                  
     for(j=i+1;i<n;i++)     
     if(array[j]<array[k])  k=j;
     t=array[k];array[k]=array[j];array[j]=t;
  请问这里把一个数组元素的值赋给另一个数组元素,是不是要先把序号赋给它,比如k=j?
   }
}      这个程序执行不了,error c2371:'sort':redefinition   defferent basic types ,请问是哪错了呢
搜索更多相关主题的帖子: include 
2013-06-15 14:27
q13678986740
Rank: 4
等 级:业余侠客
帖 子:114
专家分:245
注 册:2012-7-7
收藏
得分:1 
对于第一个程序  
 void print_star();
    for(i=1;i<6;i++)   这里i只能取1到5共执行五次,6就不满足退出循环了。
{         print_star(); 
         printf("  ");     }
第二个
 void sort(int array[],int n)
{  int i,j,k,t;
   for(i=0;i<n-1;i++)      
   { k=i;                  
     for(j=i+1;i<n;i++)     
     if(array[j]<array[k])  k=j;

     t=array[k];array[k]=array[i];array[i]=t;       你这里应该将j改为i
   }

这个函数是选择排序法,二级循环是负责把每一轮比较后最小值的下标保留到k,外循环负责将每一轮首个元素的值与下标是k的元素值交换。
2013-06-15 14:51
may大象
Rank: 2
等 级:论坛游民
帖 子:55
专家分:38
注 册:2013-5-30
收藏
得分:0 
第一个程序输出的是
*****
*****
*****
*****
*****
*号前面的空格都没有输出来,请问怎么样改才能得到结果?

                             凡成大事者,各有各的方法论。
2013-06-15 14:58
zqkui
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2013-6-16
收藏
得分:1 
#include"stdio.h"
void main()
{   int i,j;
    void print_star();
    for(i=1;i<6;i++)
    {
        for(j=1;j<i;j++)
            printf("  ");
    print_star();
      }
      
}
void print_star()
{ printf("*****\n"); }
这个可以输出你想要的结果
2013-06-16 11:17
快速回复:新手求解答,一些小错误!谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024382 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved