我是一个C语言初学者,还不会做,请那位大哥教我一下
我个人认为是不是要用到switch 如果用到了 那么case:后面是不是字符数字可以??谢谢了
1 è¾å ¥é¨åã
ç¨getchar循ç¯è¯»å ¥å符ï¼å½è¯»å ¥å¼ä¸ºæ¢è¡'\n'æ¶éåºå¾ªç¯ã
2 ç»è®¡é¨åã
对æ¯ä¸ªè¾å ¥çå符è¿è¡å¤æï¼å¦æ为æ°åå符ï¼åç´¯å ã
3 è¾åºé¨åã
éåºè¾å ¥å¾ªç¯åï¼è¾åºç»æå¼ã
代ç ï¼
int main(){
int cnt = 0,c;
while((c = getchar())!='\n')
if(c>='0' &&c <='9')
cnt++;
printf("æ°åå符个æ°=%d\n",cnt);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2008-12-30
这个嘛,你不妨这样子做看看:
#include <stdio.h>
int main (void)
{
int count = 0;
char ch;
while ((ch = getchar()) != '\n')
{
if (ch >= '0' && ch <= '9') /* 如果这个字符为0~9 */
{
++count;
}
}
printf ("%d",count);
return 0;
}
其实你的思路也没错,下面就可以实现:
#include <stdio.h>
int main (void)
{
char ch;
int count = 0;
while ((ch = getchar()) != '\n')
{
switch (ch)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
++count;
break;
default :
break;
}
}
printf ("%d",count);
return 0;
}
那要看你选那样喽~~呵呵 ~~时间仓促没有测试,抱歉!!!
#include <stdio.h>
int main (void)
{
int count = 0;
char ch;
while ((ch = getchar()) != '\n')
{
if (ch >= '0' && ch <= '9') /* 如果这个字符为0~9 */
{
++count;
}
}
printf ("%d",count);
return 0;
}
其实你的思路也没错,下面就可以实现:
#include <stdio.h>
int main (void)
{
char ch;
int count = 0;
while ((ch = getchar()) != '\n')
{
switch (ch)
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
++count;
break;
default :
break;
}
}
printf ("%d",count);
return 0;
}
那要看你选那样喽~~呵呵 ~~时间仓促没有测试,抱歉!!!
第2个回答 推荐于2018-02-23
#include<conio.h>
#include<stdio.h>
main()
{
char chr;
int count=0;
chr=getch();
printf("%c",chr);
while(chr!='\r')
{
if((chr>='0')&&(chr<='9')) count++;
chr=getch();
printf("%c",chr);
}
printf("\nthe result is: %d",count);
getch();
}本回答被提问者和网友采纳
#include<stdio.h>
main()
{
char chr;
int count=0;
chr=getch();
printf("%c",chr);
while(chr!='\r')
{
if((chr>='0')&&(chr<='9')) count++;
chr=getch();
printf("%c",chr);
}
printf("\nthe result is: %d",count);
getch();
}本回答被提问者和网友采纳
第3个回答 2008-12-30
用if+for循环就可以了,用不着switch。
第4个回答 2008-12-30
#include <stdio.h>
ttp://freebooks.by.ru/view/CProgrammingLanguage/chapter1.html (17 of 30) [9/6/2002 12:21:11 ]
hapter 1 - A Tutorial Introduction
/* count digits, white space, others */
main()
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n",
nwhite, nother);
}
ttp://freebooks.by.ru/view/CProgrammingLanguage/chapter1.html (17 of 30) [9/6/2002 12:21:11 ]
hapter 1 - A Tutorial Introduction
/* count digits, white space, others */
main()
{
int c, i, nwhite, nother;
int ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; ++i)
ndigit[i] = 0;
while ((c = getchar()) != EOF)
if (c >= '0' && c <= '9')
++ndigit[c-'0'];
else if (c == ' ' || c == '\n' || c == '\t')
++nwhite;
else
++nother;
printf("digits =");
for (i = 0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n",
nwhite, nother);
}