第二问要求看不很明白,X代表数字吗,那b里面X1怎么解释,如果X不代表数字那怎么确定要查询哪一轮呢
反正就是要把第一问中的某一或某些行输出吗?
那可不可以记录一下没轮后的情况,再根据输入解析一下要打印哪些行,给你一段代码参考一下,误输入没处理,越界当掉,自己加一下把void PrintRound ( int nRound , int ** ai )
{
printf( "\nROUND%3d : ",nRound );
for(int j=0;j <10;j++)
printf( "%4d ",ai[nRound][j]);
}void main()
{
int a[10]={10,2,8,22,16,4,10,6,14,20};
int i,j,yn,addv;
printf( "ROUND%3d : ",0);
for(j=0;j <10;j++)
printf( "%4d ",a[j]); int ** ai = new int * [100] ; //提供一个保证够用的空间,没分配int,只是100个指针
ai[0] = new int [10] ;
for ( i = 0 ; i < 10 ; i ++ )
{
ai[0][i] = a[i] ;
}
yn=1;
for (i=0;yn;i++)
{
yn=0;
printf( "\nROUND%3d : ",i+1); addv = ( a[9] + ( a[9]&1 ) ) >> 1; ai[i+1] = new int [10] ; for(j=0;j <10;j++)
{
a[j]=((a[j]+(a[j]&1))>> 1)+addv;
addv=a[j]-addv;
yn+=(a[j]^a[0]);
printf( "%4d ",a[j]);
ai[i+1][j] = a[j] ;
}
} printf ( "\n" ) ;
PrintRound ( 0 , ai ) ; // 输出最初轮
PrintRound ( 3 , ai ) ; // 第三轮
PrintRound ( 5 , ai ) ; // 第五轮
}//*/
反正就是要把第一问中的某一或某些行输出吗?
那可不可以记录一下没轮后的情况,再根据输入解析一下要打印哪些行,给你一段代码参考一下,误输入没处理,越界当掉,自己加一下把void PrintRound ( int nRound , int ** ai )
{
printf( "\nROUND%3d : ",nRound );
for(int j=0;j <10;j++)
printf( "%4d ",ai[nRound][j]);
}void main()
{
int a[10]={10,2,8,22,16,4,10,6,14,20};
int i,j,yn,addv;
printf( "ROUND%3d : ",0);
for(j=0;j <10;j++)
printf( "%4d ",a[j]); int ** ai = new int * [100] ; //提供一个保证够用的空间,没分配int,只是100个指针
ai[0] = new int [10] ;
for ( i = 0 ; i < 10 ; i ++ )
{
ai[0][i] = a[i] ;
}
yn=1;
for (i=0;yn;i++)
{
yn=0;
printf( "\nROUND%3d : ",i+1); addv = ( a[9] + ( a[9]&1 ) ) >> 1; ai[i+1] = new int [10] ; for(j=0;j <10;j++)
{
a[j]=((a[j]+(a[j]&1))>> 1)+addv;
addv=a[j]-addv;
yn+=(a[j]^a[0]);
printf( "%4d ",a[j]);
ai[i+1][j] = a[j] ;
}
} printf ( "\n" ) ;
PrintRound ( 0 , ai ) ; // 输出最初轮
PrintRound ( 3 , ai ) ; // 第三轮
PrintRound ( 5 , ai ) ; // 第五轮
}//*/
a:在1的基础上加个信号量 如判断Sum == ??
b:应该和a差不多吧?
C:仿a 在??范围内输出各站士子弹...
D:同c
vector<int>* 里存那一轮各战士的子弹数;
每循环一次,new一个vector<int>* ,存各战士的子弹数,存入map;用户想查询是么?
根据key查询,然后直接来个iterator遍历输出就ok了。
甚至直接for_each输出就可以了。 STL可以让我们少写很多代码的。
那么别说输出所有战士的子弹数,指定输出第几轮第几个战士的数量也是轻而易举。 当然vector在不变动元素顺序的情况下也可以实现,但麻烦不是?输出连续的几轮,那么一个for循环,根据序号找最外层map的对应元素,再输出里面的vector的所有值就是。不用别人给你写代码了吧? 给分吧!