偶尔说说昔日


私信TA

用户名:LJJAW

访问量:652

签 名:

等  级
排  名 40110
经  验 378
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:首先要定义两个数组,一个是初始输入的r数组,一个是在内循环中改变的t数组,并在结束内层循环时将t数组赋值给r数组,并在下一个循环开始时清空t数组,依次循环。然后要定义一个函数来判断t数组中的数据是否都相同,若相同,便在输出k后为其附一个比较大的值,来结束外层循环.

注意事项:

参考代码:

#include<iostream>

using namespace std;

int prime(int n,int b[])

{       int y=0;

   for(int j=0;j<n-1;j++)

        if(b[j]==b[j+1])

              y=y+1;

   if(y==(n-1))

         return 1;

    else 

         return 0;      

}

int main()

{   int r[100],n,k;

    cout<<"请输入一个大于2小于1000的整数:"; 

    cin>>n;

    cout<<endl;

cout<<"请输入"<<n<<"个偶数,每个大于2小于1000"<<endl;

for(int i=0;i<n;i++)

    cin>>r[i]; //每一个人的糖果数

cout<<"输入结束"<<endl; 

for(;k!=10000;)

{   

   int t[100]={0};  

    for(int i=0;i<n;i++)

   {  if(i==0)

         t[i]=r[i]/2+r[n-1]/2;

      else

         t[i]=r[i]/2+r[i-1]/2;

   }

for(int i=0;i<n;i++)

    { if((t[i]%2)==0)

         t[i]=t[i];

      else

         {  t[i]=t[i]+1;

             k=k+1;

}

    }

if(prime(n,t)==1)

      { cout<<"老师要补发的糖果数:"<<k;

        k=10000;

  }

else   

for(int l=0;l<n;l++)  //为r数组重新赋值,并在接下来清空t数组 

      r[l]=t[l];

}

    return 0;

}


 

0.0分

2 人评分

  评论区

在devc++上试了几组数据,都是对的,和那些运行正确的代码结果一样,但就是在c语言网上运行答案出错,跪求大佬指出错误。
2022-01-23 13:14:25
  • «
  • 1
  • »