① C语言用for循环输入字符(#结束输入)并立刻输出,如何统计出一共输入的字符数
按照你程序的意思:
输入字符,对小写字母ASCII码处理后打印,其它字符不处理直接打印。输入#号结束输入。
统计输入字符的个数(不包括回车和#)。
思路:内嵌循环输入无视回车。
下面是改写内容:
#include <stdio.h>
int main()
{
char chChar=0;
int i=0;
for (i=0;chChar!='#';i++)
{
while((chChar=getchar())=='\n');
if(chChar=='#') break;
if (chChar>='a'&&chChar<='x')
chChar=chChar+2;
else if(chChar>='y'&&chChar<='z')
chChar=chChar-24;
putchar(chChar),putchar('\n');
}
printf("字符个数为%d\n",i);
return 0;
}
② 如何用C语言统计中文的字符数
C中的汉字用“机内码”,一个汉字两字节,最高位都是1,所以可以用下列代码求得一个字符串里汉字的个数:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
char a[]="12我34们56都7是来自五a湖c四de海bfg";
int i,sum;
for(sum=i=0;a[i];i++)
if(a[i]<0) sum++;//最高位为1(负数)的是一个汉字的一半
printf("There are %d Chinese characters in this string.\n",sum/2);//输出汉字总数
return 0;
}