题目描述
给定一组数据,将其中的数字0去掉并且输出剩余的元素。
输入要求
第一行输入一个整数n代表数据的个数(1≤n≤50)。
第二行输入这n个数。
输出要求
输出剔除0以后,剩余的数字内容。
输入样例
5 1 5 0 6 0
输出样例
1 5 6
提示
输出时,两个数字之间用空格间隔,最后一个数字的后面没有空格。
#include<stdio.h>
int main(){
int n,i,a[50],b[50],k=0,count=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n;i++){
if(a[i]==0){
k++;
}
}
for(i=0;i<n;i++){
if(a[i]==0){
continue;
}
else{
printf("%d",a[i]);
count++;
if(count<n-k){ //用count判断是否为最后一个数字
printf(" ");
}
}
}
printf("\n");
return 0;
}
最后一个数据不输出空格有两种方法
1.如本题用count判断
2.判断第一个数,第一个数不输出空格,后面的其他数据都先输出空格再输出数据