一个数输入的字母和数字个数的程序
#include"stdafx.h"#include<stdio.h>//------------------------------------------------...
#include "stdafx.h"
#include <stdio.h>
//------------------------------------------------------------------------------------------
int numcount (char *s)
{
int i=0;
while (1)
{
if (*s=='!') break;
else if (*s>='0' && *s<='9')
{
i++;
s++;
}
}
return i;
}
//------------------------------------------------------------------------------------------
int letcount (char *s)
{
int j=0;
while (1)
{
if (*s=='!') break;
if ((*s>='a' && *s<='z') || (*s>='A' && *s<='Z'))
{
j++;
s++;
}
}
return j;
}
//------------------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char s[256];
int i,j;
gets (s);
i=numcount(s);
j=letcount(s);
printf ("numcount=%d\n",i);
printf ("letcount=%d\n",j);
return 0;
}
错误? 展开
#include <stdio.h>
//------------------------------------------------------------------------------------------
int numcount (char *s)
{
int i=0;
while (1)
{
if (*s=='!') break;
else if (*s>='0' && *s<='9')
{
i++;
s++;
}
}
return i;
}
//------------------------------------------------------------------------------------------
int letcount (char *s)
{
int j=0;
while (1)
{
if (*s=='!') break;
if ((*s>='a' && *s<='z') || (*s>='A' && *s<='Z'))
{
j++;
s++;
}
}
return j;
}
//------------------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char s[256];
int i,j;
gets (s);
i=numcount(s);
j=letcount(s);
printf ("numcount=%d\n",i);
printf ("letcount=%d\n",j);
return 0;
}
错误? 展开
1个回答
展开全部
#include "stdafx.h"
#include <stdio.h>
//------------------------------------------------------------------------------------------
int numcount (char *s)
{
int i=0;
while (1)
{
if (*s=='!') break;
else if (*s>='0' && *s<='9')
{
i++;
}
s++;
}
return i;
}
//------------------------------------------------------------------------------------------
int letcount (char *s)
{
int j=0;
while (1)
{
if (*s=='!') break;
if ((*s>='a' && *s<='z') || (*s>='A' && *s<='Z'))
{
j++;
}
s++;
}
return j;
}
//------------------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char s[256];
int i,j;
gets (s);
i=numcount(s);
j=letcount(s);
printf ("numcount=%d\n",i);
printf ("letcount=%d\n",j);
return 0;
}
主要是你循环里面写错了,判断之后,不论是不是数字或者是不是字母,处理之后指针都要向下移,指向下一个,不然循环无法终止。
希望对你有帮助。
#include <stdio.h>
//------------------------------------------------------------------------------------------
int numcount (char *s)
{
int i=0;
while (1)
{
if (*s=='!') break;
else if (*s>='0' && *s<='9')
{
i++;
}
s++;
}
return i;
}
//------------------------------------------------------------------------------------------
int letcount (char *s)
{
int j=0;
while (1)
{
if (*s=='!') break;
if ((*s>='a' && *s<='z') || (*s>='A' && *s<='Z'))
{
j++;
}
s++;
}
return j;
}
//------------------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
char s[256];
int i,j;
gets (s);
i=numcount(s);
j=letcount(s);
printf ("numcount=%d\n",i);
printf ("letcount=%d\n",j);
return 0;
}
主要是你循环里面写错了,判断之后,不论是不是数字或者是不是字母,处理之后指针都要向下移,指向下一个,不然循环无法终止。
希望对你有帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询