你的脑容量
Description
int占用4个字节,bool占用1个字节,long long占用88个字节,double占用8个字节,char占用1个字节,float占用4个字节。
这是哪个世界线的咒语吗?计算机中各种存储容量的单位都是用字节(Byte简为BB)来表示,此外还有KB(千字节)、MB(兆字节)、GB(千兆字节)和TB(太字节),他们的关系是
请你写一个程序,求n个这六种类型的变量,求出这些变量理论上需要使用多少KB(千字节)的内存,答案向上取整。
Input
第一行一个整数T,代表有T组样例
对于每组样例第一行n标识输入有n行 (n<=100000)接下来n行如上述所示
输入保证
1:每一行只有一个类型名和变量名存在:inta;而不存在:inta,b
2:输入的基本格式为:<变量类型> <变量名>
3:n的和不超过200000
Output
输出用了多少KB(千字节)内存(向上取整)
Sample Input 1
1
1
int a
Sample Output 1
1
WA了五次的水题
因为我循环体很乱
导致emmmm
先贴上代码,一会看完书以后过来总结
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
int T,n;
double i,j;
char x;
scanf("%d",&T);
while(T--)
{
int sum=0;
scanf("%d",&n);
while(n--)
{
char a[10];
scanf("%s",&a);
getchar();
x=a[0];
gets(a);
if(x=='i'||x=='f') sum+=4;
else if(x=='b'||x=='c') sum+=1;
else if(x=='l'||x=='d') sum+=8;
i=sum%1024;
j=sum/1024;
}
if(i!=0) printf("%.0lf\n",j+1);
else printf("%.0lf\n",j);
}
return 0;
}
总结
像这样的题。T组数据鸭,每组数据n组数鸭。。。
通通用这个类型:
scanf("%d",&T);
while(T--)
然后注意这个题,输入的是每组T的结果,
所以给sum=0,应该放在
scanf("%d",&n);
前边。
留一个尾巴:看竖式乘法和分治乘法。over