黑马程序员技术交流社区

标题: 新人求助,大神给点思路 [打印本页]

作者: 天下1083    时间: 2015-6-7 15:38
标题: 新人求助,大神给点思路
本帖最后由 天下1083 于 2015-6-9 19:33 编辑

编写一个函数proc(),它的功能是:将str所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入abcdel23,则应输出aBcDe123
作者: 晗修    时间: 2015-6-7 16:28
判断asc码值
作者: talent123    时间: 2015-6-7 19:04
  1. #include<stdio.h>
  2. //定义函数,把指针传进来
  3. void proc(char *p){
  4.         int count = 0;
  5.         //计数count分辨奇偶
  6.         while (*p != '\0'){
  7.                 //循环到字符串末尾
  8.                 if(count % 2 != 0){
  9.                         //如果是奇数
  10.                         if (*p >= 97 && *p <= 122){
  11.                                 //如果在'a'和'z'之间
  12.                                 printf("%c", *p - 32);
  13.                                 //输出大写
  14.                         }else{
  15.                                 //其他情况,不是字母就原封输出                       
  16.                                 printf("%c", *p);
  17.                         }
  18.                 }else{
  19.                         //如果是偶数直接输出
  20.                         printf("%c", *p);
  21.                 }
  22.                 count++;
  23.                 //计数器+1 指针后移1
  24.                 p++;
  25.         }
  26.        
  27. }


  28. int main(){
  29.         char s[100];
  30.         //得到s字符串
  31.         gets(s);
  32.         proc(s);
  33.         return 0;       
  34. }
复制代码

作者: Dariel    时间: 2015-6-7 21:08
把奇数位的的ASCII减32
作者: 王二小。    时间: 2015-6-7 22:14
循环字符串,判断是否是字母,如果是字母,根据下标来判断,如果下标%2不等于0,说明就是奇数,就将它对应的ASCII码减32
作者: ⒈苆都s.兲憶    时间: 2015-6-7 23:55
楼上很给力啊!
作者: 天下1083    时间: 2015-6-8 11:26
谢谢,明白了
作者: Fighting--BJ    时间: 2015-7-3 06:20
学习学习!加油!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2