自然数是正整数的集合,范围从 1 到无穷大,不包括小数部分。自然数是除零之外的整数。零是唯一不是自然数的整数。如果所有元素都是自然数,则数组是特殊的。判断给定的数组是否特殊。
我尝试在不使用 scanf
的情况下使用数字,它可以正常工作并发挥其应有的功能。
这是我尝试编写的代码:
#include <stdio.h>
int main(){
int N,special[N] ;
scanf("%d",&N);
for(N;N>0;N++){
if(special[N]>0){
printf("yes/n");
}else{
printf("no/n");
}
}
return 0;
}
我预计结果是"is"或“否”。但实际输出什么也没有。我的代码没有输出。
最佳答案
正如评论中指出的,代码存在几个问题。
您想要实现的一种方法是:
#include <stdio.h>
int main(){
int N;
int ret = scanf("%d",&N);
if(1 != ret || N < 0)
return 1;
int special[N] ;
for(int i=0;i<N;i++){
ret = scanf("%d", &special[i]);
if(1 != ret)
return 1;
if(special[i] == 0){
printf("array not special\n");
return 1;
}
}
printf("special array\n");
return 0;
}
关于c - 如何生成一个可以包含所有大于零的自然数的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56253336/