int del_zero(int *p,int n)
int main(void)
{
int i,n,test[128]
scanf("%d",&n)
printf("请输入%d个数组元素\n",n)
for(i=0i<ni++)
scanf("%d",&test[i])
printf("\n输入的数据元素为:\n")
for(i=0i<ni++)
printf("%d ",test[i])
n=del_zero(test,n)
printf("\n删除0元素后的数组长度=%d,剩余元素为:",n)
for(i=0i<ni++)
printf("%d ",test[i])
return 0
}
int del_zero(int *p,int n)
{
int i,j,temp,len=n
for(i=0i<leni++){
if(p[i]==0){
for(j=ij<lenj++){
p[j]=p[j+1]
}
len--
}
}
return len
}
#include <stdio.h>int main()
{
char a[1000000],c
int i,k
while((gets(a))!=NULL)//(gets(a))!=NULLEOF为整型,而gets(a)返回的是一个char指针,不能进行比较,可改为NULL
{
c=getchar()
getchar()//这儿要加一个getchar(),就可以把你输入小写字母后的回车符给吸收了,这样,你就能在下一次中继续输入字符串,否则就乱了
for(i=0a[i]!='\0'i++)
{
if(i==0)
k=0
if(a[i]==c)
k++
}
printf("%d\n",k)
}
return 0
}
//以下是我自己写的一个,用scanf()这种标准输入会比较安全
#include <stdio.h>
#include<string.h>
int main()
{
char a[1000000],c
int i,k
while(scanf("%s\n%c",a,&c)!=-1)
{
k=0//每次都得初始化一下计数k
for(i=0a[i]!='\0'i++)
{
if(a[i]==c) k++
}
printf("%d\n",k)
}
return 0
}
char s[] = "0000123023"int i, j
for (i = 0s[i] == '0'i++)
for (j = 0s[j]=s[i]i++, j++)