想了好久 为什么不行 这道c语言题
十七、切换状态
Time Limit:1000MS Memory Limit:65536K
Total Submit:110 Accepted:56
Description
有N盏灯,排成一排。给定每盏灯的初始状态(开或关),你的任务是计算至少要切换多少盏灯的状态(将开着的灯关掉,或将关掉的灯开起来),才能使得这N盏灯开和关交替出现。
Input
输入数据占一行。首先是一个整数N,1 ≤ N ≤ 10000,然后是N个整数,表示这N盏灯的初始状态,1表示开着的,0表示关着的。灯与灯之间用空格分隔。
Output
输出占一行,表示至少需要切换状态的灯的数目。
Sample Input
3 1 0 1
9 1 0 0 1 1 1 0 1 0
Sample Output
0
3
Hint
以上输入输出样例中有两组的测试数据
Source
下面是我做的 哪里错了 第二组数据测出来是是6
#include<stdio.h>
#include<math.h>
int main()
{
int n,a[10000],i,u,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
if(a[0]==1)
{for(i=2;i<=n;i=i+2)
{
if(a[i]==0)
sum++;}
for(i=1;i<=n;i=i+2)
{
if(a[i]==1)
sum++;}
}
u=pow(2,n)-sum;
if(sum<u)
printf("%d\n",sum);
else
printf("%d\n",u);
return 0;
}
Time Limit:1000MS Memory Limit:65536K
Total Submit:110 Accepted:56
Description
有N盏灯,排成一排。给定每盏灯的初始状态(开或关),你的任务是计算至少要切换多少盏灯的状态(将开着的灯关掉,或将关掉的灯开起来),才能使得这N盏灯开和关交替出现。
Input
输入数据占一行。首先是一个整数N,1 ≤ N ≤ 10000,然后是N个整数,表示这N盏灯的初始状态,1表示开着的,0表示关着的。灯与灯之间用空格分隔。
Output
输出占一行,表示至少需要切换状态的灯的数目。
Sample Input
3 1 0 1
9 1 0 0 1 1 1 0 1 0
Sample Output
0
3
Hint
以上输入输出样例中有两组的测试数据
Source
下面是我做的 哪里错了 第二组数据测出来是是6
#include<stdio.h>
#include<math.h>
int main()
{
int n,a[10000],i,u,sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
if(a[0]==1)
{for(i=2;i<=n;i=i+2)
{
if(a[i]==0)
sum++;}
for(i=1;i<=n;i=i+2)
{
if(a[i]==1)
sum++;}
}
u=pow(2,n)-sum;
if(sum<u)
printf("%d\n",sum);
else
printf("%d\n",u);
return 0;
}
...全文
相关推荐
C语言概念题大全及详细解答 ( 经典 )
《C语言概念题大全及详细解答》是一份包含100多道选择题和100道填空题的综合练习资源,旨在帮助学习者深入理解和掌握C语言的基础概念。
c语言全套练习题刷题必备
**C语言全套练习题刷题必备**C语言是一种强大的、广泛应用的编程语言,它以其简洁、高效和灵活性闻名。
C语言编程实例100题.pdf
《C语言编程实例100题.pdf》含100道C语言编程题,适用于学习者提升技能与笔试准备。题目涵盖基础到中等难度,有参考答案。如排列组合、奖金计算、完全平方数查找、日期转换等题,展示C语言基础应用,助
100多道关于C语言的练习答案,原题可以在OJ上找到
C语言是一种广泛使用的编程语言,尤其在初学者和计算机科学教育中占据重要地位。这个压缩包包含的是100多道C语言的练习题目答案,这些题目来源于在线判断平台(Online Judge,简称OJ)。
c语言常考的100个程序题
【资源摘要信息】:“c语言常考的100个程序题”是一本面向C语言初学者的书籍,书中包含了100道经典的C语言编程练习题,旨在帮助读者从入门到精通,提升编程能力。【程序1】是关于排列组合的问题,要求


