4-字符数组的赋值
1 | char*s1 = "Ctest" |
// 不可以
char s4[10];
s1=“chest”;
C语音中不能将字符串常量直接赋给数组。但在赋初值时可以。
// 通过终端读入字符串, 由于可能输入的字符串包含空格, 需要使用 getline 函数
1 | const int N = 100; |
增强函数 #include <iostream>
习题
题目内容:
编写函数去除字符串中包含的非字母字符(不包括空格),并将小写字母转换成大写字母。
注意,不在函数中输出。输入输出应在主函数中进行。
输入格式:
待转换的字符串,字符串间会包含空格,长度不超过200。
输出格式:
转换后的字符串
注意:本题应使用字符数组实现,不能使用字符串处理库函数,不能使用string类。
输入样例:
happy new year!
输出样例:
HAPPY NEW YEAR
#include
#include
using namespace std;
char toUpperCase(char c)
{
if (c >= ‘a’ && c <= ‘z’)
{
c = c - ‘a’ + ‘A’;
}
return c;
}
int main()
{
const int N = 201;
char array[N];
cin.getline(array, N);
int i;
int j = 0;
int len = strlen(array);
char str[N] = "";
for (i = 0; i < len; i++)
{
if ((array[i] >= 'a' && array[i] <= 'z') || (array[i] >= 'A' && array[i] <= 'Z'))
{
str[j] = toUpperCase(array[i]);
j++;
}
else if (array[i] == ' ')
{
str[j] = array[i];
j++;
}
}
cout << str << endl;
for (int i = 0; i < N; i++)
{
cout << i << str[i] << endl;
}
return 0;
}
1 |
|