#include "stdlib.h"
void main()
{
FILE *fp
char ch
int charCounts=0,numCounts=0,numSum=0
if((fp=fopen("test.txt","r"告袭悄))==0)//注意,由于不知禅衡道想打开的文件的位置和名称,随意写的一个文件名,自己要按文件的路径和名称做修改
{
printf("文件读取失败!\n")
exit(0)
}
while((ch=fgetc(fp))!=EOF)
{
if(ch>='0'&&ch<='9')
numCounts++
else
charCounts++
}
numSum=numCounts+charCounts
printf("该文件中数字字符共有%d个,除袜渣数字这外的其它字符共有%d个,总计字符数%d。\n",numCounts,charCounts,numSum)
fclose(fp)
}
EOF的ascall码值为-1
你输入的字符的ascall码都在0到255之间,不可能出现-1
因此用EOF来作为文件结束标志耐稿备~EOF的全称也是End Of File
getchar()是一个函数,是输入字符的函数,顾名思义,呵呵
getchar()则你输入的都是字符,"w""q""1""+"“-"","这些都是字符就连空格也是字符哦~
而++nc就昌毁是在使用nc之前先使他的值+1,那么就得到了输入一个字符,nc就+1的目的
程序功能就是计算你输入的字符个数
例如输入:I love C programme
就会输出:敬慧18
程序可按照以下流程执行:
1、输入字符串
2、对于字符串中的每一个字符,判断其为何种陆纯类型,并将相应的累加计数器加1。对于大小写字母和数字,可通过一个范围(大于等于某值和小于等于某值)来判断
代码如下:
#include <string.h>#include <stdio.h>
int main()
{
char str[1000]
int lowAlpha, upAlpha, num, other
int i
lowAlpha 巧悉此= upAlpha = num = other = 0
for (i = 0 i < strlen(str) i++)
if (str[i] >= 'a' && str[i] <= 'z')
lowAlpha++
else if (str[i] >= 'A' && str[i] 孝迅<= 'Z')
upAlpha++
else if (str[i] >= '0' && str[i] <= '9')
num++
else
other++
printf("Upper:%d, Lower:%d, Number:%d, Other:%d\n", upAlpha, lowAlpha, num, other)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)