无法添加到 "C" 中的数组
Not Able To Add To Array In "C"
我有一个程序用于计算特定数字的质数,然后我必须将它放入一个数组中以便对这些数字进行一些数学运算;但是,我 运行 遇到了无法将收集到的素数放入数组中的问题。
当前代码
#include <stdio.h>
#include "pairs.h"
#define SIZE 1000
int main(){
int n, m, count, i=0, res = 0;
char prime[SIZE];
scanf("%d %d", &n, &m);
// while(count >= 1){
// // count = getchar();
// // prime[i++] = count;
for(count = n; count >= 2; count--){
if(primed(count) == 0){
prime[i++] = count;
}
}
printf("%s",prime);
return 0;
}
int primed(int num){
int primes;
for(primes = 2; primes<=num/2; primes++){
if (num % primes != 0){
continue;
}
else{
return 1;
}
}
return 0;
}
我希望将for循环中收集的数字添加到数组中
嗯,你的代码有效,问题是你没有很好地打印数组,试试这个打印数组的代码,它与你想要放入的元素类型相同,所以 int prime[SIZE]
:
int j;
for(j = 0; j < i; j++)
printf("%d ", prime[j]);
printf("\n");
请注意,当您从最后一个元素开始计算时,数字将以相反的顺序排列,因此如果您输入 10,您将得到:
7 5 3 2
您用于打印数组的 %s 用于打印字符串(以字符“\0”结尾的字符数组)。如果要打印所有其他类型的数组,则必须使用循环并打印每个元素。
我有一个程序用于计算特定数字的质数,然后我必须将它放入一个数组中以便对这些数字进行一些数学运算;但是,我 运行 遇到了无法将收集到的素数放入数组中的问题。
当前代码
#include <stdio.h>
#include "pairs.h"
#define SIZE 1000
int main(){
int n, m, count, i=0, res = 0;
char prime[SIZE];
scanf("%d %d", &n, &m);
// while(count >= 1){
// // count = getchar();
// // prime[i++] = count;
for(count = n; count >= 2; count--){
if(primed(count) == 0){
prime[i++] = count;
}
}
printf("%s",prime);
return 0;
}
int primed(int num){
int primes;
for(primes = 2; primes<=num/2; primes++){
if (num % primes != 0){
continue;
}
else{
return 1;
}
}
return 0;
}
我希望将for循环中收集的数字添加到数组中
嗯,你的代码有效,问题是你没有很好地打印数组,试试这个打印数组的代码,它与你想要放入的元素类型相同,所以 int prime[SIZE]
:
int j;
for(j = 0; j < i; j++)
printf("%d ", prime[j]);
printf("\n");
请注意,当您从最后一个元素开始计算时,数字将以相反的顺序排列,因此如果您输入 10,您将得到:
7 5 3 2
您用于打印数组的 %s 用于打印字符串(以字符“\0”结尾的字符数组)。如果要打印所有其他类型的数组,则必须使用循环并打印每个元素。