【PTA】7-8 到底有多二 (15分)

简介: 【PTA】7-8 到底有多二 (15分)

此程序还有一个训练点通不过 希望有大佬能指出问题所在

一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则再增加1倍。例如数字-13142223336是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯二程度计算为:3/11×1.5×2×100%,约为81.82%。本题就请你计算一个给定整数到底有多二。

输入格式:
输入第一行给出一个不超过50位的整数N。

输出格式:
在一行中输出N犯二的程度,保留小数点后两位。

输入样例:
-13142223336

输出样例:
81.82%

鸣谢安阳师范学院段晓云老师和软件工程五班李富龙同学补充测试数据!

#include <string.h>
#include <stdio.h>
#include <math.h>
int main()
{
    double sum=1.0,cd;
    int cnt=0,shu=0,len;
    char N[100];
    gets(N);
    len=strlen(N);
    if(N[0]=='-') len-=1;
    for(int i=0;i<=len;i++){
        if(N[i]=='2') cnt++;
    }
    if(N[0]=='-') sum*=1.5;
        else shu+=N[0];
    for(int j=1;j<=len;j++){
        shu=shu*10+N[j];
    }
    if(shu%2==0) sum*=2;
    cd=1.0*cnt/len*sum*100;
    printf("%.2lf%%",cd);
    return 0;

}

目录
相关文章
|
存储 C语言 C++
用数组名作函数参数
用数组名作函数参数
110 1
|
JavaScript
如何创建一个Vue项目(手把手教你)
这篇文章是一篇手把手教读者如何创建Vue项目的教程,包括使用管理员身份打开命令行窗口、找到存放项目的位置、通过vue-cli初始化项目、填写项目信息、进入项目目录、启动项目等步骤,并提供了一些常见第三方库的引入方法。
如何创建一个Vue项目(手把手教你)
|
11月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
C语言
C语言指针——练习
C语言指针——练习
114 0
|
12月前
|
人工智能 算法 C++
一篇带你速通前缀和算法(C/C++)
一篇带你速通前缀和算法(C/C++)
|
存储 C语言 C++
PTA—C语言期末复习(选择题)
PTA—C语言期末复习(选择题)
272 1
|
存储 C语言
字符串的引用方式在C语言中的探讨
字符串的引用方式在C语言中的探讨
145 5
|
C语言
PTA—C语言期末复习(判断题)
PTA—C语言期末复习(判断题)
350 0