c语言程序问题,求解答~~~~
#include<stdio.h>#include<math.h>voidmain(){inta[10]={13,20,64,78,21,8,14,30,45,23};i...
#include<stdio.h>
#include<math.h>
void main( )
{
int a[10]={13,20,64,78,21,8,14,30,45,23};
int i,j,t;
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
for(j=0;j<9;j++)
{
for(i=0;i=9-j;i++)
{
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
}
}
for(i=0;i<=9;i++)
printf("%d",a[i]);
}
是算10个数吧 从小到大排列 我觉得语句正确 但是没结果 又一次还出问题了 关闭c语言程序了。。。求解答,还有请高手指点下要想学精 应该怎么学 展开
#include<math.h>
void main( )
{
int a[10]={13,20,64,78,21,8,14,30,45,23};
int i,j,t;
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
for(j=0;j<9;j++)
{
for(i=0;i=9-j;i++)
{
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
}
}
for(i=0;i<=9;i++)
printf("%d",a[i]);
}
是算10个数吧 从小到大排列 我觉得语句正确 但是没结果 又一次还出问题了 关闭c语言程序了。。。求解答,还有请高手指点下要想学精 应该怎么学 展开
5个回答
展开全部
#include<stdio.h>
#include<math.h>
void main( )
{
int a[10]={13,20,64,78,21,8,14,30,45,23};
int i,j,t;
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
for(j=0;j<10;j++)//冒泡法
{
for(i=j;i<10;i++)//依次找到>=j元素中的最大,然后放到a[j]中
{//其中i=j,是关键,否则不能正常排序
if(a[j]<a[i])
{t=a[j];a[j]=a[i];a[i]=t;}
}
}
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
printf("\n");
}
修改了一下,可以了,您对for的使用还不熟练,c要多上机操作,把有疑问的知识点通过编程弄明白
#include<math.h>
void main( )
{
int a[10]={13,20,64,78,21,8,14,30,45,23};
int i,j,t;
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
for(j=0;j<10;j++)//冒泡法
{
for(i=j;i<10;i++)//依次找到>=j元素中的最大,然后放到a[j]中
{//其中i=j,是关键,否则不能正常排序
if(a[j]<a[i])
{t=a[j];a[j]=a[i];a[i]=t;}
}
}
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
printf("\n");
}
修改了一下,可以了,您对for的使用还不熟练,c要多上机操作,把有疑问的知识点通过编程弄明白
展开全部
for(i=0;i=9-j;i++) 这里弄错了,估计是你不小心漏掉了,应该是for(i=0;i<=9-j;i++)
for(i=0;i<=9;i++)
printf("%d",a[i]);
这里输出的结果是连在一起的,不好看,要隔开,留一个空格。printf("%d ",a[i]);
for(i=0;i<=9;i++)
printf("%d",a[i]);
这里输出的结果是连在一起的,不好看,要隔开,留一个空格。printf("%d ",a[i]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//for(i=0;i<=9;i++)
//scanf("%d",a[i]);
//printf("\n");
这部分都是有点问题的,但是你加上注释了就不影响
for(i=0;i=9-j;i++)
应该改为for(i=0;i<9-j;i++)
//scanf("%d",a[i]);
//printf("\n");
这部分都是有点问题的,但是你加上注释了就不影响
for(i=0;i=9-j;i++)
应该改为for(i=0;i<9-j;i++)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i=9-j;i++)这一句有问题,应该是for(i=0;i<=9-j;i++),把这改了就好了,还有就是你的最后 一句输出也有问题,虽然没有错,但是结果不美观,最好在%d后面加个空格会好点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
咳...就一个人说中重点...其他的说的真臭....这么LJ还来说教...误人子弟...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询