小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C語言編程 有一篇文章,共有3行文字,每行80個字符。要求分別統(tǒng)計出其中英文字母,數(shù)字,空...

 昵稱7241419 2011-06-29
2種做法,1種用單字符來讀取輸入,1種用字符串來讀取輸入。
1.
#include <stdio.h>

int main()
{
int i, upper, lower, digit, space, other;
char c;
upper = lower = digit = space = other = 0;
for(i = 0; i < 3; i++)
while((c = getchar()) != '\n')
if('A' <= c && c <= 'Z')
upper++;
else if('a' <= c && c <= 'z')
lower++;
else if('0' <= c && c <= '9')
digit++;
else if(c == ' ')
space++;
else
other++;
printf("upper:%d\nlower:%d\ndigit:%d\nspace:%d\nother:%d\n", upper, lower, digit, space, other);
return 0;
}

2.
#include <stdio.h>

int main()
{
int i, j, upper, lower, digit, space, other;
char str[3][81];
upper = lower = digit = space = other = 0;
for(i = 0; i < 3; i++)
{
gets(str[i]);
for(j = 0; str[i][j]; j++)
if('A' <= str[i][j] && str[i][j] <= 'Z')
upper++;
else if('a' <= str[i][j] && str[i][j] <= 'z')
lower++;
else if('0' <= str[i][j] && str[i][j] <= '9')
digit++;
else if(str[i][j] == ' ')
space++;
else
other++;
}
printf("upper:%d\nlower:%d\ndigit:%d\nspace:%d\nother:%d\n", upper, lower, digit, space, other);
return 0;
}
提問人的追問   2009-05-02 11:48
“for(j = 0; str[i][j]; j++)”這一句沒有限制條件吧!是不是應該寫成“for(j=0;str[i][j]!='\0';j++)”?
回答人的補充   2009-05-02 12:04
str[i][j]跟str[i][j]!='\0'是一樣的。C語言以非0為真,0為假,字符串以'\0'為結束標志,'\0'實際上就是數(shù)字0。str[i][j]這種形式在C語言中是很普遍的。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多