C程序:输入完整的英文句子,长度不超过80个字符并且以句号结束,统计其中有多少个单词。(不要求用数组)

//我现在就不能实现长度不超过80个字符,输入错误信息.

#include<stdio.h>
void main()
{
char x;int sum=0,i;
x=(int) i;
printf("请任意输入一条英文句子:\n");
while((x=getchar())!='\n')
// for(i=1;i<=80;i++)

{
// x=getchar();
if(x=='.')
break;
if(i%80>0)
printf("输入字符超出范围,请重新输入!");
if(x>='a'&&x<='z'||x>='A'&&x<='Z')
sum++;
}
printf("统计字母个数为:sum= %d\n",sum);
}

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "ctype.h"
#include "stdlib.h"
void main(void){
char ch,f=0;
int sum=0,n=0;
printf("Enter a English sentence (less than 80 characters)...\n");
while(1){
if(isalpha(ch=getchar())) f=1;
else if(f){
f=0;
sum++;
}
if(ch=='.') break;
if(++n>=80){
printf("Error, is too long and input again...\n\n\n");
sum=n=f=0;
fflush(stdin);
}
}
printf("\nThere is(are) %d word(s).\n",sum);
}追问

亲,不是要的统计单词。是统计字母。

追答

别说话不算数哟,看看你的题目——下面这个就可以……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "ctype.h"
#include "stdlib.h"
void main(void){
char ch;
int sum=0,n=0;
printf("Enter a English sentence (less than 80 characters)...\n");
while(1){
if(isalpha(ch=getchar())) sum++;
if(ch=='.') break;
if(++n>=80){
printf("Error, is too long and input again...\n\n\n");
sum=n=0;
fflush(stdin);
}
}
printf("\nThere is(are) %d letter(s).\n",sum);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-04
#include <stdio.h>

int main() {
    char str[80] = {'\0'};
    
    gets(str);
    
    int i;
    for (i = 0; i < 80; i++)
        putchar(a[i]);
    
    return 0;
}

追问

不用数组做,这程序怎么改啊?

相似回答