将字符串ss中所有下标为奇数位置上的字母转换为大写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将字符串ss中所有下标为奇数位置上的字母转换为大写相关的知识,希望对你有一定的参考价值。

若该位置上不是字母 则不转换
各位大哥帮帮下地我吧 我菜鸟一个啊 先谢谢各位了
我晕啊 我是初学者 C语言的才行 呵呵 一楼的大哥写的我都看不懂

'大小写转换操作,不需要做是否是字母的判断,因UCASE仅对字母有效

dim strDes as string
dim strChr as string
dim lData as long
dim ltp as long

ss="原始字符串"
strDes=""
strChr = ""

lData=len(ss)
for ltp=1 to lData
strChr=mid(ss,ltp,1)
if ltp mod 2 = 1 then
strChr=UCase(strChr)
end if
strDes=strDes & strChr

next

msgbox strDes
================================================
还以为VB呢
#include<stdio.h>
void main()

char b[100];
int i;
printf("请输入一字符串:\n");
gets(b);
i=0;
while(b[i]!=0)
if(i%2=0&&b[i]>=97&&b[i]<=122)
b[i]=b[i]-32;
i++;

printf("字符串结果为:%s\n",b);
参考技术A 一楼上半截的是VB,下面的是C。如果你连下面的都看不懂,兄弟,你是学C的吗?
不过一楼的
if(i%2=0&&b[i]>=97&&b[i]<=122)
b[i]=b[i]-32;

可以改成:
if(b[i]>=97&&b[i]<=122)
b[i]=b[i]-32;

i%2=0是判断偶数(奇数位置)
if(b[i]>=97&&b[i]<=122) 是判断为大写字母

fun是将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母则不换)

帮我看看 ,我哪里错了
#include <stdio.h>
#include <string.h>
void fun(char *ss)
int i;
for(i=1;i<strlen(ss);i=i+2)
if((ss[i]>='a') && (ss[i]<='z'))ss[i]=ss[i]-'32';
return ss;

首先你的fun函数定义的是void类型,不需要返回值,所以return ss是错的,你传入的是ss数组的地址,所以本身就在原数组的空间上做相应的操作,也就不需要返回值。追问

char *p = ss ;
int i = 0 ;
while(*p)
if((i % 2) && (*p >= 'a' && *p <= 'z')) *p -= 32 ;
p++ ;
i++ ;

return ss ;
这是正确答案,可以return啊

追答

额 。。。。void型函数即使return、也是return空值。。。。。这个程序要在vc里运行时不通过编译的。。。

参考技术A i=0;
ss[i]=ss[i]-32;

也可以这么写
ss[i]=ss[i]-('a'-'A');本回答被提问者和网友采纳
参考技术B i初值应该是0
函数是void类型,所以不应该有return语句
参考技术C void fun(char *ss)

int i;
int k=0;
char a[100];
while(*ss)
a[k++]=*ss++;
a[k]=0;
printf("%s\n",a);
for(i=1;i<k;i=i+2)
if((a[i]>='a') && (a[i]<='z'))
a[i]=a[i]-32;
printf("%s\n",a);
追问

运行了一下,你的结构运行出来是错误的

追答

报什么错呢?

以上是关于将字符串ss中所有下标为奇数位置上的字母转换为大写的主要内容,如果未能解决你的问题,请参考以下文章

C语言试题五十之请编写一个函数void function(char *ss),其功能时:将字符串ss中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。

C语言试题五十之请编写一个函数void function(char *ss),其功能时:将字符串ss中所有下标为奇数位置上的字母转换为大写(若位置上不是字母,则不转换)。

fun是将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母则不换)

c语言程序设计请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为

试编一函数:将字符串中所有下标为奇数位置上的字母转换成大写字母(若该位置上不是字母,则不转换)

C语言试题三十六之将s所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。