user-0 提问:  幸运彩票 

回复:
user: user-1
content: 引用 26 楼 maggielve 的回复:[quote=引用 25 楼 qq_1457346882的回复:][quote=引用 21 楼 maggielve 的回复:][quote=引用 20 楼 qq_1457346882 的回复:][quote=引用 14 楼 maggielve 的回复:][quote=引用 11 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  [quote=引用 5 楼 maggielve 的回复:][quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?[/quote] 嗯，这个可以[/quote] 。。。 这个完全不可以，不经过转换处理的话，字符类型的数据与整型数据所承载的信息是不一样的，包括数据类型大小，地址分配这些存储方式，还有ASCLL码上的值，你有尝试过嘛就说char可以直接用，你传两个char字符，一个传８，一个传９，你看看输出结果是什么[/quote] #include "stdio.h" int main() { 	char a[100][6]; 	int n,i,j,sum1 = 0, sum2 = 0; 	scanf("%d",&n); 	for( i = 0 ; i < n ; i++ ) 		scanf("%s",&a[i]); 	for( i = 0 ; i < n ; i++ ) 	{ 		sum1 = 0, sum2 = 0; 		for( j = 0 ; j < 6 ; j++ ) 		{ 			if( j <= 2 ) 				sum1 += a[i][j]-'0'; 			else 				sum2 += a[i][j]-'0'; 		} 		if( sum1 == sum2 ) 			printf("You are lucky!\n"); 		else 			printf("Wish you good luck.\n"); 	} 		 		 		 		 		 	return 0; } [/quote] 所以你这个表情拿来什么意思呢？你没做处理？[/quote] 我这段代码是对的[/quote] sum1 += a[i][j]-'0'; 那你这还不是经过了处理？把字符换成了数字，我服了

user: user-2

user: user-3
content: 强.。。。。。。。。。。。。

user: user-4
content: 引用 23 楼 maggielve 的回复:[quote=引用 22 楼 weixin_54938528的回复:]很好，对我很有帮助，感谢！ 你码龄才两天够强了[/quote]  啥意思??????????????

user: user-0
content: 引用 25 楼 qq_1457346882的回复:[quote=引用 21 楼 maggielve 的回复:][quote=引用 20 楼 qq_1457346882 的回复:][quote=引用 14 楼 maggielve 的回复:][quote=引用 11 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  [quote=引用 5 楼 maggielve 的回复:][quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?[/quote] 嗯，这个可以[/quote] 。。。 这个完全不可以，不经过转换处理的话，字符类型的数据与整型数据所承载的信息是不一样的，包括数据类型大小，地址分配这些存储方式，还有ASCLL码上的值，你有尝试过嘛就说char可以直接用，你传两个char字符，一个传８，一个传９，你看看输出结果是什么[/quote] #include "stdio.h" int main() { 	char a[100][6]; 	int n,i,j,sum1 = 0, sum2 = 0; 	scanf("%d",&n); 	for( i = 0 ; i < n ; i++ ) 		scanf("%s",&a[i]); 	for( i = 0 ; i < n ; i++ ) 	{ 		sum1 = 0, sum2 = 0; 		for( j = 0 ; j < 6 ; j++ ) 		{ 			if( j <= 2 ) 				sum1 += a[i][j]-'0'; 			else 				sum2 += a[i][j]-'0'; 		} 		if( sum1 == sum2 ) 			printf("You are lucky!\n"); 		else 			printf("Wish you good luck.\n"); 	} 		 		 		 		 		 	return 0; } [/quote] 所以你这个表情拿来什么意思呢？你没做处理？[/quote] 我这段代码是对的

user: user-1
content: 引用 21 楼 maggielve 的回复:[quote=引用 20 楼 qq_1457346882 的回复:][quote=引用 14 楼 maggielve 的回复:][quote=引用 11 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  [quote=引用 5 楼 maggielve 的回复:][quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?[/quote] 嗯，这个可以[/quote] 。。。 这个完全不可以，不经过转换处理的话，字符类型的数据与整型数据所承载的信息是不一样的，包括数据类型大小，地址分配这些存储方式，还有ASCLL码上的值，你有尝试过嘛就说char可以直接用，你传两个char字符，一个传８，一个传９，你看看输出结果是什么[/quote] #include "stdio.h" int main() { 	char a[100][6]; 	int n,i,j,sum1 = 0, sum2 = 0; 	scanf("%d",&n); 	for( i = 0 ; i < n ; i++ ) 		scanf("%s",&a[i]); 	for( i = 0 ; i < n ; i++ ) 	{ 		sum1 = 0, sum2 = 0; 		for( j = 0 ; j < 6 ; j++ ) 		{ 			if( j <= 2 ) 				sum1 += a[i][j]-'0'; 			else 				sum2 += a[i][j]-'0'; 		} 		if( sum1 == sum2 ) 			printf("You are lucky!\n"); 		else 			printf("Wish you good luck.\n"); 	} 		 		 		 		 		 	return 0; } [/quote] 所以你这个表情拿来什么意思呢？你没做处理？

user: user-0
content: 引用 9 楼 lin5161678的回复:[quote=引用 4 楼 maggielve 的回复:][quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对[/quote] 测试系统显示不对，怎么说？？？

user: user-0
content: 引用 18 楼 自信男孩的回复:对于不同，你有么有好好分析？不同，不对就直接问，你自己的思考呢？ 额，我肯定是思考过后不会才问的

user: user-5
content: 对于不同，你有么有好好分析？不同，不对就直接问，你自己的思考呢？

user: user-6
content: 引用 4 楼 maggielve 的回复:[quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对

user: user-7
content: 这个可以非常简单吧：  #include <stdio.h>  int main() {   int a, b, c, d, e, f;    for (scanf("%d", &a); scanf("%1d%1d%1d%1d%1d%1d", &a, &b, &c, &d, &e, &f) == 6;)     a + b + c == d + e + f ? puts("You are lucky!") : puts("Wish you good luck.");    return 0; }

user: user-0
content: 引用 12 楼 lin5161678的回复:[quote=引用 10 楼 maggielve 的回复:][quote=引用 9 楼 lin5161678的回复:][quote=引用 4 楼 maggielve 的回复:][quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对[/quote] 测试系统显示不对，怎么说？？？[/quote] 测试系统又显示对了，又怎么说[/quote] 咱俩的代码不一样，我只是在我的代码上又加了个1，而你这段代码是可以的

user: user-0
content: 引用 13 楼 自信男孩的回复:[quote=引用 12 楼 lin5161678 的回复:][quote=引用 10 楼 maggielve 的回复:][quote=引用 9 楼 lin5161678的回复:][quote=引用 4 楼 maggielve 的回复:][quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对[/quote] 测试系统显示不对，怎么说？？？[/quote] 测试系统又显示对了，又怎么说[/quote] 楼主是自己不懂，就怪别人，别人会的他不会就是别人的错。所以，不要跟他计较这些。 楼主没有虚心学习的态度，只有挑刺和不承认自己的差距的问题～[/quote] 我按照别人说的改了下代码，然后测试有错误，我就说了下有错误，怎么了？我怎么就挑刺了，我怎么就怪别人了？你不要无中生有好不好？

user: user-0
content: 引用 11 楼 qq_1457346882的回复:整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  [quote=引用 5 楼 maggielve 的回复:][quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?[/quote] 嗯，这个可以

user: user-0
content: 引用 22 楼 weixin_54938528的回复:很好，对我很有帮助，感谢！ 你码龄才两天够强了👍

user: user-5
content: 引用 12 楼 lin5161678 的回复:[quote=引用 10 楼 maggielve 的回复:][quote=引用 9 楼 lin5161678的回复:][quote=引用 4 楼 maggielve 的回复:][quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对[/quote] 测试系统显示不对，怎么说？？？[/quote] 测试系统又显示对了，又怎么说[/quote] 楼主是自己不懂，就怪别人，别人会的他不会就是别人的错。所以，不要跟他计较这些。 楼主没有虚心学习的态度，只有挑刺和不承认自己的差距的问题～

user: user-6
content: 引用 10 楼 maggielve 的回复:[quote=引用 9 楼 lin5161678的回复:][quote=引用 4 楼 maggielve 的回复:][quote=引用 2 楼 lin5161678的回复:]    for( i = 0 ; i < n ; i++ )         scanf("%1d",&a[i]); 那也不对啊？[/quote]你不会 不是我不对[/quote] 测试系统显示不对，怎么说？？？[/quote] 测试系统又显示对了，又怎么说

user: user-4
content: 很好，对我很有帮助，感谢！

user: user-1
content: 整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  引用 5 楼 maggielve 的回复:[quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?

user: user-0
content: 引用 20 楼 qq_1457346882 的回复:[quote=引用 14 楼 maggielve 的回复:][quote=引用 11 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了  [quote=引用 5 楼 maggielve 的回复:][quote=引用 3 楼 qq_1457346882的回复:]整数需要处理，不能直接取过来用，看你定义应该是想定义一个空放一个数字，一个数放六个地址里，但是这样是没法做的，就算你定义char单个输进来字符也需要处理转化成数字才能计算，要么就是int类型数字分开存储，但是那你就是存了六个数字不是一个数字了 char可以，2楼说的不对啊，[/quote] 你是想说定义char a[100][6],比如传入2　3　3　0　0　8可以直接a[i][0]+a[i][1]...?[/quote] 嗯，这个可以[/quote] 。。。 这个完全不可以，不经过转换处理的话，字符类型的数据与整型数据所承载的信息是不一样的，包括数据类型大小，地址分配这些存储方式，还有ASCLL码上的值，你有尝试过嘛就说char可以直接用，你传两个char字符，一个传８，一个传９，你看看输出结果是什么[/quote] #include "stdio.h" int main() { 	char a[100][6]; 	int n,i,j,sum1 = 0, sum2 = 0; 	scanf("%d",&n); 	for( i = 0 ; i < n ; i++ ) 		scanf("%s",&a[i]); 	for( i = 0 ; i < n ; i++ ) 	{ 		sum1 = 0, sum2 = 0; 		for( j = 0 ; j < 6 ; j++ ) 		{ 			if( j <= 2 ) 				sum1 += a[i][j]-'0'; 			else 				sum2 += a[i][j]-'0'; 		} 		if( sum1 == sum2 ) 			printf("You are lucky!\n"); 		else 			printf("Wish you good luck.\n"); 	} 		 		 		 		 		 	return 0; }