runtime error 问题

sky?? 2016-06-23 02:47:52
我在vs2010上能运行出来,oj的时候显示runtimeerror,不知道是哪里的问题
题目描述:
在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,则可得到一个简单的加密字符串。
输入:
可能有多组测试数据。每组测试数据的第一行是字符串的数目n, (也要使用get(s)读取字符串,再用n=atoi(s)获得整数数值),其余n行每行一个字符串,用gets(s)方式读取这一行字符串.每个字符串长度小于80个字符。
输出:
对于每组数据,输出每行字符串的加密字符串。
样例输入:
1
Hello! How are you!
样例输出:
Ifmmp! Ipx bsf zpv!
代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
int n,i,j,m;
char str[2];
char **p;
while((n=atoi(gets(str)))!=EOF){
p=(char**)calloc(n,80*sizeof(char));
for(i=0;i<n;i++)
p[i]=(char*)calloc(80,sizeof(char));
for(i=0;i<n;i++)
gets(p[i]);
i=0;
while(i<n){
m=strlen(p[i]);
for(j=0;j<m;j++){
if((p[i][j]>='a'&&p[i][j]<='z')||(p[i][j]<='Z'&&p[i][j]>='A')){
if(p[i][j]=='Z')
p[i][j]='A';
else if(p[i][j]=='z')
p[i][j]='a';
else p[i][j]++;}
}
i++;
}
for(i=0;i<n;i++)
printf("%s\n",p[i]);
}
return 0;
}

...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-06-23
  • 打赏
  • 举报
回复
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main() {
    int n,i,j,m;
    char str[81];
    while((n=atoi(gets(str)))!=0) {
        i=0;
        while(i<n) {
            gets(str);
            m=strlen(str);
            for(j=0;j<m;j++) {
                if((str[j]>='a'&&str[j]<='z')||(str[j]<='Z'&&str[j]>='A')) {
                    if(str[j]=='Z')
                        str[j]='A';
                    else if(str[j]=='z')
                        str[j]='a';
                    else str[j]++;
                }
            }
            i++;
            printf("%s\n",str);
        }
    }
    return 0;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧