回覆列表
-
1 # gmkdp3897
-
2 # 使用者8171356101758
#include
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("請輸入一行字元:");
while ((c=getchar())!="\n")
{
if (c >= "a"&&c = "A"&&c
{
letters++;
}
else if (c == " ")
{
space++;
}
else if (c >= "0"&&c
{
digit++;
}
else
{
other++;
}
}
printf("字母數:%d\n空格數:%d\n數字數:%d\n其他字元:%d\n",letters,space,digit,other);
return 0;
}
執行效果:
擴充套件資料
printf函式使用注意事項
1、域寬
%d:按整型資料的實際長度輸出。
如果想輸出指定寬度可以指定域寬,%md-->m域寬,打印出來以後,在控制檯上,顯示m位;
如果我們要列印的數的位數如果超過我們設定m則原樣輸出;
如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:
如果m為正數,則左對齊(左側補空白);
如果m為負數,則右對齊(右側補空白)。
2、跳脫字元
如果想輸出字元"%",則應該在“格式控制”字串中用連續兩個%表示。
如:printf("%f%%",1.0/3);輸出結果:0.333333%。
#include<stdio.h>intmain(){charc;intletters=0,space=0,digit=0,other=0;printf("請輸入一行字元:");while((c=getchar())!="\n"){if(c>="a"&&c<="z"||c>="A"&&c<="Z"){letters++;}elseif(c==""){space++;}elseif(c>="0"&&c<="9"){digit++;}else{other++;}}printf("字母數:%d\n空格數:%d\n數字數:%d\n其他字元:%d\n",letters,space,digit,other);return0;}執行效果:擴充套件資料printf函式使用注意事項1、域寬%d:按整型資料的實際長度輸出。如果想輸出指定寬度可以指定域寬,%md-->m域寬,打印出來以後,在控制檯上,顯示m位;如果我們要列印的數的位數如果超過我們設定m則原樣輸出;如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:如果m為正數,則左對齊(左側補空白);如果m為負數,則右對齊(右側補空白)。2、跳脫字元如果想輸出字元"%",則應該在“格式控制”字串中用連續兩個%表示。如:printf("%f%%",1.0/3);輸出結果:0.333333%。