C语言 如何打印一组值在像一个数组?我不想打印所有的值,我只想打印no.的字母



我想打印文本中字母的个数。比如字母:6,字母:5,如果有6个字母,则打印123456,如果有5个字母,则打印12345。我想打印字母的数目,如letter:6或letter:5

这是我的代码

#include <stdio.h>
#include <ctype.h>
#include <cs50.h>
#include <string.h>
int main(void){ int letter=0; int words=0; int sentences=0;
string para =get_string("Text:");
for(int i=0;i<strlen(para);i++){
if((para[i]>='a' || para[i]<='z') && (para[i]>='A' || para[i]<='Z') && (para[i]!=' ')) {
letter++;
printf("%i",letter);
}
}
//printf("%s",para);
}

下面是输出

文本:文本~/123456

你有你的print语句在你的for循环,只是把它移到外面,然后添加任何你想要的打印语句。您还可以使用isalpha()来检查一个字符是否是字母。Google "C isalpha()教程"查看详细信息。

所以从这里:

for(int i=0;i<strlen(para);i++){
if((para[i]>='a' || para[i]<='z') && (para[i]>='A' || para[i]<='Z') && (para[i]!=' ')) 
letter++;
printf("%i",letter);
}

for(int i=0;i<strlen(para);i++){
if((para[i]>='a' || para[i]<='z') && (para[i]>='A' || para[i]<='Z') && (para[i]!=' ')) 
letter++;
}
printf("Letters: %i",letter);

最新更新