//2、有一篇文章,共有3行文字,每行有80個字符。
//要求分別統計出其中英文大寫字母、小寫字母、
//數字及其他字符的個數。
#include<stdio.h>
int main()
{
char text[3][80];
int i,j,da=0,xi=0,sh=0,oth=0;
//大寫字母:da 小寫字母:xi
//數字: sh 其他字符:oth
printf("輸入三行:");
for(i=0;i<3;i++)
{
for(j=0,j<80;j++)
scanf("%d%d",&&text[i][j]);//輸入3行80字的文章
{
if(text[i][j]>='A'&&text[i][j]<='Z')//判斷
da++;
else if(text[i][j]>='a'&&text[i][j]<='z')
xi++;
else if(text[i][j]>='0'&&text[i][j]<='9')
sh++;
else
oth++;
}
}
printf("大寫字母:%d\n",da);//輸出結果
printf("小寫字母:%d\n",xi);
printf("數字:%d\n",sh);
printf("符號:%d\n",oth);
return 0;
}
uj5u.com熱心網友回復:
#include<stdio.h>
#include <ctype.h>
int main()
{
#if 1
int upper_cnt, lower_cnt, digit_cnt, other_cnt;
int i, j;
char text[3][128];
upper_cnt = lower_cnt = digit_cnt = other_cnt = 0;
for (i = 0; i < 3; i++) {
scanf("%s", text[i]);
j = 0;
while (text[i][j]) {
if (isdigit(text[i][j]))
digit_cnt++;
else if (isupper(text[i][j]))
upper_cnt++;
else if (islower(text[i][j]))
lower_cnt++;
else
other_cnt++;
j++;
}
}
printf("大寫字母:%d\n", upper_cnt);//輸出結果
printf("小寫字母:%d\n", lower_cnt);
printf("數字:%d\n", digit_cnt);
printf("符號:%d\n",other_cnt);
#else
char text[3][80];
int i,j,da=0,xi=0,sh=0,oth=0;
//大寫字母:da 小寫字母:xi
//數字: sh 其他字符:oth
printf("輸入三行:");
for(i=0;i<3;i++)
{
for(j=0,j<80;j++)
scanf("%d%d",&&text[i][j]);//輸入3行80字的文章
{
if(text[i][j]>='A'&&text[i][j]<='Z')//判斷
da++;
else if(text[i][j]>='a'&&text[i][j]<='z')
xi++;
else if(text[i][j]>='0'&&text[i][j]<='9')
sh++;
else
oth++;
}
}
printf("大寫字母:%d\n",da);//輸出結果
printf("小寫字母:%d\n",xi);
printf("數字:%d\n",sh);
printf("符號:%d\n",oth);
#endif
return 0;
}
供參考~
樓主用scanf %d是要輸入字符?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/110101.html
標籤:C語言
下一篇:多載輸入運算子
