#include "stdafx.h" //自己运行是正确的,但是验证不通过
#include "string.h" //顺序提取数字和运算符号
int f(int n, char s[])
{
int i = 0, j = 0, k = 0, x = 0, y = 0, z = 0, flag = 0, temp = 1;
char t[3] = { 0 };
while (s[i] >= '0'&&s[i] <= '9')
{
t[j++] = s[i];
i++;
k++;
}
for (j = k - 1; j >= 0; j--)
{
x += (t[j] - '0') * temp;
temp *= 10;
}
if (s[i++] == '+')
flag = 1;
else
flag = 0;
memset(t, 0, sizeof(t));
j = 0;
temp = 1;
k = 0;
while (s[i] >= '0'&&s[i] <= '9')
{
t[j++] = s[i];
i++;
k++;
}
for (j = k - 1; j >= 0; j--)
{
y += (t[j] - '0') * temp;
temp *= 10;
}
i = i++;
memset(t, 0, sizeof(t));
j = 0;
temp = 1;
k = 0;
while ((s[i] >= '0'&&s[i] <= '9') || s[i] == '?')
{
t[j++] = s[i];
i++;
k++;
}
temp = 1;
for (j = k - 1; j >= 0; j--)
{
z += (t[j] - '0') * temp;
temp *= 10;
}
if (flag == 1)
{
if (x + y == z)
return 1;
else
return 0;
}
else
{
if (x - y == z)
return 1;
else
return 0;
}
}
int main()
{
char s[10] = { 0 };
int c = 0, len;
while (scanf("%s", s) != EOF)
{
len = strlen(s);
if (f(len, s) == 1)
c++;
memset(s, 0, sizeof(s));
}
printf("%d", c);
return 0;
}
0.0分
0 人评分
C二级辅导-同因查找 (C语言代码)浏览:585 |
矩阵乘法 (C++代码)浏览:1461 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:604 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:549 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:842 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:616 |
图形输出 (C语言代码)浏览:1387 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:587 |
青年歌手大奖赛_评委会打分 (C语言代码)浏览:2151 |
简单的a+b (C语言代码)浏览:466 |