编程序:从键盘输入不超过50个字符,统计其中英文字母。空格字符,数字字符以及其他

编程序:从键盘输入不超过50个字符,统计其中英文字母。空格字符,数字字符以及其他,第1张

#include <stdio.h>

void main()

{

char c,str[51]

int i=0,letters=0,space=0,digit=0,others=0

printf("请输入不超过50个字符\n")

gets(str)

while((c=str[i++])!=0)

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++

else if(c==' ')

space++

else if(c>='0'&&c<='9')

digit++

else

others++

}

printf("英文字符:%d 空格:%d 数字:%d 其他:%d\n",letters,space,digit,others)

}

字符包括

字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。字符在计算机内存放,应规定相应的代表字符的二进制代码。代码的选用要与有关外围设备的规格取得一致。

这些外围设备包括键盘控制台的输入输出、打印机的输出等等。字符作输入时,要自动转换为二进制代码存于机内输出时,计算机内二进制代码自动转化为字符,两者的转换全是靠外围设备实现的。字符是数据结构中最小的数据存取单位。

以上内容参考:百度百科-字符

原程序不能得到结果的原因是因为没有在条件不成立时反回0值,

所以在主程序中进行判断时由于没有元素为0导致全部输出,另外数组下标是从0开始的,并不是从1开始的,所以在循环中数组下标为i-1

修改后的程序如下:

/////////////////////////////////

#include "stdio.h"

int a[100]

int i

fun(int m)

{

if (m%7==0 || m%11==0)

{

if (m%7!=0 || m%11!=0)

return m

else return 0

}

else return 0

}

main()

{

for(i=1i<=100i++)

{

a[i-1]=fun(i)

if(a[i-1]!=0)

printf("%d ",a[i-1])

}

getch()

}

/////////////////////////////////

另一个版本:

/////////////////////////////////

#include "stdio.h"

int fun(int m)

{

if ((m%7==0 || m%11==0) &&m%77!=0)

return m

else return 0

}

main()

{

int a[100]

int i

for(i=1i<=100i++)

{

a[i-1]=fun(i)

if(a[i-1]!=0) printf("%d \n",a[i-1])

}

getch()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12007702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存