PTA习题:7-6 到底有多二

PTA习题:7-6 到底有多二

诶?明日方舟真好玩QwQ

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

  • 输入样例:

  • -13142223336

  • 输出样例:

  • 81.82%

#include<stdio.h>
int main()
{
	int i,k=0,m=0,e;
	double d;
	char a[100];
	while ((a[k]=getchar())!='\n')
	{
		k=k+1;
	}
	if(a[0]=='-')
	k=k-1;
	
	for(i=0;i<k;i++)
	{
		if(a[i]=='2')
		m=m+1;
	}
	
	d=(m+1.0-1.0)/k;
	e=a[k]%2;
	
	if(a[0]=='-')
	{
		d=d+d*0.5;
	}
	if(a[0]=='-' && e==0)
	{
		d=d*2.0;
	}
	d=d*100;
	printf("%.2f",d);
	char str='%';
	printf("%c",str);
}

你可能感兴趣的:(C语言,编程,;练习题,PTA,PTA,字符串,明日方舟,er,二)