C语言问题,这是一个统计各个数字,空白符,其他字符的代码,其中1.2.int ndigit[10];是什么意思3.if(
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/21 01:51:52
C语言问题,
这是一个统计各个数字,空白符,其他字符的代码,其中
1.
2.int ndigit[10];是什么意思
3.if(c==' '||c=='\n'||c=='\t')的c==''中间要打空格吗
4.printf(",white space=%d,other=%d\n",nwhite,nother);为什么要加第一个,逗号
#include
main()
{
\x05int c,i,nwhite,nother;
\x05int ndigit[10];
\x05nwhite=nother=0;
\x05for(i=0;i
这是一个统计各个数字,空白符,其他字符的代码,其中
1.
2.int ndigit[10];是什么意思
3.if(c==' '||c=='\n'||c=='\t')的c==''中间要打空格吗
4.printf(",white space=%d,other=%d\n",nwhite,nother);为什么要加第一个,逗号
#include
main()
{
\x05int c,i,nwhite,nother;
\x05int ndigit[10];
\x05nwhite=nother=0;
\x05for(i=0;i
#include<stdio.h>
main()
{
\x09int c,i,nwhite,nother;
\x09int ndigit[10];//ndigit[10]用来存放相应的各个数字的次数,ndigit[0]存放0的次数,ndight[9]存放9的次数
\x09nwhite=nother=0;
\x09for(i=0;i<10;++i)
\x09\x09ndigit[i]=0;
\x09while((c=getchar())!=EOF)
\x09 if(c==' '||c=='\n'||c=='\t')//中间必须打空格,就像'a'一样,中间是什么就写什么,'\n' '\t' ' '
\x09\x09++nwhite'
\x09 else if(c>='0'&&c<='9')
\x09 ++ndigit[c-'0'];//这是ASCII码表示的,比如当检测到输入的数字是'0'时++ndigit[c-'0']即为++ndigit[0-0],当检测到输入的数字是'5'时++ndigit['5'-'0'=5]即为++ndigit[5]
else
\x09\x09++nother;
\x09printf("digits=");
\x09for(i=o;i<10;++i)
\x09\x09printf("%d",ndigit[i]);
\x09printf(",white space=%d,other=%d\n",nwhite,nother);//这里的逗号是输出时为了分隔各个数字用的,也可以用空格取代,像这样的问题,你可以去掉逗号输出比较就可以自己解决;
}
希望可以帮到你!
再问: 谢谢你,请问 1。ndigit[1]是指数字1出现的个数,那么dnigit[10]就是数字0到9出现的个数吗 2。我用vc试了下,发现不打空格有error(1),打了就没有,为什么他们都说不需要打空格 3。输入的数字’5‘的时候是++ndigit['5'-'0'=5]为什么不能直接++ndigit[5] 4这个没有问题看懂了是跟前面分开用的
再答: 1,对,相应脚码对应相应数字出现次数! 2,这个道理很简单,因为他们错了! 3,这是代码简写啊,你想想,如果写++ndigit[0];++ndigit[1];.。。++ndigit[9]这会多麻烦啊,
再问: 3厄不是,我是意思是直接++ndigit[c] 1那如果我想表示数字0到6出现的个数怎么表示,又不是ndigit[6]
再答: 3,你在前面定义c时就有问题,c应该定义为char;这么跟你说,如果像你这样说,那么如果是'0',那么就是++ndigit['0'=48],c是字符型里面是ASCII在做减法,当检测到的数字是'1'时,'1'是字符型,ASCII值为49,'0'的ASCII 值为48,所以当检测到的是'1'时++ndigit[’1‘-’0‘]就是++ndigit[49-48]即为++ndigit[1],如果写成++ndigit[’1‘]即为++ndigit[49] 1,0-6那就改变条件啊,else if(c>='0'&&c
main()
{
\x09int c,i,nwhite,nother;
\x09int ndigit[10];//ndigit[10]用来存放相应的各个数字的次数,ndigit[0]存放0的次数,ndight[9]存放9的次数
\x09nwhite=nother=0;
\x09for(i=0;i<10;++i)
\x09\x09ndigit[i]=0;
\x09while((c=getchar())!=EOF)
\x09 if(c==' '||c=='\n'||c=='\t')//中间必须打空格,就像'a'一样,中间是什么就写什么,'\n' '\t' ' '
\x09\x09++nwhite'
\x09 else if(c>='0'&&c<='9')
\x09 ++ndigit[c-'0'];//这是ASCII码表示的,比如当检测到输入的数字是'0'时++ndigit[c-'0']即为++ndigit[0-0],当检测到输入的数字是'5'时++ndigit['5'-'0'=5]即为++ndigit[5]
else
\x09\x09++nother;
\x09printf("digits=");
\x09for(i=o;i<10;++i)
\x09\x09printf("%d",ndigit[i]);
\x09printf(",white space=%d,other=%d\n",nwhite,nother);//这里的逗号是输出时为了分隔各个数字用的,也可以用空格取代,像这样的问题,你可以去掉逗号输出比较就可以自己解决;
}
希望可以帮到你!
再问: 谢谢你,请问 1。ndigit[1]是指数字1出现的个数,那么dnigit[10]就是数字0到9出现的个数吗 2。我用vc试了下,发现不打空格有error(1),打了就没有,为什么他们都说不需要打空格 3。输入的数字’5‘的时候是++ndigit['5'-'0'=5]为什么不能直接++ndigit[5] 4这个没有问题看懂了是跟前面分开用的
再答: 1,对,相应脚码对应相应数字出现次数! 2,这个道理很简单,因为他们错了! 3,这是代码简写啊,你想想,如果写++ndigit[0];++ndigit[1];.。。++ndigit[9]这会多麻烦啊,
再问: 3厄不是,我是意思是直接++ndigit[c] 1那如果我想表示数字0到6出现的个数怎么表示,又不是ndigit[6]
再答: 3,你在前面定义c时就有问题,c应该定义为char;这么跟你说,如果像你这样说,那么如果是'0',那么就是++ndigit['0'=48],c是字符型里面是ASCII在做减法,当检测到的数字是'1'时,'1'是字符型,ASCII值为49,'0'的ASCII 值为48,所以当检测到的是'1'时++ndigit[’1‘-’0‘]就是++ndigit[49-48]即为++ndigit[1],如果写成++ndigit[’1‘]即为++ndigit[49] 1,0-6那就改变条件啊,else if(c>='0'&&c
C语言问题,这是一个统计各个数字,空白符,其他字符的代码,其中1.2.int ndigit[10];是什么意思3.if(
C语言:输入一行字符,分别统计出其中的大写英文字母、小写英文字母、数字和其他字符的个数
用C语言编程:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数.
C语言编程:输入一行字符,至少50个,统计其中英文字母,数字,其他字母个数
用C语言编写一段程序,输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数.
一道C语言题目.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数.#includeint main(){
用C语言编写:输入一行字符以@作结束标志,分别统计其中英文字母、空格、数字和其他字符的个数.
c语言编程:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数,用while语句~
分别用C语言指针和函数:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
用c语言编程:输入一个字符串,统计其中英文字母,数字符号及其他字符的个数
c语言 数组下标int c,i,nwhite,nother;\x05int ndigit[10];\x05\x05nwh
C语言编程4道题(1)输入一行字符,分别统计出其中的英文字母,空格、数字和其他字符的个数在得到正确结果后,请修改程序使之