点赞(0)
 

0.0分

60 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 30 条评论

111 6月前 回复TA
@rose 你把if里面的逻辑或的右边的括号重复了,去掉一个(就行了
rose 9月前 回复TA
#include<stdio.h>
int main()
{
    char c;
    int word=0,digits=0,other=0,space=0;
    c=getchar();
    while(c!='\n')
    {
         if((c>='a'&& c<='z')||((c>='A'&& c<='Z'))
         {
            word++;
        }
         else if(c>='0'&&c<='9')
        {
            digits++;
        }
        else if (c==' ')
        {
             space++;
        }
        else
        {
              other++;
        }
        c=getchar();
    }
    printf("%d,%d,%d,%d",word,digits,space,other);
    return 0;
}
有什么问题吗求大佬告知不知道为什么出错了
Jayden 11月前 回复TA
@刘陈晨 你把printf语句放在for循环里面了哈哈哈哈
零栀 1年前 回复TA
@菜鸡 if那里应该是>=或者<=
悠游 1年前 回复TA
@刘陈晨 @dotcpp0635396 厉害厉害,我看楞了一会,原来是把打印放循环里了,哈哈
菜鸡 1年前 回复TA
#include<stdio.h>
#include<string.h>
#include<process.h>
int main()
{
	char str[100];
	int a=0,c=0,d=0,e=0;
	printf("请输入一行字符:");
	fgets(str,100,stdin);
	 for(int i=0;str[i]!='\0';i++){	
	 	if((str[i]>'A'&&str[i]<'Z')||(str[i]>'a'&&str[i]<'z')){
	 		a++;}
		 else if(str[i]>='0'&&str[i]<='9'){
		 	c++;
		 }
		 else if(str[i]==' '){
		 	d++;
		 } 
		 else{
		 	e++;
		 } 
		}
	 printf("英文字母有%d个,数字有%d个,空格有%d个,其他字符有%d个",a,c,d,e);
	 return 0;
}
请问我这个按照样例输出时,为什么那个英文字符只有19个,而其他字符有9个啊
留住了塔没留住她 1年前 回复TA
#include<iostream>
using namespace std;
string n;
int a,b,c,d;
int main()
{
    getline(cin,n);
    for(int i=0;i<n.size();i++)
    {
        if((n[i]>64 && n[i]<122) || n[i]==64 || n[i]==122)a++;
        else if((n[i]>48 && n[i]<58) || n[i]==48 || n[i]==58)b++;
        else if(n[i]==32)c++;
        else d++;
    }
    cout<<a<<" "<<b<<" "<<c<<" "<<d;
    return 0;
}
这个办法只有50分,麻烦各位帮我看看谢谢
1年前 回复TA
@刘陈晨 这个不对吧,有汉字输入的情况下会统计到其他里边吧
一狙狙中你的心 1年前 回复TA
@刘陈晨 @dotcpp0644921 你的空格和其他这两项的输出是不是搞反了
刘陈晨 1年前 回复TA
@刘陈晨 @dotcpp0635396 嗷嗷 这样 谢谢