这道c语言程序设计怎么做

这c语言程序设计怎么做... 这c语言程序设计怎么做 展开
 我来答
百度网友b6c10fe
2018-12-08 · TA获得超过367个赞
知道小有建树答主
回答量:157
采纳率:85%
帮助的人:42.6万
展开全部

需要填写的代码,以及需要修改的地方如下

#include <stdio.h>
int swap(int *p, int *p2);
int main()
{
    //int swap(int *p, int *p2);
    int n1=3, n2=21, n3=15;
    int *pointer1,*pointer2,*pointer3;

    pointer1=&n1;
    pointer2=&n2;
    pointer3=&n3;

    if(n1<n2) swap(pointer1,pointer2);
    if(n1<n3) swap(pointer1,pointer3);
    if(n2<n3) swap(pointer2,pointer3);

    printf("the sorted numbers are :%d,%d,%d\n",n1,n2,n3);

    return 0;
}

int swap(int *p1, int *p2)
{
    int p;
/*************Begin*************/
    p = *p1;
    *p1 = *p2;
    *p2 = p;
/*************End***************/
    //return(*p1,*p2);
//N0N0();
}
/*
N0N0()
{
    FILE *fp,*wf;
    int i;
    char s[20];
    long n;
    fp = fopen("c:\\test\\in.dat","r");
    wr = fopen("c:\\test\\out.dat","w");
    for(i=0; i<10; i++)
    {
        fscanf(fp, "%s", s);
        n =fun(s);
        fprintf(wf,"%ld\n",n);
    }
}
*/

其实数组名就是一个指针,下面是传递数组名,也是使用指针:

#include <stdio.h>
#include <stdlib.h>
void sort( int * p);//声明函数
int n1,n2,n3;//用于分别存放从大到小的数字
int main()
{
    //int i;
    int nums[3]={0};    //用于接收3个整形数字
    printf("请输入3个整形数字:\n\n");

    printf("请输入第1个整形数字:\n");
    scanf("%d",&nums[0]);
    printf("请输入第2个整形数字:\n");
    scanf("%d",&nums[1]);
    printf("请输入第3个整形数字:\n");
    scanf("%d",&nums[2]);
    /*连续输入3个整数使用for循环。例如输入22空格 33空格 11空格,回车*/
    //for(i=0; i<3; i++)
    //{
    //    scanf("%d",&nums[i]);
    //}

    //int swap(n1, n2, n3);
    //printf("%d,%d,%d",nums[0],nums[1],nums[2]);//测试使用
    sort(nums); //传递数组名相当于使用指针的方法实现
    printf("3个数从大到小顺序是:\t%d\t%d\t%d\n",n1,n2,n3);
    return 0;
}

void sort(int * p)
{
    int i,j,temp;//循环变量
    for(i=0; i<3-1; i++)        //3个数比较2轮
    {
        for(j=0; j<3-1-i; j++)  //每轮比较次数
        {
            if(*(p+j) < *(p+j+1))
            {
                temp = *(p+j);
                *(p+j) = *(p+j+1);
                *(p+j+1) = temp;
                //printf("%d\t,%d\n",*(p+j),*(p+j+1));//测试使用
            }
        }
    }
    n1 = *(p+0);
    n2 = *(p+1);
    n3 = *(p+2);
    //return;
}
Yuqi_Tan

2018-12-08 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3484万
展开全部
填下面三句:
p=*p1;
*p1=*p2;
*p2=p;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华梦槐Bz
2018-12-08
知道答主
回答量:8
采纳率:50%
帮助的人:3.1万
展开全部
好像月也不知道哎
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
妖妖妖妖B
2018-12-08 · 超过13用户采纳过TA的回答
知道答主
回答量:1713
采纳率:10%
帮助的人:82.8万
展开全部
不知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2cc35f6
2018-12-08
知道答主
回答量:45
采纳率:0%
帮助的人:3.4万
展开全部
不知道耶
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式