| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 375 人关注过本帖
标题:请大神指教,真的不会了
只看楼主 加入收藏
默念。幸福
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2013-10-10
结帖率:40%
收藏
已结贴  问题点数:3 回复次数:2 
请大神指教,真的不会了
输一个正整数n(1<n<=10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,,然后输出交换后的n个数。




#include<stdio.h>
int main(void)
{
    int i,n,s,p;
    int a[10];
    printf("Enter n:");
    scanf("%d",&n);
    printf("Enter %d integers:",n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    s=0;a[s]=0;
    for(i=0;i<n;i++){
        if(a[s]>a[i]){
            a[s]=a[i];
            p=i;}
   
}


    a[p]=a[0];
     
    a[0]=a[s];
     
    for(i=0;i<n;i++){
        if(a[s]<a[i]){
            a[s]=a[i];
            p=i;}
    }
    a[p]=a[n-1];
    a[n-1]=a[s];



    printf("After sorted:");
      for(i=0;i<n;i++);

     printf("%d",a[i]);

       printf("\n");

       return 0;
}
搜索更多相关主题的帖子: include 正整数 最大值 Enter 国际 
2013-12-01 08:12
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
没看懂。。。。
#include<stdio.h>
int main(void)
{
    int i,n,max,min,tmp;
    int a[10];
    printf("Enter n:");
    scanf("%d",&n);
    printf("Enter %d integers:",n);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    max = a[0],min=a[0];
    for(i=1;i<n;i++)
    {
        if(a[i]>max)
            max = a[i];
        if(a[i]<min)
            min = a[i]
    }
    tmp = a[0];
    a[0] = min;
    min = tmp;

    tmp = a[n-1];
    a[n-1] = max;
    max = tmp;

    printf("After sorted:");
     for(i=0;i<n;i++)
        printf("%d",a[i]);
     printf("\n");
     return 0;
}


一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-02 15:07
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:3 
程序代码:
/* 输一个正整数n(1<n<=10),再输入n个整数,

 * 将最小值与第一个数交换,最大值与最后一个数交换,

 * 然后输出交换后的n个数。

 */

#include <stdio.h>
#include <stdlib.h>

#define SWAP(a, b, t) t = (a), (a) = (b), (b) = (t)    // 交换两个数的位置

int main()
{
    int n;
    int *a;           // 动态分配数组, 保存n个整数
    int *min,*max;    // 用指针指向最大值和最小值. 
    int i, temp;
   
    while (scanf("%d", &n) && n > 0) {    // 输入n. n<0时结束程序
         a = (int *)malloc(n * sizeof(int)); // 分配内存
         if (a == NULL)
             exit(0);
         for (i = 0; i < n; i++)    // 输入n个数
             scanf("%d", &a[i]);
         min = max = a;
         for (i = 0; i < n; i++) {    // 求最小值与最大值
             if (*min > a[i])           
                 min = &a[i];
             if (*max < a[i])
                 max = &a[i];
             }
         SWAP(*min, a[0], temp);       // 交换最小值与第一个数
         SWAP(*max, a[n-1], temp);       // 交换最大值与最后一个数
         for (i = 0; i < n; i++)
             printf("%d ", a[i]);
         printf("\n");
       }
     return 0;
}        
             



[ 本帖最后由 pangshch 于 2013-12-2 17:46 编辑 ]
收到的鲜花
  • 落泪的鱼72013-12-02 18:20 送鲜花  3朵   附言:我很赞同
2013-12-02 17:44
快速回复:请大神指教,真的不会了
数据加载中...
 
   



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

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