| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 380 人关注过本帖
标题:大侠,求助!初学者.....
只看楼主 加入收藏
koko_2012
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-3-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
大侠,求助!初学者.....
1.从键盘上输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换,并将交换之后的序列打印出来。(用指针实现)
#include<stdio.h>
void main()
{
    int number[10]={0};
    int i,m=0,n=0,*p=number,*q=number;
    for(i=0;i<10;i++)
    {
        scanf("%d",&number[i]);


    }

    for(i=1;i<10;i++)
    {
        if(*p>number[i])
        {
            p=&number[i];
        }

    }
    for(i=1;i<10;i++)
    {
        if(*q<number[i])
        {
            q=&number[i];
        }

    }
    m=number[0];
    number[0]=*p;
    *p=m;
    n=number[10];
    number[10]=*q;
    *q=n;
   for(i=0;i<10;i++)
   {
       printf("%d\n",number[i]);
    }
}
哪儿错了???
2.已知一个班有10名同学英语考试成绩为{88.5,76,  83.5, 92,96.5,80,62,85.5,74,87.5},平时成绩为{4.0,3.5,4.5,2.0,3.0,3.5,4.0,2.5,3.5,4.0},主函数中用C的指针分配函数:malloc()分配两块连续的存储单元存放以上的考试成绩和平时成绩,用一个函数计算该班同学的考试平均成绩和各同学的最终成绩(考试成绩+平均成绩),在主函数中将以上计算结果打印出来。

这个不太会......

各位大神帮帮忙吧!
搜索更多相关主题的帖子: void include number 
2012-03-11 00:50
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:7 
p和q的循环可以合在一起;既然你知道数组从0开始,那么最后一个就应该是number[9];第二个问题是哪不会?实现的语法还是算法?

酱油实习生
2012-03-11 08:47
Nefal
Rank: 2
等 级:论坛游民
帖 子:9
专家分:42
注 册:2012-3-11
收藏
得分:7 
楼主第一个代码建议是先做交换最大数,,,,完了以后再做找最小数 再进行交换,,,,最后一个数可能是最小数,,,做完最大数交换以后,最小数的位置改变了,。。导致结果不正确
2012-03-11 11:30
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:7 
程序代码:
#include<stdio.h>

 void main()

 {
     int number[10] = {0};
     int i,m = 0,n = 0,*p = number,*q = number;
   
     for (i = 0;i < 10;i++)
     {
         scanf("%d",&number[i]);
     }

     for (i = 1;i < 10;i++)
     {
         if (*p > number[i])
         {
             p = &number[i];
         }

     }
     for (i = 1;i < 10;i++)
     {
         if (*q < number[i])
         {
             q = &number[i];
         }

     }
   
     m = number[0];
     number[0] = *p;
     *p = m;
   
     n = number[9];//这里是9不是10;
     number[9] = *q;
     *q = n;
    for (i = 0;i < 10;i++)
    {
        printf("%3d",number[i]);
        printf("\n");
    }

 }

最基础的往往是你最容易忽略的!
2012-03-11 12:57
快速回复:大侠,求助!初学者.....
数据加载中...
 
   



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

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