c语言问题:
输入格式
输入有多组数据。
每组数据两行。
第一行包含一个正整数n(小于等于10000),代表会员人数。
第二行包含n个正整数(小于等于10000),代表各会员AC的题数。
输出
对应每组数据,如果超过一半的会员AC的题数相同,则输出这个题数,否则输出0。
样例输入
7
14 36 14 14 14 3 8
10
56 56 56 56 3 35 35 8 77 56
样例输出
14
0
1、首先打开visual studio软件,新建一个C语言文件。
2、接着在C语言文件的顶部导入库内容。
3、接着运用scanf函数接收用户输入的字符串。
4、然后我们利用printf函数打印一下用户输入的内容。
5、运行程序以后就会弹出如下图所示的CMD界面,我们输入内容就会自动接收到,然后原样输出内容。
6、最后如果你接收其他的类型,比如整数,那么类型就需要改变成int。
这种题目一直不知道针对它的测试程序怎么判断结束输入的...
求思想
OJ说答案错误
追答这是实测过的代码。
思路是:
先读取第一行的整数(人数)
根据人数循环进行下面的3~5处理
读入一个整数(这是第二行中的一个数据),保存到ac[i]中
判断ac[i]是否与ac[0~i]的数据有重复,k用来记录重复次数。
判断k与ac_same_count的大小,如果k大就用k替换ac_same_count(也就是说ac_same_count保存的是:已经读入的数据中最多的重复次数。ac_same是重复次数最多的数的数值)
判断最多重复次数ac_same_count是否超过一半人数,进行相应的输出
if (count==0)
break;
这句在c里不行啊,不在循环结构里,怎么跳出循环?
把这一句去掉吧。
因为你的题目例子里是输入两次数据的,所以我原来在代码外面套了一个while循环,如下:
while(true)
{
count = 0;
......
printf("0\n");
}
后来我把while去掉了,就忘了去掉count==0的判断了。
我自己想出来了,不过受了你一个地方的启发。谢谢!
本回答被提问者和网友采纳