2717:基本数据类型
总时间限制: 1000ms 内存限制: 65536kB
描述
对一个完整的编译通过的 C/C++ 程序源代码文件,试判断其中使用了哪些基本数据类型。
基本数据类型包括:char、short、int、long、float、double。
输入
输入有多行,每行为长度不超过255个字符的源码文本。
注意,并非每行文本都对应与一条语句,有些语句可能占用多行;还有些语句可能在同一行上;还有些行可能是空行,不包含任何语句。
假设代码中没有注释。
输出
输出所有使用到的基本数据类型,每个占一行,如果使用到多个类型,则按从char、short、int、long、float到double的顺序输出。
样例输入
#include <stdio.h>
int a;
long b;
void main()
{
scanf("%d%d", &a, &b);
printf("%d", a + b);
}
样例输出
int
long
提示
通过gets(s)可读取每一行,读完最后一行再调用gets(s)时,返回值为NULL,可通过这一点判断输入结束。
来源
计算概论05-寒假练习
问题链接:Bailian2717 基本数据类型
问题简述:(略)
问题分析:简单的字符串匹配和统计问题,不解释。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* Bailian2717 基本数据类型 */
#include <bits/stdc++.h>
using namespace std;
string btype[] = {"char", "short", "int", "long", "float", "double"};
int cnt[6];
int main()
{
memset(cnt, 0, sizeof cnt);
string s;
while (cin >> s)
if (s == btype[0]) cnt[0]++;
else if (s == btype[1]) cnt[1]++;
else if (s == btype[2]) cnt[2]++;
else if (s == btype[3]) cnt[3]++;
else if (s == btype[4]) cnt[4]++;
else if (s == btype[5]) cnt[5]++;
for (int i = 0; i < 6; i++)
if (cnt[i]) cout << btype[i] << endl;
return 0;
}