| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2164 人关注过本帖
标题:这是哪里错了。没搞懂。。。0-9运行就卡死
取消只看楼主 加入收藏
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
这是哪里错了。没搞懂。。。0-9运行就卡死
# include <stdio.h>
# define upper(ch) ch>='a' && ch<='z'?ch-'a'+'A':ch
signed main()
{
    char abbr[101],*c;
    short p1,p2,p3,L,l,R;
    scanf("%hd %hd %hd",&p1,&p2,&p3);
    scanf("%s",abbr);
    putchar(*(c=abbr));
    while(*++c)
        if(*c!='-'||(L=*(c+1)-*(c-1))<=0||*(c-1)=='-'||L>25)
            putchar(*c);
        else
            for(l=p3==1?1:L-1;l && l<L;l-=p3*2-3)
                for(R=p2;R;--R)
                    switch(p1)
                    {
                        case 1: putchar(*(c-1)+l); break;
                        case 2: putchar(upper(*(c-1)+l)); break;
                        case 3: putchar('*');
                    }
    return !printf("\n");
}
搜索更多相关主题的帖子: putchar || 运行 case break 
2021-11-11 18:31
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
单步调试的时候,怎么显示c={char*}0xcccccccc <error>

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 12:32
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
ok,谢谢大神,对了,大神能看出来我发出来的那段程序代码,是字符展开代码吗?

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 13:57
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
完了,这思路完全跟不上了。。。

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 17:51
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
大神,有时间您帮忙改一下吧,我是越改越迷糊
# include <stdio.h>
#define upper(ch) ((ch)>='a' && (ch)<='z' ? (ch)-'a'+'A':(ch))
signed main()
{
    char abbr[101],*c;
    short p1,p2,p3,L,m,R;
    scanf("%hd %hd %hd",&p1,&p2,&p3);
    scanf("%s",abbr);
    putchar(*(c=abbr));
    while(*++c)
        if(*c!='-' || (L=*(c+1)-*(c-1))<=0 || *(c-1)=='-' || L>25)
            putchar(*c);
        else
            for(m=p3==1?1:L-1;m && m<L;m-=p3*2-3)
                for(R=p2;R;--R)
                    switch(p1)
                    {
                        case 1: putchar(*(c-1)+m); break;
                        case 2: putchar(upper(*(c-1)+m)); break;
                        case 3: putchar('*');
                    }
    return !printf("\n");
}

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 18:09
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
1、输入0-9 卡住,不显示
2、输入a-z 显示的是az。
3、输入abdefc 显示的还是abdefc没有排序。
没有上次您写的那个字符展开的效果。如输入0-9 ,显示的0123456798,等。

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 18:13
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
在保存字符串时,对出现在连续位置的若干个字符,如这些字符在ASCII表中也是连续出现,则可以将这些字符使用缩写形式进行保存,以节省保存空间。例如用A-Z表示ABCDEFGHIJKLMNOPQRSTUVWXYZ,1-5表示12345,c-f表示cdef。
【要求】用指针完成
输入:包含缩写形式的字符串
输出:将缩写形式进行还原后的字符串
说明:只处理大小写字母和数字,即对于形如A-9,a-C这样的缩写不进行处理
测试用例1
输入:0-9
输出:0123456789
测试用例2
输入:a-z
输出:abcdefghijklmnopqrstuvwxyz
测试用例3
输入:G-I
输出:GHI
测试用例4
输入:ABDG-K035-9abd-h
输出:ABDGHIJK0356789abdefgh

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 23:19
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
就是这个效果,大神怎么才能学好指针呐,一用到指针就懵

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 23:34
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
主要是用不好,指着指着,脑袋就乱了

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 23:39
baolis
Rank: 2
来 自:呼啦瓦星
等 级:论坛游民
帖 子:39
专家分:59
注 册:2021-11-10
收藏
得分:0 
OK,十分感谢大神

  printf("Hello, world!\n"); cout << "Hello, world!" << endl;
2021-11-12 23:56
快速回复:这是哪里错了。没搞懂。。。0-9运行就卡死
数据加载中...
 
   



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

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