单词计数-为啥c语言程序运行数据输入后回车无效

问题描述

为啥c语言程序运行数据输入后回车无效

#include
int main()
{
int ch,i,count=0,flag=0;
char bb[1000];
printf("please input some words:");
gets(bb);
ch=bb[i];
for(i=0;ch!='';i++)
{
if(ch==' ')
flag=0;
else if(flag==0)
{
count++;
flag=1;
}
}
printf("单词个数为%d",count);
}

解决方案

老铁,我没看错的话,你写的ch是int型的吧!

解决方案二:

 #include
int main()
{
int i,count=0,flag=0;
char ch;
char bb[1000];
printf("please input some words:");
gets(bb);
ch=bb[i];
for(i=0;ch!='';i++)
{
if(ch==' ')
{
count++;
}
}
printf("单词个数为%d",count);
}

解决方案三:

循环跟输入的数据无关

解决方案四:

循环跟输入的数据无关

解决方案五:

循环跟输入的数据无关

解决方案六:

循环跟输入的数据无关

解决方案七:

循环跟输入的数据无关

解决方案八:

把else去掉就行拉

解决方案九:

第一,把ch类型改了
第二,你所谓的无效调试一下就会发现是死循环,为什么,因为你的ch是固定不变的,你程序根本没有循环录入 如果ch开始不是''会一直循环下去
第三,再仔细考虑一下连续空格的情况,否则不能正确返回单词个数
第四,程序排版要整齐

解决方案十:

而且你的ch=bb[i]应该放到for循环内

时间: 2024-10-27 07:37:48

单词计数-为啥c语言程序运行数据输入后回车无效的相关文章

java-各位大神,为啥我这个程序运行之后会乱码?怎么样才能不乱码?

问题描述 各位大神,为啥我这个程序运行之后会乱码?怎么样才能不乱码? 代码运行之后成这样了 下面是代码package demo12.datademo; import java.io.DataOutputStream ;import java.io.File ;import java.io.FileOutputStream ;public class DataOutputStreamDemo{ public static void main(String args[]) throws Except

c语言问题-C语言程序运行时出现的问题

问题描述 C语言程序运行时出现的问题 /* Note:Your choice is C IDE */#include ""stdio.h""int main(){int fac(int n);int n;int y;printf(""input an integer number:n"");scanf(""%d&n"");y=fac(n);printf(""%

c语言-C语言程序运行结果是?

问题描述 C语言程序运行结果是? main() { int i; char f="%12.8s ",*s="*******"; for(i=1;i<9;i++) { *(f+2)=2+i-1+'0'; *(f+4)=8-i+1+'0'; printf(f,s); } } ========求教该C语言程序运行结果是?及每句详细解释??另外 char *f="%12.8s "和printf(f,s);是什么意思? 解决方案 #include&l

c语言-C语言程序运行结果为何是a=2??求大侠解释详细步骤

问题描述 C语言程序运行结果为何是a=2??求大侠解释详细步骤 #include main () { int a=1,b=3,c=0,d=7,e=9,f=2,g=4,h=6,i=8,j=0,k=10; a+=++b*c+--e/f-i%d?c--&++i?++b||--d:!j==1:k+++a; printf("a=%d",a); } /* 1.程序运行结果为: a=2 */ 解决方案 程序结果不确定.也就是说不同的编译器结果不同. 解决方案二: 参考:http://www.

c语言问题-C语言程序运行时出现问题

问题描述 C语言程序运行时出现问题 /* Note:Your choice is C IDE */ #include "stdio.h" void main() { char s1[80],s2[80]; int i,flag=1,resu; printf("Please input s1 and s2:n"); gets(s1); gets(s2); for(i=0;;i++) { if(s1[i]>s2[i]) { printf("%d"

ui-android,程序运行到手机上后,UI整体变大了很多

问题描述 android,程序运行到手机上后,UI整体变大了很多 这个是运行后的效果 这个是正常效果 布局代码没有问题,资源什么的也没有放错位置,觉得应该是密度变化了,但是具体为什么造成这个原因不清楚,density打印出来是1.0. 下面贴一张布局代码 解决方案 使用的是真机调试,之前布局并没有出现这个问题(控件.文字等都变大了),也没改过什么代码,但是莫名就这样了,哪位大神给解答一下或者提供提供思路啊 解决方案二: 你没有设置字体大小,二期还要注意适配 解决方案三: 你是用的是dp,与像素无

使用VC6.0对C语言程序进行调试的基本手段分享

这篇文章主要介绍了用VC6.0开发c语言程序的时候调试代码的一些小技巧,需要的朋友可以参考下   (1)设置固定断点或临时断点 所谓断点,是指定程序中的某一行,让程序运行至该行后暂停运行,使得程序员可以观察分析程序的运行过程中的情况.这些情况一般包括: ①在变量窗口(Varibles)中观察程序中变量的当前值.程序员观察这些值的目的是与预期值对比,若与预期值不一致,则此断点前运行的程序肯定在某个地方有问题,以此可缩小故障范围.例如以下程序是计算cos(x)并显示,运行时发现无论x输入为多少,结果

编写了个 c语言程序有点问题,麻烦大神来看看~

问题描述 编写了个 c语言程序有点问题,麻烦大神来看看~ 2C #include""stdio.h""#include""string.h""int MAX;char str[31]temp[31];int opqr;void main(){char m_name[MAX]sm_name[MAX];char m_mima[MAX]sm_mima[MAX];char *name=m_name*s_name=sm_name;cha

使用VC6.0对C语言程序进行调试的基本手段分享_C 语言

(1)设置固定断点或临时断点 所谓断点,是指定程序中的某一行,让程序运行至该行后暂停运行,使得程序员可以观察分析程序的运行过程中的情况.这些情况一般包括: ①在变量窗口(Varibles)中观察程序中变量的当前值.程序员观察这些值的目的是与预期值对比,若与预期值不一致,则此断点前运行的程序肯定在某个地方有问题,以此可缩小故障范围.例如以下程序是计算cos(x)并显示,运行时发现无论x输入为多少,结果都是0.046414. 复制代码 代码如下: #include <stdio.h>#includ