c语言中输出时怎么将第一个非零数字前的零去掉
是用数组循环输出的,如0005080,则输出5080这个真的很重要,跪求高手指导(附:我只看得懂C的,求高手见谅。。)...
是用数组循环输出的,如0005080,则输出5080
这个真的很重要,跪求高手指导(附:我只看得懂C的,求高手见谅。。) 展开
这个真的很重要,跪求高手指导(附:我只看得懂C的,求高手见谅。。) 展开
6个回答
展开全部
#include <stdio.h>
//先跳过'0'字符,再输出剩下的字符
//注意特判下0的情况
void output(char s[]){
int i = 0;
while(s[i] == '0' && s[i] != NULL) i++; //跳过字符'0',即前导0
if(s[i] == NULL) putchar('0'); //跳过所有'0'字符后下标i指向了字符串结尾,说明此时要输出的数是0
while(s[i] != NULL) putchar(s[i++]); //输出余下的字符
putchar('\n');
}
int main(){
char s[] = "0005080";
output(s);
return 0;
}
展开全部
#include<stdio.h>
mian()
{
int a[]="0005080",i,add=0;
for(i=0;a[i]!='\0';i++)
{
add+=a[i] //将数字叠加
if(add!=0) //很简单的一个判断(此次之前的数字相加是否为0,不是就输出)
printf("%d",a[i]);
}
}
mian()
{
int a[]="0005080",i,add=0;
for(i=0;a[i]!='\0';i++)
{
add+=a[i] //将数字叠加
if(add!=0) //很简单的一个判断(此次之前的数字相加是否为0,不是就输出)
printf("%d",a[i]);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int t=0 , i;
int a[]={0,0,0,5,0,8,0};
for(i=0;i<7;i++)
{
if(a[i]!=0)t++;
if(t!=0)printf("%d",a[i]);
}
//其实就是用一个变量表示出现的非零数字的个数,不是零就说明出现了非零数字,就可以开始输出了;而且楼上最佳答案的代码有一个漏洞,之和为0不代表全都是0,如果数组是3,0,-3,-1,1,那就会输出3,-1。这个显然是不对的。
int a[]={0,0,0,5,0,8,0};
for(i=0;i<7;i++)
{
if(a[i]!=0)t++;
if(t!=0)printf("%d",a[i]);
}
//其实就是用一个变量表示出现的非零数字的个数,不是零就说明出现了非零数字,就可以开始输出了;而且楼上最佳答案的代码有一个漏洞,之和为0不代表全都是0,如果数组是3,0,-3,-1,1,那就会输出3,-1。这个显然是不对的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符数组的
#include <stdio.h>
int main()
{
char s[10] = "0005080";
int i;
int findheadflag = 0;
for(i=0;i<10 && s[i]!='\0';i++)
{
if(s[i]!='0')
{
break;
}
}
printf("%s\n", &s[i]);
return 0;
}
#include <stdio.h>
int main()
{
char s[10] = "0005080";
int i;
int findheadflag = 0;
for(i=0;i<10 && s[i]!='\0';i++)
{
if(s[i]!='0')
{
break;
}
}
printf("%s\n", &s[i]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
char * s = "0005080";
int a = 0;
for (; *s != '\0'; s++)
{
if (*s != '0') a = 1;
if (a == 0 && *s == '0') continue;
putchar(*s);
}
return 0;
}
int main()
{
char * s = "0005080";
int a = 0;
for (; *s != '\0'; s++)
{
if (*s != '0') a = 1;
if (a == 0 && *s == '0') continue;
putchar(*s);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询