求数组内的排序并且以某个变量(一定为十进制整数)为界,将小于他的数寄存到寄存器里
发表在C语言图书答疑 2010-05-29
是否精华
版块置顶:
比如说输入10个数,将它寄存到一个数组里,
在输入一个数,将它加30后寄存到一个变量B里,
将数组排序后,再以变量B为界,小于变量B的数字的个数寄存到变量C里,最后再打印变量C。


我的源码:

#include <stdio.h>
int main()
{
int i,j,t,height[11];
printf("Please input the height of that apples.\n");
    /*以下是接受输入*/
for(i=1;i<11;i++)
scanf("%d",&height[i]);
/*以下是排序算法*/
for(i=1;i<10;i++)
for (j=1;j<11-i;j++)
if(height[j]>height[j+1])
{
t=height[j];
height[j]=height[j+1];
height[j+1]=t;
}
/*排序算法完*/
printf("The heights are:\n");
for(i=1;i<=10;i++)
printf("&5d,height[i]\n");
return 0;
}




Turbo C 2.0 的编译通过,但是最后打印出来的不是排序后的数组,而是
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]
&5d,height[i]



求解!指点迷津!
分享到:
精彩评论 2
kinki
学分:0 LV1
TA的每日心情
开心
2024-10-17 21:36:52
2010-05-29
沙发
您好:
写程序思路对不对固然重要,但是基础知识掌握不牢固,一切都是空谈。程序中语句:
printf("&5d,height[i]\n");
就是一个很明显的错误语句,是%5d,不是&5d,写程序时应该细心。
另外,双引号括的位置也有问题,该语句正确写法如下:
printf("%5d\n",height[i]);

xlm909451021
学分:0 LV1
TA的每日心情
.
2020-12-04 21:29:50
2012-11-07
板凳
include<stdio.h>
main()
{
    int i,j,k,l,t,m=1,n=1;
    int a[11],b[11]={0};
    printf("please input the number:\n");
    for(i=1;i<11;i++)
    {
        scanf("%d",&a[i]);
    }
    printf("please input shuzhi:\n");
    scanf("%d",&k);
    l=k+30;
    for(i=1;i<10;i++)
    {
        for(j=i+1;j<11;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        } 
    }
    for(i=1;i<11;i++)
    {
        if(a[i]<l)
        {
           b[m]=a[i];
           n++;
           m++;
        }
    }
    for(m=1;m<n;m++)
    {
        printf("%d",b[m]);
    }
    printf("\n");
}
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照