| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4199 人关注过本帖
标题:运行程序停止工作是什么鬼
只看楼主 加入收藏
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:6 
运行程序停止工作是什么鬼
题目:
图片附件: 游客没有浏览图片的权限,请 登录注册

出现问题:
图片附件: 游客没有浏览图片的权限,请 登录注册



程序:#include<stdio.h>
#include<math.h>
#include<conio.h>

void main()
{
    int i;
    char c;
    printf("输入原文请按1,输入密码请按2!\n");
    scanf("%d",i);
    switch(i)
    {
    case 1:
        {
            printf("请输入原文:\n");
            c=getch();
            if(('a'<=c&&c<'w')||('A'<=c&&c<'W'))
            {
                printf("%c",c+4);
            }
            else if(('w'<=c&&c<='z')||('W'<=c&&c<='Z'))
            {
                printf("%c",c-22);
            }
            else
            {
                printf("%c",c);
            }
        };break;
    case 2:
        {
            printf("请输入密码:\n");
            c=getch();
            if(('e'<=c&&c<='z')||('E'<=c&&c<='Z'))
            {
                printf("%c",c-4);
            }
            else if(('a'<=c&&c<='d')||('A'<=c&&c<='D'))
            {
                printf("%c",c+22);
            }
            else
            {
                printf("%c",c);
            }
        };break;
    default :break;
    }
}



初学,请多多指教
搜索更多相关主题的帖子: 运行程序 停止 printf || break 
2017-09-21 11:26
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:10 
scanf("%d",&i);
2017-09-21 11:29
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
收藏
得分:0 
回复 2楼 grmmylbs
其实这个程序还是有点用不了,麻烦您再看看行吗?
2017-09-21 11:56
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<math.h>
#include<conio.h>

void main()
{
    int i,j;
    char c[100];
    printf("输入原文请按1,输入密码请按2!\n");
    scanf("%d", &i);
    switch (i)
    {
    case 1:
    {
        printf("请输入原文:\n");
        scanf("%s", c);
        j = 0;
        while (c[j] != 0)
        {
            if (('a' <= c[j]&& c[j] < 'w') || ('A' <= c[j] && c[j] < 'W'))
            {
                printf("%c", c[j] + 4);
            }
            else if (('w' <= c[j] &&c[j] <= 'z') || ('W' <= c[j] &&c[j] <= 'Z'))
            {
                printf("%c", c[j] - 22);
            }
            else
            {
                printf("%c", c[j]);
            }
            j++;
        }
    }; break;
    case 2:
    {
        printf("请输入密码:\n");
        scanf("%s", c);
        j = 0;
        while (c[j] != 0)
        {
            if (('e' <= c[j] && c[j] <= 'z') || ('E' <= c[j] && c[j] <= 'Z'))
            {
                printf("%c", c[j] - 4);
            }
            else if (('a' <= c[j] && c[j] <= 'd') || ('A' <= c[j]&&c[j] <= 'D'))
            {
                printf("%c", c[j] + 22);
            }
            else
            {
                printf("%c", c[j]);
            }
            j++;
        }
    }; break;
    default:break;
    }
}
2017-09-21 12:20
hbsck1993
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-9-21
收藏
得分:0 
回复 4楼 grmmylbs
还没有学数组,不太了解,谢谢你啦
2017-09-21 13:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <ctype.h>

void encrypt_decrypt( int offset )
{
    for( char buf[81]; fgets(buf,sizeof(buf),stdin); ) // 81是缓冲大小,只要不小于2就行
    {
        char* p;
        for( p=buf; *p; ++p )
        {
            if( isupper(*p) )
                putchar( 'A' + ((*p-'A')+offset)%26 );
            else if( islower(*p) )
                putchar( 'a' + ((*p-'a')+offset)%26 );
            else
                putchar( *p );
        }
        if( p[-1] == '\n' )
            break;
    }
}

int main( void )
{
    puts( "输入原文请按1,输入密码请按2!" );
    unsigned option;
    int n = scanf( "%u%*[^\n]", &option );
    scanf( "%*c" );
    if( n==1 && option==1 )
    {
        puts( "请输入原文:" );
        encrypt_decrypt( 4 );
    }
    else if( n==1 && option==2 )
    {
        puts( "请输入密文:" );
        encrypt_decrypt( 22 );
    }
}

// 输入
// 2
// Glmre! Glmre! Glmre! Glmre! Glmre! Glmre! Glmre!
// 输出
// China! China! China! China! China! China! China!
2017-09-21 14:53
htlnmvb
Rank: 2
等 级:论坛游民
帖 子:4
专家分:12
注 册:2017-8-1
收藏
得分:0 
回复 楼主 hbsck1993
scanf("%d",&i);
getchar();因为scanf用完存在键盘缓冲\n,在下面读字符时候,会把\n直接读进去!会出错!!
2017-09-21 16:06
快速回复:运行程序停止工作是什么鬼
数据加载中...
 
   



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

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