輸入一行字符,分別統計出其中英文字母、空格、數字和其他字符的個數
#include <iostream>
void Count()
{
int alpha = 0;//字母個數
int blank = 0;//空格個數
int digit = 0;//數字個數
int other = 0;//其他字符個數
char ch;//獲取鍵盤當前的輸入
while((ch=getchar())!='\n')//abc5,6\n
{
//if('a'<=ch&&ch<='z'||'A'<=ch&&ch<'Z')//判斷ch是否爲字母,bug因爲有的字符集字母不連續
if(isalpha(ch))//判斷是否爲字母
{
alpha ++;
}
else if(ch ==' ')
{
blank ++;
}
else if(isdigit(ch))//'0'<ch&&ch<='9'也可以
{
digit ++;
}
else{
other ++;
}
}
printf("%d,%d,%d,%d\n",alpha,blank,digit,other);
}
int main()
{
Count();
//printf("%d\n",10);
return 0;
}
輸入:asdf45 ,89./
得到結果:4,1,4,4
源代碼如下:
#include
int main()
{
int a = 10;
int b = 20;
int *p = &a;//定義一個整形指針(地址)變量,int *p;p = &a;
*p = 100; //a = 100;
p = &b;
*p = 200;
int **pp = &p;
*pp = &a; //p = &a;
**pp = 1000;//a = 1000;
*pp = &b; //b = &b;
**pp = 2000;//b = 2000;
return 0;
}
#if 0
void Show(int arr[],int len)//int *arr
{
for(int i=0;i<len;i++)
{
printf("%d",arr[i]);
}
printf("\n");
}
int main()
{
int arr[10];
int brr[10]={1,2,3,4,5,6,7,8,9,10};
int crr[10]={1,2,3,4,5};
int drr[]={1,2,3,4,5};
arr[3]=100;
Show(brr,sizeof(brr)/sizeof(brr[0]));
Show(crr,sizeof(crr)/sizeof(crr[0]));
Show(drr,sizeof(drr)/sizeof(drr[0]));
/*
for(int i=0;i<sizeof(brr)/sizeof(brr[0]);i++)
{
printf("%d",brr[i]);
}
*/
return 0;
}
#endif