题目本身不涉及算法,只是简单的模拟,开个数组就OK了,但是通过这题还是有些知识点收获的
1.scanf的返回值2.memset()方法(有用)返回正确按指定格式输入变量的个数
格式错误->返回EOF
格式不完全正确->返回成功输入的数据的个数
while(scanf()!=EOF)等价于while(~scanf())
memset可以方便的清空一个结构体变量或数组。
代码(1)如果是结构体:
struct user
{int id;
char userame[16];
};对于变量
struct user userA;一般情况下,清空userA的方法:
userA.id=0
userA.userame[0]='/0';用memset就非常方便:
memset(&userA,0,sizeof(struct user));(2)如果是数组:
int school[10];
则
memset(school,0,sizeof(school));
#include
using namespace std;
const int maxn=10010;
int tree[maxn]={0};
int main()
{
int l,m;
scanf("%d%d",&l,&m);//scanf的返回值了解
while(!(l==0&&m==0)){
memset(tree,0,l);
for(int i=0;i
【Code3.1B A+B】
http://codeup.hustoj.com/problem.php?cid=100000575&pid=1
分析字符串转整数问题,我的代码是逐位扫描乘10相加
for(int i=0;i<=sizeA;i++){
if(a[i]>='0'&&a[i]<='9')
numA=numA*10+(a[i]-'0');
}
if(a[0]=='-') numA=-numA;
大佬用到了sscanf()函数,这确实比我的方法妙不少
sscanf()函数用法:
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。
格式转换形式请参考scanf()。
定义太抽象了,我们还是先来看一下常见的用法吧:
(1)sscanf("zhoue3456 ", "%4s", str); //取指定长度的字符串
printf("str=%s\n", str); //str="zhou";
(2)sscanf("zhou456 hedf", "%[^ ]", str); //取到指定字符为止的字符串,取遇到空格为止字符串
printf("str=%s\n", str); //str=zhou456;
(3)sscanf("654321abcdedfABCDEF", "%[1-9a-z]", str); //取仅包含指定字符集的字符串
printf("str=%s\n", str); //str=654321abcded,只取数字和小写字符
(4)sscanf("BCDEF123456abcdedf", "%[^a-z]", str); //取到指定字符集为止的字符串
printf("str=%s\n", str); // str=BCDEF123456, 取遇到大写字母为止的字符串
(5)int a,b,c;
sscanf("2015.04.05", "%d.%d.%d", &a,&b,&c); //取需要的字符串
printf("a=%d,b=%d,c=%d",a,b,c); // a=2015,b=4,c=5
大佬代码:
#include
#include
void dispose(char a[])
{
char temp[15]={0};
int pos=0;
for(int i=0;i
对了还有,scanf("%s")适用char型数组,别整string或者char*
【Codeup3.1C 特殊乘法】http://codeup.hustoj.com/problem.php?cid=100000575&pid=2
分析乍一看,是整数转字符串型的,但是其实可以再简单一点点的
输入的时候就以char[ ]类型输入,然后直接for(int i=0;i (补充:strlen(a):遇到\0结束) 代码如下: 题目很简单,但是希望注意以下问题 对于整形变量,编译器不同,宽度是不相同,分别如下: 16位编译器: int: 2个字节(-2^15~2^15) 32位编译器: int: 2个字节 64位编译器: int: 4个字节 欢迎分享,转载请注明来源:内存溢出
【Codeup3.1F 】
分析
#include
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
评论列表(0条)