tony


私信TA

用户名:a779610882

访问量:22845

签 名:

废物一个。

等  级
排  名 641
经  验 3918
参赛次数 1
文章发表 21
年  龄 20
在职情况 学生
学  校 大连交通大学
专  业 高达的制作和编辑

  自我简介:

别看了反正也没人看

题目分析

一直本真电脑累我不累的思想 反正就是看是不是17的倍数那就干脆除17看有没有余好了

#include<stdio.h>  
int main()  
{  
    int i,sum;  
    char str[200];  
    while(scanf("%s",str)&&str[0]!='0') //百度的ACM写法
    {  
        sum=0;  
        for(i=0;str[i]!='\0';i++)  
        {  
            sum=sum*10+str[i]-'0';//转成整形  
            sum=sum%17;  
        }  
        printf("%s\n",sum?"0":"1"); //3目运算 如果为0就选0不是就是后者 
    }  
    return 0;  
}


 

0.0分

7 人评分

  评论区

sum=sum*10+str[i]-'0'为什么sum要*10啊,求人帮助,感激不尽
2019-11-12 10:45:54
你这输入一个字符然后回车,就会直接出结果呀,并没有严格按照题意来做,可以先把结果用一个数组保存着,然后再一起输出。
对你代码改了一下:
#include<stdio.h>
#include<string.h>
int main()
{
	int num=0,j=0;
	char b[1000],a[1000];
	while(scanf("%s",&a)&&*a!='0')
	{
		for(int i=0;i<strlen(a);i++)
		{
			num=num*10+a[i]-'0';
			num=num%17;
		}
		if(num==0)
		b[j++]='1';
		if(num!=0)
		b[j++]='0';
		num=0;
	}
	for(int i=0;i<j;i++)
	printf("%c\n",b[i]);
	return 0;
}
2019-11-03 20:44:29
牛啤
2019-05-08 20:24:12
妙哉,小弟佩服!
2019-04-03 20:13:21
哈哈哈,别人的代码都是自己累电脑轻松,你是电脑累你轻松
2018-09-07 19:04:44
三目运算符如果为0答案应该是后面的1吧,注释有点问题
2018-06-21 21:16:39
佩服  启发很大
2018-04-02 22:45:17
妙哉!
2018-02-10 16:21:26