c语言怎样检测一行输入上有几个整数
发布网友
发布时间:2022-04-21 09:35
我来回答
共4个回答
热心网友
时间:2023-05-27 22:30
#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;
}
热心网友
时间:2023-05-27 22:31
#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函数的话,就追问
热心网友
时间:2023-05-27 22:31
每输入一次计数器加一,初始为0,用i++
热心网友
时间:2023-05-27 22:32
怎样结束输入?