从键盘上输入一字符串(只包括数字字符),统计并显示其中偶数数字字符出现的次数。

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:31:16
#include <stdio.h>
void f(char *p)
{int n=0;
char c;
while(*p)
{c=*p;
if((c-48)%2==0) n++;
p++;
}
printf("%d\n",n);
}
void main()
{char c[100],*p=c;
gets(p); f(p);
}
#include <stdio.h>
void f(char *p)
{int n=0;
char c;
while(*p)
{c=*p;
if((c-48)%2==0) n++;
p++;
}
printf("%d\n",n);
}
void main()
{char c[100],*p=c;
gets(p); f(p);
}
能不能详细解释一下这个程序的细节~~!

#include <stdio.h>
void f(char *p)
{int n=0;
char c;
while(*p) /*当*p不为终止符'\0'时循环*/
{c=*p; /*将指针P所指字符赋给C*/
if((c-48)%2==0) n++; /*判断字符是否为偶数,如果是则n加1否则执行下一条语句,c-48是将字符数字转换为整型数字*/
p++; /*使P指向下一个地址,再次循环*/
}
printf("%d\n",n);
}
void main() /*程序从这里开始执行*/
{char c[100],*p=c; /*定义了一个一维数组c,长度为100,还定义了一个字符指针,指向数组的首地址*/
gets(p); /*接收输入的字符串*/
f(p); /*调用函数*/
}

用switch语句比较容易

有点问题啊

从键盘上输入一字符串(只包括数字字符),统计并显示其中偶数数字字符出现的次数。 从键盘上输入十个数并实现累加 C语言:编写程序从键盘上输入一个字符串和一个字符,实现从字符串中删除该字符。 从键盘上输入一个字符串,将该字符串重新按ASCII码从大到小顺序输出。 编写一段汇编程序,要求能从键盘任意输入一段文本字符串,然后分别统计字符(包括大小写) C++编程 从键盘上输入多行字符串,用Ctrl+Z结束输入,将所有输入的字符串存入d:\myfile.txt文件中 从键盘上输入三个数,求三个数的绝对值之和? 寻求键盘上可以输入的所有字符串 为什么输入左边大键盘上数字键出现陌生字符串 vfp 统计从键盘上输入的字符串中各个英文字母(不区分大小写)出现的个数