下面这道编程题怎么做?

编程题:
输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。(分别使用while语句和do while语句实现)

代码:

    #include <stdio.h>

    void main()

    {

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

    char c;

    while((c=getchar())!='\n')

    {

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

    letter++;

    else if(c==' ')

    space++;

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

    digit++;

    else

    other++;

    }

    printf("英文字母:%d\n",letter);

    printf("空格:%d\n",space);

    printf("数字:%d\n",digit);

    printf("其它字符:%d\n",other);

    }

简介:

编程,是让计算机为解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。

随计算机语言的种类非常多,可分成机器语言,汇编语言,高级语言三大类。计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。程序设计语言编写的源程序转换到机器目标程序有:解释方式和编译方式两种。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-29

1.while

#include<stdio.h>
int main(void)
{
char ch;
int char_num=0,kongge_num=0,int_num=0,other_num=0;
while((ch=getchar())!='\n'){
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a'){
char_num++;
}else if(ch==' '){
kongge_num++;
} else if(ch>='0'&&ch<='9') {
int_num++;
} else{
other_num++;
}
}        

printf("字母= %d,空格= %d,数字= %d,其他= %d\n",char_num,kongge_num,int_num,other_num);   

return 0;

}

2 .do while:

#include<stdio.h>
int main(void)
{
char ch;
int char_num=0,kongge_num=0,int_num=0,other_num=0;
do{
if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a'){
char_num++;
}else if(ch==' '){
kongge_num++;
}else if(ch>='0'&&ch<='9'){
int_num++;
}else{
other_num++;
}
} while((ch=getchar())!='\n')
printf("字母= %d,空格= %d,数字= %d,其它= %d\n",char_num,kongge_num,int_num,other_num);
return 0;
}

请问下面一道编程题怎么做:编写一个c程序,输入abc三个值,输出其中最大...
int main(){ int a,b,c;scanf("%d %d %d",&a,&b,&c);if (a>b && a>c)printf("%d\\n",a);if (b>a && b>c)printf("%d\\n",b);if (c>a && c>b)printf("%d\\n",c);return 1;}

请问下面一道编程题怎么做:编写一个c程序,输入abc三个值,输出其中最大...
int main(){ int a,b,c;scanf("%d %d %d",&a,&b,&c);if (a>b && a>c) printf("%d\\n",a);if (b>a && b>c) printf("%d\\n",b);if (c>a && c>b) printf("%d\\n",c);return 1;}

请问这到编程题怎么做?
即左上角元素为f[0][0]、右下角元素为f[i-1][j-1]的矩形元素和 根据容斥原理,有f[i-1][j-1] = pre[i][j] - pre[i-1][j]- pre[i][j-1] + pre[i-1][j-1]由此可根据如下递推关系,先得到整个二维前缀和数组pre:pre[i][j] = pre[i-1][j] + pre[i][j-1] -...

求解答这下面的编程题,求详解
第二个考的就是排序,建议用冒泡法,简单明了,核心算法:if (a[i]>b[i]){ c[i]=a[i];a[i]=b[i];b[i]=c[i];} 第三个是函数调用,编一个函数

请问大家这道C++编程题怎么做?求帮忙
先将输入的数保存到数组,然后遍历数字,判断相邻数字是否相同即可 使用一个变量记录当前是否处于数字连续的状态,用于输出中括号 一个小技巧是给数组多分配一个位置并将其置为-1,方便判断数组最后一个数 C++代码和运行结果如下:输出符合样例,望采纳~附源码链接:判断连续数字 ...

C语言编程:下面要求的题目怎么编程?
int main(int argc,char *argv[]){ int y;for(y=0;11.2*pow(1.065,y)<=17.8*pow(1.02,y);y++);printf("Need for %d year(s).\\n",y);printf("A: %.1f trillion dollars\\n",11.2*pow(1.065,y));printf("B: %.1f trillion dollars\\n",17.8*pow(1.02,y));return...

这个编程题怎么做 谢谢解答
public class T {public static void main(String[] args) {int A = 13;int B = 312;int C = 343;\/\/求出所有组合结果,根据排列组合,结果应有以下6种:\/\/ABC、ACB、BAC、BCA、CAB、CBA\/\/怕你用的不是java,这里采用通用一些的方法来获得结果集int[] results = new int[6];results[0]...

请问一下这道C语言编程题怎么做?
按照题目要求编写的用凯撒密码加密的C语言程序如下 include<stdio.h> int main(){ char s[80];int offset,i;fgets(s,80,stdin);scanf("%d",&offset);for(i=0;s[i]!='\\0';i++){ if('A'<=s[i] && s[i]<='Z')if(offset>=0)s[i]='A'+(s[i]-'A'+offset)%26;else s...

这道编程题怎么做?
你的逻辑判断条件当然错了:如果输入的整数 x 是大于 100 的正整数,那么绝对就不是负数,不满足:if((x>100)&&(x<0)),所以当然总是输出 true 了。你修改成:if((x>100) || (x<0)) 试试看。

c语言的这个编程题目怎么做呀 求详细解答
判断--x==y++时,取x=5和y=5相比,然后y变成6,比较的结果为真,于是执行--x,x先变成4,赋值给a 所以a的值是4,然后b=x++,b的值是4,然后x变成5 最后c=y; c的值变为6 所以是选择答案B

相似回答