在一个字符数组中存放“AbcDEfg”字符串,编写程序,把该字符串中的小写字母变为大写字母,把该字符串中的

作者&投稿:老桂 (若有异议请与网页底部的电邮联系)
输入一个字符串,统计其中的大写字母,小写字母,数字字符。~

1、编写代码,统计大写字母数量,
int cnt_upper = 0;
String regex_u = "[A-Z]";
Pattern p3 = Pattern.compile(regex_u);
java.util.regex.Matcher m3 = p3.matcher(str);
while (m3.find()) {
cnt_upper++;
}
System.out.print("大写字母数量:");
System.out.println(cnt_upper);

2、编写代码,统计小写字母数量,
int cnt_lower = 0;
String regex_l = "[a-z]";
p3 = Pattern.compile(regex_l);
m3 = p3.matcher(str);
while (m3.find()) {
cnt_lower++;
}
System.out.print("小写字母数量:");
System.out.println(cnt_lower);

3、编写代码,统计数字数量,
int cnt_num = 0;
String regex_n = "[0-9]";
p3 = Pattern.compile(regex_n);
m3 = p3.matcher(str);
while (m3.find()) {
cnt_num++;
}

System.out.print("数字数量:");
System.out.println(cnt_num);

4、输入测试字符串,String str = "A123Bde456EfG",执行程序,输出测试结果,

如果是数组, 在a,b设置一个i和j, 指向当前元素, 初始指向第一个元素. 如果i和j所指都有元素,比较i,j所指元素大小, 把大的复制到c, 并且相应的i或j+1.(谁大加谁), c也+1右移一位,如果i或j没有元素,那么就忽略没有元素的那个表, 直接复制剩下下的到c .循环的停止条件是i和j都没有元素了. 如果是链表, 那么就修改相应的next域, 原理同上.不用创建或者删除新节点, 而是将结点顺序重新规划, 注意next域的修改顺序防止掉链, 你自己画个图研究一下即可. 最后达到的效果是a, b链表都消失, 形成一个c链表以降序排列

#include <stdio.h>
#include <stdlib.h>
int main()
{
char chs[]={'a','B','c','E','F','k','V'};
char *p=chs;
int i=0;
for(i=0;i<sizeof(chs);i++)
{
if(*(p+i)>=97 && *(p+i)<=122)
{
//小写字母ascii码范围:97-122
*(p+i)=*(p+i)-32;
//转换为对应的大写字母
}
}
*(p+i)='\0';
printf("%s\n",chs);
return 0;
}

#include <stdio.h>
int main()
{
char a[10] = "AbcDEfg";
char *p;
printf("array:\n");
printf("%s\n",a);
p = a;
while(*p)
{
if(*p>='A'&&*p<='Z')
{
*p += 32;
p++;
continue;
}
if(*p>='a'&&*p<='z')
{
*p -= 32;
p++;
continue;
}
}
printf("new array:\n");
printf("%s\n",a);
return 0;
}

效果:
C:\Documents and Settings\Owner\桌面>t
array:
AbcDEfg
new array:
aBCdeFG
C:\Documents and Settings\Owner\桌面>

toupper函数


字符数组的每个元素可存放一个字符,并且最后一个元素必须是‘0’字符...
不对呀 字符数组的每个元素可存放一个字符,并且最后一个元素不一定是‘0’字符

c语言中字符数组最后一个字符一定要是'\\0'吗?
c语言中字符数组并没有规定最后一个字符为'\\0',甚至可以不包含'\\0',添加'\\0'作为结束标志是针对于c语言对字符串的处理而言的,因此,字符数组中最后一个字必须为‘\\0’是错误的。C语言中没有字符串类型,字符串是存放在字符型数组中的。在C语言中,是将字符串作为字符数组来处理的。为了测定...

C语言:先输入一行字符,将其存放在字符数组中,再输入一个指定字符,在字...
fgets(str, sizeof(str), stdin); \/\/ 读入一行字符 printf("请输入一个指定字符:");ch = getchar(); \/\/ 读入一个字符 int i;for (i = 0; i < strlen(str); i++) { \/\/ 遍历字符数组 if (str[i] == ch) { \/\/ 如果找到了指定字符 printf("指定字符在字符数组中第一次出现...

c语言改错题:将一个字符数组中的元素逆序存放并输出
include "stdio.h"void sort(char*p,int m){ int i;char change;\/\/改过的地方!!!for (i=0;i<=m\/2;i++){ change = *(p+i);\/\/改过的地方!!!(p+i) = *(p+m-i-1);\/\/改过的地方!!!(p+m-i-1) = change;\/\/改过的地方!!!} } void main(){ int i,n;char ...

输入一个字符串存放在数组a中,把数组a中所有字母存放在数组b中构成新的...
回答:1、'\\0' 2、b[j] 3、'\\0'

C语言的字符串为什么以0作为它的结尾?
在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\\0'作为串的结束符。因此当把一个字符串存入一个数组时,也把结束符 '\\0'存入数组,并以此作为该字符串是否结束的标志。有了'\\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。

编写程序,输入一个字符串存放在字符数组a中,再将a元素中的所有小写字...
include<stdio.h> include<stdlib.h> include<string.h> define MAX 10 int main(){ char n; \/\/输入字符个数 char ch[MAX] ; \/\/存放输入的字符 char b[MAX]; \/\/存放ch中的小写字符 for (int i = 0; i < strlen(ch); i++){ scanf("%c",&n);ch[i] = n;if (ch[i]...

C语言中,字符串不是存放在变量里,而是存放在一个字符型数组里。 这句...
在C语言中,将字符串作为字符数组来储存,而字符数组是一种用来存放和处理字符型数据的数组变量,所以这句话是错的

c语言,字符数组中最后一个字必须为‘\\0’,为什么错?
不是字符数组中最后一个字符必须为'\\0',如果字符数组中存放的是一个字符串,则最后一个字符应当'\\0','\\0'是结束符号,这样当输出这个字符串时,只须输入数组名就可以,输出函数会自动输出数组中的字符,直到遇到'\\0'为止,否则你就要利用循环自己将字符一个一个的输出,而且还要判断该字符是不是所需要的字符,明白...

C++编程中字符数组能存储空格吗?能输出空格吗?
首先输出乱码是因为c是一个字符串,cout的时候再这个字符串的最后面找不到'\\0'结束符;空格和回车就是一个字符,和你输入'a'是一样的,你输入空格,则输出空格,对于回车同理。

禹州市18974647525: 在一个字符数组中存放“AbcDEfg”字符串,编写程序,把该字符串中的小写字母变为大写字母,把该字符串中的大写字母变成小写字母,用指针的方法 -
利裘谷糠: #include <stdio.h> void main() {char s[]="AbcDEfg",*p=s;printf("%s",s);for(;*p!='\0';){if(*p<=90){*p+=32;p++;continue;}if(*p>=97)*p-=32;p++;}printf("%s",s); }

禹州市18974647525: 将一个字符数组中的元素按逆序重新存放.例如:原来顺序为abcdefg,要求改为gfedcba重新存放. -
利裘谷糠: char a[7]={'a','b','c','d','e','f'}char temp[7];for(int i=0; i<7; i++) temp[i]=a[6-i];for(int i=0; i<7; i++) a[i]=temp[i];

禹州市18974647525: C语言中怎样将一个字符数组里面的所有元素变成一个字符串 -
利裘谷糠: 首先要明确的是,“字符串”在C语言中的含义实际上就是一个char类型的指针或数组,且最后一位置为0标记字符串的结束.所以,你所说的”字符数组“我是否可以理解为一个没有终结符0的char类型数组? 这样的话,方法如下 #include <...

禹州市18974647525: C语言一道字符数组题. -
利裘谷糠: char a[ ]=”ABCDEF”;这种方式是利用一个字符串去初始化一个字符数组, 字符串的默认结束符是'\0', 这是系统为每个字符串自动加上的,所以虽然字符串“ABCDEF"的长度是6(strlen(“ABCDEF”) = 6),但是他实际占的内存空间大小确...

禹州市18974647525: 在C++中存储字符串”abcdef”至少需要 - -------个字节 -
利裘谷糠: 7个字节,除了存储这6个字符所需的6字节外,还需要一个字符存储字符串结束标志'\0'.

禹州市18974647525: C语言:在一个字符数组中先后存放多个字符串,是怎么存放,举例说明 -
利裘谷糠: #include <string.h> char a[80];//将"abcd"保存到a中 strcpy(a,"abcd");//输出a中的字符串 puts(a);//将"1234"保存到a中 strcpy(a,"1234);//输出a中的字符串 puts(a);

禹州市18974647525: C语言字符串赋值操作 -
利裘谷糠: 首先要弄清楚 什么是 字符串指针,还有什么叫字符数组.字符串指针只是一个指针,就像你上面 的 A 里面的 s 没有初始化,那么你调用读串 函数 数据要写到哪里呢? 不知道吧 ,因 为s 不知道 指向哪里.char *s; s="ABCDEF"; 这又是什...

禹州市18974647525: 【总结】char *p="abcdef"和char s[]="abcdef"存储在哪里的问题 -
利裘谷糠: #include int main(){char *p="abcdef"; //很多书上说:p在栈,“abcdef”在数据区p[2]='W';printf(p);getchar();return 0;}这个程序编译通过,但是问什么程序运行会出错?另一个:#include int main(){char s[]="abcdef";//s在栈,“abcdef”在...

禹州市18974647525: C语言怎样将一维字符数组存放到二维数组中? -
利裘谷糠: 1、例如:s1[0][0]是'w' s1[0][1]是'h' s1[1][0]是'f' 字符型数组,每个元素是一个字符,每一行是一个字符串.比如要打印while,就打印s1数组的第一行.2、例程:#include<stdio.h> void main() { int i; char a[10]; char b[2][10]; for (i = 0; i != 2; ++i) { scanf("%s", a); strcpy(b[i], a); } for (i = 0; i != 2; ++i) { printf("%s\n", b[i]); } }

禹州市18974647525: c语言中怎么将字符串按字符存到数组中? -
利裘谷糠: 直接char s[20]; scanf("%s",s);就可以啦!在C语言中,字符串本来就是以数组的形式存储的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网