| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 865 人关注过本帖
标题:请帮忙修改程序
只看楼主 加入收藏
pl123586
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2016-10-13
结帖率:0
收藏
 问题点数:0 回复次数:4 
请帮忙修改程序
#include <stdio.h>
#include <stdlib.h>
#define len 10
int main(){
    int array[len]={2,1,4,3,6,5,8,9,7,10},*ptr,i,j,k,num;
 
    ptr=array;
    for(i=0;i<len;i++)
        scanf("%d",ptr+i);

    for(j=0;j<len;j++)
       if(num<array[len]){
           for(k=i;k>j;k--)
               *(ptr+k)=*(ptr+(k-1));
        break;
       }
  *(ptr+j)=num;
    printf("从小到大排序:\n");
   
    for(j=0; j<i+1; j++)
       printf("%4d",*(ptr+j));
    printf("\n");
  

    system("PAUSE");
    return 0;
 }

题目:用指针实现对 10个整数按从小到大的顺序排序
求助:用指针实现输入一个字符串存入数组中,再讲数组内容复制到另一个数组中并输出
搜索更多相关主题的帖子: include system return 
2016-12-05 23:32
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
int array[len]={2,1,4,3,6,5,8,9,7,10},*ptr,i,j,k,num;
 
    ptr=array;
    for(i=0;i<len;i++)
        scanf("%d",ptr+i);

array[len]不是已经赋值了么?这样输入会不会重复???

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-05 23:46
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
建议你还是先写个正常版的冒泡法排序看看,这样我才知道是排序方面出了问题还是指针运用方面出了问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-12-05 23:52
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
#include <stdio.h>
 #include <stdlib.h>
 #define len 10
 int main()
 {
     int array[len]= {2,1,4,3,6,5,8,9,7,10};
     int *ptr, i, j, k, num;
     
     ptr=array;
     
    for(i = 0; i < len; i++)
         scanf("%d", (ptr+i));
   
     for(j = 0; j < len; j++)
     {
        for(i = j; i < len; i++)
        {
               if(*(ptr+j) > *(ptr+i))
               {
                 *(ptr+j) ^= *(ptr+i);
                    *(ptr+i) ^= *(ptr+j);
                 *(ptr+j) ^= *(ptr+i);
            }
        }  
      }
      
      printf("从小到大排序:\n");
     
      for(j = 0; j < len; j++)
        printf("%4d", *(ptr+j));
       printf("\n");
   
      system("PAUSE");
      return 0;
}

早知做人那么辛苦!  当初不应该下凡
2016-12-06 02:21
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
#include<stdio.h>
#include<string.h>
#include<malloc.h>
main()
{
    int i=0;
    char arr[1024], *arr1,arr2[1024];
    char *p;
    printf("请输入字符串:");
    gets(arr);
   
    p = arr;
    arr1 = (char *)malloc(strlen(arr) * sizeof(char ));
    for(i = 0; i < strlen(arr); p++)
    {
        arr1[i] = *p;
        i++;
   
    }
   
    strcpy(arr2, arr);
    puts(arr2);
     
    return 0;
 }

[此贴子已经被作者于2016-12-6 02:34编辑过]


早知做人那么辛苦!  当初不应该下凡
2016-12-06 02:21
快速回复:请帮忙修改程序
数据加载中...
 
   



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

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