c语言怎样检测一行输入上有几个整数

发布网友

我来回答

4个回答

热心网友

#include <stdio.h>
/* 定义一行最大能输入的字符数 */

#define MAXLEN 256

/* 统计一行中的有效整数个数(不含负数,需要负数请自行修改条件 */

int CountNum(char *Words)
{ int i,Valid,NewWord,Num;
Num=NewWord=0;
Valid=1;
for(i=0;Words[i]!=0;i++)
{ if(Words[i]==' '||Words[i]=='\t')
{ if(NewWord&&Valid)Num++;
NewWord=0;
Valid=1;
}
else if(Words[i]>='0'&&Words[i]<='9')
{ NewWord=1;
}
else Valid=0;
}
if(NewWord&&Valid)Num++;
return Num;
}

/* 主函数,连续输入数据,输入空行时表示输入结束 */

int main()
{ char Words[MAXLEN];
int Num=0;
for(;;)
{ gets(Words);
if(strlen(Words)<1)break;
Num+=CountNum(Words);
}
printf("Total %d valid integer numbers\n",Num);
gets(Words);
return 0;
}

热心网友

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

int len(int n) //假设要判断的数是n
{char ch[30];
itoa(n,ch,10);
//char*itoa(int value,char*string,intradix);
//int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数
return strlen(ch);字符串长度就是整数位数
}

要是作业不允许使用itoa函数的话,就追问

热心网友

每输入一次计数器加一,初始为0,用i++

热心网友

怎样结束输入?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com