看见我聊天请叫我滚去学习 2021-06-17 17:56 采纳率: 75%
浏览 246
已采纳

输入一行字符,分别统计出其中英文字母空格等个数

#include<stdio.h>

int input()

{

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

char m=getchar();

return m;

}

void fun(char c)

{   int space=0,letter=0,digit=0,other=0;

while(c!='\n')

{

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

letter++;

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

digit++;

else if(c==' ')

space++;

else

other++;

}

printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字符数:%d\n",letter,digit,space,other);

}

void main()

{

char d;

d=input();

fun(d);

}

请帮忙大佬们帮忙看一下这样一个函数如何调用两个功能函数,期末考要求调用两个功能函数,但是前一个输入函数不知道怎么使用

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-17 18:01
    关注

    有不少错误,代码修改如下:

    #include<stdio.h>
    #include <string.h>
    //输入字符串
    int input(char buf[])
    {
    	printf("请输入一行字符:\n");
    	gets(buf);
    	return strlen(buf);
    }
    
    void fun(char c[],int len)
    {
    	int space=0,letter=0,digit=0,other=0;
    	int i = 0;
    	while(i<len)
    	{
    		if(c[i]>='a'&&c[i]<='z'||c[i]>='A'&&c[i]<='Z')
    			letter++;
    		else if(c[i]>='0'&&c[i]<='9')
    			digit++;
    		else if(c[i]==' ')
    			space++;
    		else
    			other++;
    		i++;
    	}
    	printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字符数:%d\n",letter,digit,space,other);
    }
    
    void main()
    {
    	char d[100]={0};
    	int len;
    	len=input(d);
    	fun(d,len);
    
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵