输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。
对于每个给定范围内的取值,如果表达式的值都为素数,则输出“OK”,否则请输出“Sorry”,每组输出占一行。
第一步,将在在(x,y)范围内的值存到一个数组里
int x, y, n;
while (cin >>x>>y) {
for (int i = x; i <= y; ++i) {
int n = i; int a[n] = n ^ 2 + n + 41; 此处应该为a[n]= 定义数组怎么能放这呢
}
}
一开始我想这样,但这是错的,所以我该怎么将数据存储到这个数组里再输出出来 在 C 语言中,数组的大小必须在使用前已知,并且这个大小在整个程序的运行过程中不能改变。因此,数组的大小通常由常量来定义,而不是变量。
nt main() {
int n, m;
while (cin >> n >> m) {
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cin >> a[i][j];
}
}
这是给数组赋值的方法但是是自己手动输入,有没有自动输入的方法呢
for (int i = 0; i < m; ++i) {
ca[i] = 0;
for (int j = 0; j < n; ++j) {
ca[i] += a[j][i];
}
ca[i] /= n;
}
为什么这里就可以引入局部变量,而我上面的就不行呢,我真是傻了怎么能在数组前面再加一个定义int呢直接 a[n]=不就可以了吗
所以最终的代码是这样的
int x, y,;
while (cin >> x >> y) {
for (int i = x; i <= y; ++i) {
a[i] = i ^ 2 + i + 41;
}
这里的n不是变量