本文介绍: 题目请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。例如,若输入” abc4EFG”,则应输出“aBc4EFG”。考点考点:指针、ASCII码、 数组和循环语句。解法:通过循环语句依次判断数组下标为奇数的元素是否为小写字母,如果是则通过字符运算将其转换为大写字母。代码#include <stdio.h&…
题目
请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)。
例如,若输入” abc4EFG”,则应输出“aBc4EFG”。
考点
解法:通过循环语句依次判断数组下标为奇数的元素是否为小写字母,如果是则通过字符运算将其转换为大写字母。
代码
#include <stdio.h>
#include <string.h>
void fun( char *ss )
{
/* 变量定义*/
int n=0;
int i;
char *p;
p = ss;
/*步骤1:获取字符长度*/
while(*p++ != '')/*判断是否到了字符串末尾*/
{
n++;
};
/*步骤2:根据字符长度 遍历字符 对字符逐个处理*/
for(i=1;i<n;i+=2){
/*判断是不是小写字母*/
if(ss[i]>='a' && ss[i]<='z'){
/*是小写字母 转为大写*/
ss[i] = ss[i] - 32;
}
}
}
void main( void )
{
char tt[51];void NONO ();
printf( "nPlease enter an character string within 50 characters:n" );
gets( tt );
printf( "nnAfter changing, the stringn "%s"", tt );
fun(tt) ;
printf( "nbecomesn "%s"", tt );
NONO();
getchar();
}
void NONO ()
{
/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
输出数据,关闭文件。 */
char tt[51], ch;
FILE *rf, *wf ;
int len, i=0 ;
rf = fopen("in.dat","r") ;
wf = fopen("out.dat","w") ;
while(i < 10) {
fgets( tt, 50, rf );
len = strlen(tt) - 1 ;
ch = tt[len] ;
if(ch == 'n' || ch == 0x1a) tt[len] = 0 ;
fun(tt);
fprintf( wf, "%sn", tt );
i++ ;
}
fclose(rf) ;
fclose(wf) ;
}
原文地址:https://blog.csdn.net/ks2686/article/details/134740580
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_28544.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。