问题遇到的现象和发生背景
PTA团体程序设计天梯赛-练习集 L1-017 到底有多二
题目链接https://pintia.cn/problem-sets/994805046380707840/problems/994805121500692480
几个测试点都过了,但是测试点3提示运行时错误,自查了好多次也没找到问题出在哪里。
问题相关代码,请勿粘贴截图
#include<stdio.h>
#include<string.h>
int main()
{
char N[51];
int i=0,n=0,m=0;;
int fu=0,ou=0,count=0;
double x;
gets(N);
n = strlen(N);//数组长度
m = n;//数位
if(N[0]=='-')//判断负数
{
m--;
i=1;//是负数则循环头从数组1开始
fu=1;
}
if((N[n-1]-'0')%2==0)//判断偶数
{
ou=1;
}
for(i;i<n;i++)//循环计数
{
if(N[i]=='2')
{
count++;
}
}
x=100*(double)count/m;
if(fu==1)
{
x*=1.5;
}
if(ou==1)
{
x*=2;
}
printf("%.2lf%%",x);
return 0;
}
运行结果及报错内容
在自己的编译器上没有找到出错的点。
我的解答思路和尝试过的方法
搜过其他代码推算过没有看出哪里有问题。
我想要达到的结果
希望能查出我代码哪里有问题。