C语言输入一个英文句子,将每个单词的第一个字母改成大写字母.
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 18:13:22
#include"iostream"voidmain(){chara;intflag=1;a=getchar();while(a!='.'){if(a==''){if(!flag){flag=1;co
#include"stdio.h"voidRemoveBlank(char*szWords){char*pszRead,*pszWrite;intbBlankFlg;bBlankFlg=0;pszWr
intmain(){intcountA_Z[26];intcounta_z[26];charc;inti;for(i=0;i='a'&&c='A'&&c
你前面有个getchar(),把第一个字母给吃掉了.再问:应该放哪?while里面?我是新手==再答:删掉就行。
#includevoidmain(){charx[80];//声明一个数组存放字符串inti;printf("请输入英文语句\n");gets(x);//获取字符串for(i=0;x[i]!='\0'
#include#includeintmain(){charstr[100];inti;gets(str);for(i=0;i
if(k==0&&a[i]122)这句有逻辑错误.a[i]不可能同时小于97和大雨122.后面那个&&应该是||.应该是这句引起的.
程序已在dev-c++下编译确认:/*提取用空格分隔的字符串中的单词,并改单词首字母为大写*/#include#include#includeintpartition(char*s1,char*s2,
给一个最粗糙的版本,能实现#includemain(){\x09charstr[50];\x09inti,len;\x09printf("inputasentence:\n");\x09gets(st
主要问题在for(i=0;(c=a[i])!='\0';i++);这行的分号上,这里加了分号等于在这个循环中程序不执行任何操作!当然后面花括号中的语句也不会执行.还有个小问题,按你的写法,num的初值
#includevoidmain(){charx[100];inti;printf("请输入英语句子\n");gets(x);x[0]=x[0]-32;for(i=1;x[i]!='\0';i++){
我说,如果内个字母本来就是大写字母,就不需要转换了吧?大写字母-32成什么了==加两条if语句检测是不是大写字母就好了
方法1限制单词长度:#include#include#includeintmain(){charc,*pstr;charszWord[16];while(1){pstr=szWord;while((c
#includemain(){chara[100];intb,c,d,i,j;while(gets(a))//换成gets{if(a[0]==0){printf("\n");continue;}//如
有个缺陷,如果是thisisatest,则把a也大写了,不知道这样是不是符合你的要求.(按你的题目讲是正确的)如果不符合,则稍加个判断即可.#include#includeintmain(){char
#include"stdio.h"main(){char*s;intcnt=0;printf("pleaseenterthesentence\n");gets(s);while(*s){if(*s==
因为while(*p++!=NULL)当*p=NULL时,循环结束然后p=p+1;接着运行while(*p!=NULL)*p已经不再str数组中他的值是不定的所以会乱码再问:那怎么修改我不想用第二个输
#include#includeintmain(){charwords[10][7]={"zero","one","two","three","four","five","six","serven",
其实就是先检测空格,直到没有空格的第一个字符,判断是否为小写字母,若是则转换成大写;若不是,因为输入的是英文,不必担心数字问题,那就只能是大写字母,不用转换.
#includevoidmain(){inti,n;printf("pleaseinputn:");scanf("%d",&n);printf("%d=",n);for(i=2;i