读书人

C语言菜鸟有关问题~HELP~@!

发布时间: 2012-02-29 16:44:10 作者: rapoo

C语言初学者问题~~`HELP~!!@!!!!!!!!!!!!!!!!!!!!!!!!!!!
/* 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转化成大写(若
该位置上不字符或已经是大写的,则不转换)
例如:若输入abc4EFg 则应输出aBc4EFg */
#include <stdio.h>
#include <string.h>
fun(char ss[])
{
int i,k,w=1;
k=strlen(ss);
for(i=1;i <=k;i=2*i+1)
if( 'a ' <=ss[i] && ss[i] <= 'z ')
ss[i]=ss[i]-32;


}
main()
{
char ss[100];
gets(ss);
fun(ss);
puts(ss);

}


不知道为什么错了`!~~!~!~ 如果输入bbbbbbbbbbbbbbbbbbb答案就错了```~!~!
555555555555555555555HELP`~!~ 谢谢各位大虾~~


[解决办法]
步长错了!
#include <stdio.h>
#include <string.h>
fun(char ss[])
{
int i=1;

while (ss[i]!= '\0 ')
{
if( 'a ' <=ss[i] && ss[i] <= 'z ')
ss[i]=ss[i]-32;
i=i+2;
}
}
main()
{
char ss[100];
gets(ss);
fun(ss);
puts(ss);
getch();

}

[解决办法]
不好意思错了,更正一下~~

#include <stdio.h>
#include <string.h>
fun(char ss[])
{
int i,k,w=1;
k=strlen(ss);
for(i=0;(2*i+1) <=k;)
if( 'a ' <=ss[2*i+1] && ss[2*i+1] <= 'z ')
ss[2*i+1]=ss[2*i+1]-32;


}
main()
{
char ss[100];
gets(ss);
fun(ss);
puts(ss);

}

读书人网 >C语言

热点推荐