c语言问题求教 利用函数判断字符串中是否全为数字

答案:4  信息版本:手机版

解决时间 2018-12-22 19:42

已解决

2018-12-22 08:52

c语言问题求教 利用函数判断字符串中是否全为数字

最佳答案

2018-12-22 09:35

//在VC下调试的正确结果

#include //strlen()需要的头文件

#include//#include "stdafx.h"

#define n 100

int main(int argc, char* argv[])

{

printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************");

char a[n];

int isnumber(char a[n]);

printf("请输入一串字符串:

");

scanf("%s",a); //输入字符串,给定首地址就行,a表示字符数组首地址

isnumber( a);  //实参,数组实参给首地址

printf("Hello World!

");

return 0;

}

int isnumber(char a[n]){

int len = strlen(a);

int j =0;

for(int i =0;i{

if(a[i]<=57&&a[i]>=48)  //0~9的ASCII码是48~57

{j++;}  //找到数字了就数量++

}

//数字总数和字符串长度一样,则全是数字,总数为0,则都不是数字,在0~len之间则有部分是数字

if (j==len){

printf("全为数字");

}

else if(j == 0){printf("全不为数字");}

else{

printf("不全为数字");

}

return 0;

}

全部回答

1楼

2018-12-22 12:23

你这都搞不清a和a[n]的区别,一个是char*,一个是char。主函数里调用isnumber传参数改为a,isnumber函数定义时,括号里面参数改为char *a,还有strlen(a)求字符串长度。

2楼

2018-12-22 11:35

#include "string.h"

#include "stdio.h"

#define n 100

int main(int argc, char* argv[])

{

printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************");

char a[n];

int isnumber(char a[n]);

printf("请输入一串字符串:\n");

scanf("%s",a);//想要将输入字符串存储在数组a中,用a作为后面的参数就行,它即表示一个地址。

isnumber( a);

printf("Hello World!\n");

return 0;

}

int isnumber(char a[n])

{

int c=0;

int i =0;

while(c<=9&&c>=0)

{

c = a[i];

i++;

}

if (i =(strlen(a)-1))//strlen求得一个字符串的长度,参数为一个字符串地址,所以要用a,a[n]是数组的第一个字符

{

printf("全为数字");

}

else

{

printf("不全为数字");

}

return 0;

}追问那为什么strlen这个函数没法使用呢?追答#include "string.h"

#include "stdio.h"

int isnumber(char *a);

#define n 100

int main(int argc, char* argv[])

{

printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************");

char a[n];

printf("请输入一串字符串:\n");

scanf("%s",a);//想要将输入字符串存储在数组a中,用a作为后面的参数就行,它即表示一个地址。

isnumber(a);

printf("Hello World!\n");

return 0;

}

int isnumber(char *a)

{

int c=a[0];

int i =1;

printf("%d\n",strlen(a));

while(c<='9'&&c>='0')

{

c = a[i];

i++;

}

if (i == (strlen(a)+1))//strlen求得一个字符串的长度,参数为一个字符串地址,所以要用a,a[n]是数组的第一个字符

{

printf("全为数字\n");

}

else

{

printf("不全为数字\n");

}

return 0;

}

补充回答,刚才那个发现逻辑不对,得到的结果不符合逻辑,修改了下

3楼

2018-12-22 11:08

问题比较多 修改如下

供参考

有哪里不明白请追问

#include "string.h"

#include "stdafx.h"

#define n 100

int main(int argc, char* argv[])

{

printf("*******************第八单元 函数 判断一串字符串是否全为数字*********************");

char a[n];

int isnumber(char a[n]);

printf("请输入一串字符串:\n");

scanf("%s",a);//用a即可 &a[n]是越界后第一个存储区间地址

isnumber( a);//同理

printf("Hello World!\n");

return 0;

}

int isnumber(char a[n]){

int i =0;

while(a[i] && a[i]<='9'&&a[i]>='0'){

i++;

}

if (i ==(strlen(a))){//判断用==

printf("全为数字\n");

}

else{

printf("不全为数字\n");

}

return 0;

}追问请问定义的函数里面:while循环里为什么有一个a【n】啊?谢谢啦追答while循环里面是a[i]

判断a数组中第i个元素的值

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

c语言c判断字符数字,c语言问题求教 利用函数判断字符串中是否全为数字相关推荐

  1. sqlserver 字符串中是不是全为数字

    全为数字 select * from tablename where columname not like '%[^0-9]%' 是不是包含数字 ISNUMERIC 转载于:https://www.c ...

  2. 把字符串中的全角数字替换成半角数字 0123456789 转换成 0123456789

    public static String filterNumberString(String str) { if(StringUtils.isEmpty(str)) { return null; } ...

  3. C语言程序设计联系题 编写一个函数,由实参传来一个字符串,统计此字符串中的字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述结果。

    编写一个函数,由实参传来一个字符串,统计此字符串中的字母.数字.空格和其他字符的个数,在主函数中输入字符串以及输出上述结果. #include<stdio.h> #include<s ...

  4. R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串

    R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录

  5. R语言nchar函数统计字符串中字符个数实战

    R语言nchar函数统计字符串中字符个数实战 目录 R语言nchar函数统计字符串中字符个数实战 #基础语法

  6. 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符

    SQL函数:字符串中提取数字,英文,中文,过滤重复字符 --提取数字 IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULL DROP FUNCTION DBO.GET_ ...

  7. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  8. R语言str_extract函数从字符串中抽取匹配模式的字符串

    R语言str_extract函数从字符串中抽取匹配模式的字符串 目录 R语言str_extract函数从字符串中抽取匹配模式的字符串 #导入包和库

  9. R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串、str_replace_all函数替换所有匹配到的

    R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串.str_replace_all函数替换所有匹配到的 ...

最新文章

  1. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针排序 | 通过 交换指针指向的内存数据 方式进行排序 )
  2. 你的CSDN粉丝为何那么少
  3. Python中的四种交换数值的方法
  4. 各类防火墙应用对比分析
  5. CF235C-Cyclical Quest【SAM】
  6. 双纵坐标的绘图命令_工程师绘图必备软件——OriginLab 2019b
  7. 【华为云技术分享】云图说|管理与部署域家族云图说重磅推出:一图在手,谁与争锋!
  8. 【转】ZooKeeper详细介绍和使用第一节
  9. win 启动redis_Redis慢查询日志
  10. Mybatis知识(1)
  11. 华为网络技术大赛模拟题答案详解
  12. 云计算被指变相占土地 专家称去伪存真
  13. 中奖人js滚动效果_H5实现中奖记录逐行滚动切换效果
  14. 他们都说springboot是懒人神器,你觉得呢?
  15. 抽象类与接口的异同点
  16. c++ opencv 彩色图rgb 转换hsv 再通道分离
  17. 计算机系统基础实验 - 同符号浮点数加法运算/无符号定点数乘法运算的机器级表示
  18. 三星note10 android q,当之无愧的安卓机皇!三星Note10+测评,结果难以想象
  19. Summers Crafts Broad Role in Reshaping Economy
  20. 2010 年 博文汇总

热门文章

  1. 每日一题丨以下哪个SQL查询的结果是2006-01-01 00:00:00
  2. 1024 程序员节:给 DBA 们的福音
  3. 4种方法帮你解决IntelliJ IDEA控制台中文乱码问题
  4. MindSpore手写数字识别初体验,深度学习也没那么神秘嘛
  5. 深度学习在其他领域的应用1:密码破解
  6. express中间件系统的基本实现
  7. 【Python3网络爬虫开发实战】 1.7.1-Charles的安装
  8. AsyncTask 源码流程简析
  9. MySQL+Hibernate下连接空闲8小时自动断开问题解决方案
  10. 去掉网页上链接或按钮的虚线框