用C/C++,第一题第二题一直显示正在提交,一个小时,最后延时系统出测试无效之类的,到最后都不知道对不对,第三题,有个错误没改,提交错误了
第一题:
#include<iostream>
#include<algorithm>
using namespace std;
#define N 100
int juest(int *a,int num)
{
int sum=0, renum = 0;
for (int i = 0; i < num; i++)
{
sum = sum+a[i]-9;
if (abs(a[i] - 9) % 2 != 0)
return -1;
renum += abs(a[i] - 9) / 2;
}
if (sum != 0)
return -1;
else
return renum / 2;
return -1;
}
int main()
{
int num;
while (cin >> num)
{
int str[N],err[N];
for (int i = 0; i < num;i++)
{
cin >> str[i];
err[i] = str[i] - 9;
}
cout << juest(str, num) << endl;
}
}
第二题:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int num;
while (cin >> num)
{
int i = (int)sqrt(num);
if ((i*i+i)<num)
cout << i << endl;
else if ((i - 1)*(i - 1) + (i - 1)<num)
cout << i - 1 << endl;


}
return 0;
}
第三题:
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<algorithm>
using namespace std;
#define MAX 100
int main()
{
srand(unsigned(time(NULL)));
int n, m;
int arr[MAX][MAX];
int min;
while (cin >> n)
{
cin >> m;
for (int i = 0; i<n; i++)
for (int j = 0; j<m; j++)
{
scanf_s("%1d",&arr[i][j]);
}
min = arr[0][0];
for (int i = 0; i<n; i++)
for (int j = 0; j<m; j++)
{
if (arr[i][j]<min)
min = arr[i][j];
}
cout << min << endl;
}
return 0;
}
不知道我又没有理解错题,有没有编错,大家轻虐求指正。