2 cpp python cpp_python 于 2016.09.12 15:46 提问

这个程序是想将s的第一个词改成大写。请问这里面的index为什么是没定义的?该怎样修改这个程序

#include
#include
#include

using namespace std;

int main()
{
string s("some string");
for (decltype(s.size()) index = 0; index != s.size() && !isspace(s[index]); ++index);
{
s[index] = toupper(s[index]);
}
cout << s << endl;
system("pause");
return 0;
}

4个回答

bdmh
bdmh   Ds   Rxr 2016.09.12 15:54

你在main方法里定义一个index变量

cpp_python
cpp_python 我也知道要定义下,但不知道怎么弄才好,因为通过编译后结果也不对啊。
接近 2 年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.12 15:58

这是动态语言写多了,刚跳过来的吧,s是不能修改的
先转成字符型数组,直接判断第一个字符是否为字母,是字母的话ascll码减26,,再将字符数组转为字符串.

qq_27587417
qq_27587417   2016.09.12 17:26

试试这个代码

 #include <iostream>
#include <string>
#include <algorithm> 
using namespace std;
int main()
{
    string s("some string");
    transform(s.begin(),s.end(),s.begin(),toupper);
    cout << s << endl;
    system("pause");
    return 0;
}

cpp_python
cpp_python 结果还是不对啊,两个单词都被大写了。
接近 2 年之前 回复
qq_27587417
qq_27587417   2016.09.17 20:27

那再试试这个吧

 int main()
{
    string s("some string");
    int point=s.find_first_of(" ");//寻找第一个空格键的位置
    transform(s.begin(),s.begin()+point,s.begin(),toupper);
    cout << s << endl;

    system("pause");
    return 0;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
寻找字符串s中第一个最长的重复子串及其位置
寻找s中第一个最长的重复子串及其位置 #include "stdafx.h" void maxoverlapstr(char *s,int *pos,int *max) { int i,j,len,k; for (i=0;iwhile(jif (s[i]==s[j]) { len=2; k=1; while(j+kif (len>*max) { *max=len; *pos=i; } j+=len
汇编语言:实验8分析一个奇怪的程序
实验介绍实验8 分析一个奇怪的程序分析下面的程序,在运行前思考:这个程序可以正确返回吗?运行后再思考:为什么是这种结果?实验代码;实验8 分析一个奇怪的程序 ;分析下面的程序,在运行前思考:这个程序可以正确返回吗? ;运行后再思考:为什么是这种结果? assume cs:codesg codesg segment mov ax,4c00h int 21h start: mov ax,0 s...
请问下面的程序一共输出多少个“-”?
题目:int main(void) {     int i;     for (i = 0; i < 2; i++) {          fork();          printf("-");      }      return 0;  }  A、2 B、4 C、6 D、8 答案:D 解析: fork函数是计算机程序设计中的分叉函数。返回值: 若成功调用一次则返回两个值,
第六章、Linux 的文件权限与目录配置
Linux最优秀的地方之一,就在于他的多人多任务环境。而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要了。 Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限。若管理不当,你的Linux主机将会变的很『不苏服!@_@』。另外,你如果首次接触Linux的话,那么, 在Linux
这个程序是怎样运行的?
 import  java.io.*;public class EncryptFile { public static void Encrypt(String file_name) {                                 try {    File file = new File(file_name);                              
fork()请问下面的程序一共输出多少个“-”?
fork() 题目:请问下面的程序一共输出多少个“-”? #include #include #include int main(void) { int i; for(i=0; i<2; i++){ fork(); printf("-"); } return 0; } 解析:一共输出8个 首先程序一开始
67.读入字符串把每个单词开始的字母大写
给定程序的功能是:度日一个英文文本行,将其中的每个单词的第一个 字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。 #define _CRT_SECURE_NO_WARNINGS #include #include #include void upfst(char *p) { int k = 0; for (;*p;p++) if (k) { if
SPOJ 7258 字典序第K小的子串:后缀自动机
题意:给出一个串,求出所有子串,去重,然后求字典序第K小的串,总共Q组询问。 题解:对串创建SAM,然后,拓扑一下,算出每个状态,如果继续往后边走,能够生成多少种不同的字符串。然后每次查询的时候,就按照字典顺序来看,比如到达某个点S,先看'a'儿子能造出多少个字符,如果很少,那么我们下一个字符肯定不走‘a’,那么我们继续看'b',看一下'a'和‘b’共能造出多少个字符,如果多了,那就选‘
程序设计入门—Java语言_第四周编程作业
1素数和 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0 输入格式: 两个整数,第一个表示n,第二个表示m。 输出格式: 一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。 输入样例: 2 4 输出样例: 15 时间限制:1000ms内存限制:64000k
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?