① 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;
}