| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2132 人关注过本帖
标题:编程错在哪,自己电脑上自己测试正确 ,提交显示只对一个案例
取消只看楼主 加入收藏
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
结帖率:71.43%
收藏
已结贴  问题点数:18 回复次数:3 
编程错在哪,自己电脑上自己测试正确 ,提交显示只对一个案例

随着电子设备的广泛运用,密码也渐渐融入每个人的生活。保护好密码,不仅关系到个人隐私,更关系到个人的财产和安全。一个安全的密码,最好由大小写字母、数字或符号组成。包含越多种类的字符,其安全性就越高。同时密码还需要有一定的长度,通常至少要由六个以上的字符组成。

并不是每个人都喜欢这样复杂的密码,很多人在设置密码的时候,喜欢使用自己的名字或者生日,但这是很大的安全隐患。
任务

林晓炜正在设计一个网络交易系统,为了保证用户的密码安全,他需要一个程序,判断用户自己设置的密码是否安全,如果不安全,则给出提示。现在他向你求助,请你帮忙设计一个程序来解决这个问题。

应当按照以下的规则来判断密码是否安全:

    如果密码长度小于 6 位,则不安全

    如果组成密码的字符只有一类,则不安全

    如果组成密码的字符有两类,则为中度安全

    如果组成密码的字符有三类或以上,则为安全

通常,可以认为数字、大写字母、小写字母和其它符号为四类不同的字符。


输入格式:

输入的第一行是一个整数 N,表明后面有多少组密码。随后的 N 行输入包括 N 个密码,每个密码的长度均小于 20 个字符。


输出格式:

针对每一个密码判断并输出它是否安全。对于不安全的密码输出 "Not Safe",对于中度安全的密码输出 "Medium Safe",对于安全的密码输出 "Safe"


输入样例:

4
1234
abcdef
ABC123
1#c3Gh[回车]


输出样例:

Not Safe

Not Safe

Medium Safe

Safe[回车]






我的代码
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    int n,i,k,i1,k2,sum,dm,xm,q=0,k1;
    char a[10][30];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%s",a[i]);
        scanf("\0");
    }
    for(i1=0;i1<n;i1++){
        k=0;
        sum=0;
        dm=0;
        xm=0;
        q=0;
        for(k1=0;k1<30;k1++){
            if(a[i1][k1]=='\0'){
                break;
            }
            else{
                k++;
                if(a[i1][k1]>='0'&&a[i1][k1]<='9'){
                    sum=1;
                }
                else if(a[i1][k1]>='A'&&a[i1][k1]<='Z'){
                    dm=1;
                }
                else if(a[i1][k1]>='a'&&a[i1][k1]<='z'){
                    xm=1;
                }
                else {
                    q=1;
                }
            }
        }
        if(k<6){
            printf("Not Safe\n");
        }
        else{
            if(sum+dm+xm+q==1){
                printf("Not Safe\n");
            }
            if(sum+dm+xm+q==2){
                printf("Medium Safe\n");
            }
            if(sum+dm+xm+q>=3){
                printf("Safe\n");
            }
        }
   
        
        
    }
    return 0;
}
搜索更多相关主题的帖子: 输出 安全 字符 密码 sum 
2019-11-14 20:12
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
收藏
得分:0 
回复 2楼 forever74
是有一个示例可能多的情况,但还有一个显示结果错误

2019-11-14 21:06
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
收藏
得分:0 
回复 5楼 rjsp
这与我的有什么区别?看不出来

2019-11-15 20:18
蒟蒻
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2019-11-11
收藏
得分:0 
回复 5楼 rjsp
这与我的有什么区别?水平低看不出来,还是有不过的示例
2019-11-15 20:20
快速回复:编程错在哪,自己电脑上自己测试正确 ,提交显示只对一个案例
数据加载中...
 
   



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

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