遇到个问题,printf两个文字的怎么能只输出一个
#include "stdio.h"
void main()
{
char string[80];
int i,j,k;
char c;
gets(string);
for (i=0;(c=string[i])!='\0';i++)
{
for (j=0;(c=string[j])>='0'&&(c=string[j])<='9';j++)
{
printf("%c",c);
}
printf("是数字\n");
break;
}
for (i=0;(c=string[i])!='\0';i++)
{
for (k=0;(c=string[k])>='a'&&(c=string[k])<='z'||(c=string[k])>='A'&&(c=string[k])<='Z';k++)
{
printf("%c",c);
}
printf ("是字母\n");
break;
}
[解决办法]
程序刚写好了,特殊符号类推吧,看看行不行,我也是刚学,算法应该还能优化
[解决办法]
测试可行
- C/C++ code
#include <stdio.h>int main(){ char string[80]; int i,j,k; char c; gets(string); c=string[0]; if (c>='0'&&c<='9') { for (i=0;(c=string[i])!='\0';i++) { if (c>='0'&&c<='9') { printf("%c",c); } else break; } printf("是数字\n"); } else if ((c>='a'&&c<='z')||(c>='A'&&c<='Z')) { for (i=0;(c=string[i])!='\0';i++) { if ((c>='a'&&c<='z')||(c>='A'&&c<='Z')) { printf("%c",c); } else break; } printf ("是字母\n"); } else { printf("输入错误!"); } return 0;}