标题:c语言新手,求帮助。。。星期六要参加考试,急。。。谢谢。。。
只看楼主
rainbow_hao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-11-4
结帖率:100%
已结贴  问题点数:20 回复次数:6 
c语言新手,求帮助。。。星期六要参加考试,急。。。谢谢。。。
用指针实现:把一个整数插入到由小到大排序的数列中,插入后仍然保持由小到大的顺序。
#include<stdio.h>
void fun(int str[],int n,int k)
{
    int *p,*q,i,j;
    for(i=0,q=str;q<str+k;i++,q++)
        if(n<*q)
        {
            j=i;
            break;
        }
    if(j!=k)
    {
        *p=str[k];
        while(n>*p)
        {
            *p=*(p-1);
            p--;
        }
        str[j]=n;
}
void main()
{
    int s[3][4],i,j;
    printf("输入整数:");
    for(i=0;i<3;i++)
        scanf("%d",&s[i]);
    printf("要输入的数是:");
    scanf("%d",&k);
    fun(s,k,n);
    printf("运行后:");
    for(i=0;i<n;i++)
        printf("%d",s[i]);
    printf("\n");
}
以下是编辑错误的地方:
E:\C++程序\1\1.cpp(22) : error C2601: 'main' : local function definitions are illegal
E:\C++程序\1\1.cpp(36) : error C2958: the left parenthesis '(' found at 'E:\C++程序\1\1.cpp(24)' was not matched correctly
E:\C++程序\1\1.cpp(37) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.


不知道哪里错,求指教。。。
搜索更多相关主题的帖子: c语言 include 星期六 
2011-11-04 11:11
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 楼主 rainbow_hao
花括号不匹配

总有那身价贱的人给作业贴回复完整的代码
2011-11-04 11:15
rainbow_hao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-11-4
得分:0 
回复 2楼 embed_xuel
main函数里也就只有一个花括号呀!!!
2011-11-04 11:18
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
得分:3 
回复 楼主 rainbow_hao
你的fun函数里少了个花括号,你仔细看看
2011-11-04 11:25
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
得分:17 
程序代码:
//运行环境VC6.0++
#include<stdio.h>
#define N 4 //可以更改数值来改变输入个数

void fun(int str[],int n,int k)
{
    int *p,*q,i,j=k;//j要等于k(即数组实际长度后一位)
    for(i=0,q=str;q<str+k;i++,q++)
        if(n<*q)
        {
            j=i;
            break;
        }
    if(j!=k)
    {
        p=&str[k];//应该为地址赋值
        while(n<=*(p-1))//有问题应该改为while(n<=*(p-1))
        {
            *p=*(p-1);
            p--;
        }
    }//不能少了括号
        str[j]=n;
}
void main()
{
    int s[N], i, j, k;//s[3][4]改为s[4];
    printf("按从小到大的顺序输入整数:\n");
    for(i=0;i<N-1;i++)
        scanf("%d",&s[i]);
    printf("要插入的数是:\n");
    scanf("%d",&k);
    fun(s,k,i);//k 没有定义不能与上面混淆;
    printf("运行后:");
    for(j=0;j<=i;j++)
        printf("%5d",s[j]);
    printf("\n");
}



[ 本帖最后由 liao06550107 于 2011-11-4 13:05 编辑 ]

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2011-11-04 12:59
rainbow_hao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-11-4
得分:0 
回复 5楼 liao06550107
谢谢,明白了。。。灰常感谢。。。。
2011-11-04 19:33
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
?????

总有那身价贱的人给作业贴回复完整的代码
2011-11-05 05:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354264-1-1.html




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

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