C 如何打印部分填充的整数数组?我们可以';t使用'\0';如果是整数
因此,我给一个用户定义的数组作为输入,然后在该数组中选择唯一的数字并将它们存储到另一个数组中,但问题是无法知道新数组的大小。如果数组被部分填充,它将打印一些垃圾值 我尝试过使用“\0”,但后来发现它只能用于“字符数组”的情况。 接下来我尝试使用“sizeof”,但仍然没有结果。“sizeof”存储阵列的最大大小C 如何打印部分填充的整数数组?我们可以';t使用'\0';如果是整数,c,C,因此,我给一个用户定义的数组作为输入,然后在该数组中选择唯一的数字并将它们存储到另一个数组中,但问题是无法知道新数组的大小。如果数组被部分填充,它将打印一些垃圾值 我尝试过使用“\0”,但后来发现它只能用于“字符数组”的情况。 接下来我尝试使用“sizeof”,但仍然没有结果。“sizeof”存储阵列的最大大小 #include<stdio.h> int main() { int n; printf("Enter The Size Of Array:
#include<stdio.h>
int main()
{
int n;
printf("Enter The Size Of Array: ");
scanf("%d",&n);
int a[n],b[n];
int i;
printf("Enter The Elements Of The Array:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
int j;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
{
break;
}
}
if(j==i)
{
b[j]=a[i];
}
}
printf("\nUnique Numbers Are: ");
for(i=0;i<n;i++)
{
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
预期结果:-
Enter The Size Of Array: 10
Enter The Elements Of The Array: 5 4 3 1 2 3 5 3 2 4
Unique Numbers Are: 5 4 3 1 2
很简单。使用计数器:
int main()
{
int n;
printf("Enter The Size Of Array: ");
scanf("%d",&n);
int a[n],b[n];
int i;
int noDups=0; // Init counter
printf("Enter The Elements Of The Array:\n");
for(i=0;i<n;i++) {
scanf("%d",&a[i]);
}
for(i=0;i<n;i++) {
int j;
for(j=0;j<i;j++) {
if(a[i]==a[j])
break;
}
if(j==i) {
b[j]=a[i];
noDups++; // Increment counter
}
}
printf("\nUnique Numbers Are: ");
for(i=0; i<noDups ;i++) { // Loop noDups number of times
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
好的,我在代码中又发现了一个错误:-
#include<stdio.h>
int main()
{
int n;
printf("Enter The Size Of Array: ");
scanf("%d",&n);
int a[n],b[n];
int i;
int p=0;
printf("Enter The Elements Of The Array:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
int j;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
{
break;
}
}
if(j==i)
{
b[p]=a[i];
p++;
}
}
printf("\nUnique Numbers Are: ");
for(i=0;i<p;i++)
{
printf("%d ",b[i]);
}
printf("\n");
return 0;
}
#包括
int main()
{
int n;
printf(“输入数组的大小:”);
scanf(“%d”和“&n”);
int a[n],b[n];
int i;
int p=0;
printf(“输入数组的元素:\n”);
对于(i=0;这是C代码?我想你应该标记C而不是C。太好了!谢谢你的帮助
if(scanf("%d",&a[i]) != 1) {
fprintf(stderr, "Error reading integer\n");
exit(1);
}
#include<stdio.h>
int main()
{
int n;
printf("Enter The Size Of Array: ");
scanf("%d",&n);
int a[n],b[n];
int i;
int p=0;
printf("Enter The Elements Of The Array:\n");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
{
int j;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
{
break;
}
}
if(j==i)
{
b[p]=a[i];
p++;
}
}
printf("\nUnique Numbers Are: ");
for(i=0;i<p;i++)
{
printf("%d ",b[i]);
}
printf("\n");
return 0;
}