#include <iostream>
#include <ctime>
#include <stdlib.h>
using namespace std;
int s[10][10]={};
int sumnum=0;
int t=0;
float av=0;
int nagnum()
{
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(s[i][j]<0)
sumnum+=1;
else
{if(s[i][j]>0)
av=av+s[i][j]/100;
}
}
}
if(t==100)
return sumnum;
else
{
t++;
return nagnum();
}
}
int main()
{
srand(int(time(0)));
for(int i=0;i<10;i++)
{for(int j=0;j<10;j++)
{
if(rand()%10>0.4)
s[i][j]=rand()%100;
else
{
s[i][j]=-rand()%100;
if (s[i][j]==(-0))
s[i][j]=0;
}
cout<<s[i][j]<<" ";
}
cout<<endl;
}
cout<<nagnum()<<endl;
cout<<av<<endl;
return 0;
}
问题比较多啊,递归理解还不到位
#include <iostream>
#include <ctime>
#include <stdlib.h>
using namespace std;
int s[10][10]={};
int sumnum=0;
float av=0;
int nagnum(int i,int j)
{
if(s[i][j]<0)
sumnum+=1;
else
{
if(s[i][j]>0)
av+=s[i][j];
}
j++;
if(j>= 10)
{
i++;
j=0;
}
if(i>=10)
{
av = av/100.0;
return sumnum;
}
return nagnum(i,j);
}
int main()
{
srand(int(time(0)));
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(rand()%10>0.4)
s[i][j]=rand()%100;
else
{
s[i][j]=-rand()%100;
if (s[i][j]==(-0))
s[i][j]=0;
}
cout<<s[i][j]<<" ";
}
cout<<endl;
}
cout<<nagnum(0,0)<<endl;
cout<<av<<endl;
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632