| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1186 人关注过本帖
标题:做了一个把名字首字母小写改大写的单链表的题,有个错误一直找不出来,求大 ...
只看楼主 加入收藏
Jessica_Rong
Rank: 1
来 自:河北唐山
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-5-12
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:2 
做了一个把名字首字母小写改大写的单链表的题,有个错误一直找不出来,求大神指点
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define  FD  'a'
#define  IT  ' '
typedef struct aaa
{
    char ch;
    struct aaa *next;
} AAA;

AAA *e_linkst()
{AAA *h;
    h=(AAA *)malloc(sizeof(AAA));
    h->next=NULL;
    return h;
}
void creat_linkst(AAA * k)
{
    AAA *p,*q;
    int i,t;
    char name[]="jessicarong";
    t=strlen(name);
    q=k;
    for(i=0;i<t;i++)
    {
        p=(AAA *)malloc(sizeof(AAA));
        p->ch=name[i];
        p->next=NULL;
        q->next=p;
        q=p;
    }

}
void print_linkst(AAA * h)
{ AAA * t;
    t=h->next;
    while(t!=NULL)
    {
        printf("%c ",t->ch);
        t=t->next;
    }
}
void insert(AAA *h,char a,char x)
{
    AAA *s,*p,*q;
    p=h->next; q=h;
    while(p!=NULL)
    {
        if(p->ch==a)
        {
            s=(AAA *)malloc(sizeof(AAA));    //1.产生新节点
              s->ch=x;//2.数据域赋值
            s->next=p;//3.连
            q->next=s;//4.断
        }
        q=p;
        p=p->next;
    }
      
          s=(AAA *)malloc(sizeof(AAA));//1.产生新节点
          s->ch=x;    //2.数据域赋值
        s->next=p;//3.连
        q->next=s;    //4.断
}
void find(AAA *h)//头插法
{
    AAA *p,*q;
    p=h->next;
    q=h;
    p->ch-=32;//j变大写
    while(p)
    {
        q=p;
        p=p->next;
        if(q->ch==' '&&p->ch!=' ')
        p->ch-=32;
    }
}

int main()
{
    AAA *head,*s,*p,*q,*t;
    head=e_linkst();   //建立空链表
    creat_linkst(head);//建立单链表
        printf("\n原链表数据:\n");
        print_linkst(head);//输出数据节点的值
        printf("\n\n");
    insert(head,FD,IT);//插入值为空格的新节点
        printf("\n插入节点' '后链表数据:\n");
        print_linkst(head);//输出数据节点的值
        printf("\n\n");
    find(head);
        printf("\n更改后链表数据:\n");
        print_linkst(head);
        printf("\n\n");

}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include return 字母 
2017-05-12 16:09
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:10 
程序代码:
void find(AAA *h)//头插法 
{
    AAA *p, *q;
    p = h->next;
    q = h;
    p->ch -= 32;//j变大写 
    while (p && p->next)
    {
        q = p;
        p = p->next;
        if (q->ch == ' '&&p->ch != ' ')
            p->ch -= 32;
    }
}
2017-05-12 17:06
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:10 
程序代码:
void find(AAA *h)//头插法 
{
    AAA *p,*q;
    p=h->next;
    q=h;
    p->ch-=32;//j变大写 
    while(p)
    {
        q=p;
        p=p->next;
        if(q->ch==' '&&p->ch!=' ')//这一句改成 q->ch >= 'a' && q->ch <= 'z' 
        p->ch-=32;
    }
}


[此贴子已经被作者于2017-5-12 22:03编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-05-12 17:08
快速回复:做了一个把名字首字母小写改大写的单链表的题,有个错误一直找不出来, ...
数据加载中...
 
   



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

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