tutuqie 发表于 2015-4-15 17:33:14

输入一个数字使得26个字母排列发生变化

【数据结构与算法-线性表17】按照小甲鱼的代码敲的,为什么只能输入正数,输入负数程序就结束。是这里有问题吗?不知道哪里出错了。。void Caesar(DuLinkList *L,int i)
{
      if(i>0)
      {
                do
                {
                        (*L)=(*L)->next;
                }while(--i);      
      }
      
      if(i<0)
      {
                do
                {
                        (*L)=(*L)->next;
                }while(++i);
                        
      }      
}


int main()
{
      DuLinkList L;
      int i,n;
      
      InitList(&L);
      
      printf("请输入一个整数:");
      scanf("%d",&n);
      printf("\n");
      Caesar(&L,n);
      
      for(i=0;i<26;i++)
      {
                L=L->next;
                printf("%c",L->data);
      }
      
      return 0;
}


tutuqie 发表于 2015-4-15 17:34:15

不知道怎么回事,新手,求解答{:5_111:}

Bill好想 发表于 2015-4-17 00:07:25

视频代码错误了,去看纠错贴里有解答!

d5zhao 发表于 2015-4-21 00:22:47

签到,回帖赚鱼币

d5zhao 发表于 2015-4-21 00:26:38

签到,回帖赚鱼币

laishiba 发表于 2015-4-27 20:42:01

嗯 很好

citian3094 发表于 2015-5-2 18:18:11

看下代码

jasperSHY 发表于 2015-5-5 14:15:15

这个我知道,
   if(i<0)
      {
                do
                {
                        (*L)=(*L)->next;       //这里,应该是(*L)=(*L)->prior; 应该是向前追溯,你没有仔细思考呦
                }while(++i);
                        

EntU 发表于 2015-5-28 00:57:25

支持楼主!德玛西亚!

EntU 发表于 2015-5-28 00:58:03

支持楼主!德玛西亚!

Fantastick 发表于 2017-4-19 22:04:57

Bill好想 发表于 2015-4-17 00:07
视频代码错误了,去看纠错贴里有解答!

纠错贴在哪
页: [1]
查看完整版本: 输入一个数字使得26个字母排列发生变化