首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入"abc4Efg",则应输出"aBc4EFg"。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数ma
请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入"abc4Efg",则应输出"aBc4EFg"。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数ma
admin
2017-09-23
27
问题
请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入"abc4Efg",则应输出"aBc4EFg"。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < conio.h >
#include < stdio.h >
#include < string.h >
#include < stdlib.h >
void fun(char*ss)
{
}
void main()
{
FILE*wf;
char tt[81],s[81]="abc4Efg";
system("CLS");
printf("\nPlease enter an string
within 80 characters:\n");
gets(tt);
printf("\n\nAfter changing,
the string\n%s",tt);
fun(tt);
printf("\nbecomes\n%s\n",tt);
/******************/
wf=fopen("out.dat","W");
fun(s);
fprintf(wf,"%s",s);
fclose(wf);
/******************/
}
选项
答案
void fun (char *ss) { int i; for(i=;ss[i]!=’\0’;i++) /*将ss所指字符串中所有下标为奇数 位置的字母转换为大写*/ if(i%2==1&&ss[i] >=’a’&&ss[i] <=’z’) ss[i]=ss[i]一32; }
解析
该题要求将给定字符串中奇数位置的字母转换为大写,需要先判断奇数位置以及是否是小写字母,如果是再通过其转换方法进行转换。从C语言的学习中知道,只要将小写字母减去32即转成大写字母,将大写字母加上32即转成小写字母。本程序用if语句实现转换功能。
转载请注明原文地址:https://kaotiyun.com/show/1sxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下面程序是求出数组arr的两条对角线上的元素之和,请填空。#include"stdio.h"main(){intarr[3][3]={2,3,4,8,3,2,7,9,8),a=0,b=0,i,j;for(i=0;i<3;i+
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
在最坏情况下,堆排序需要比较的次数为()。
以下程序:#include<stdio.h>#include<string.h>main(){charstr[]="abcd\n\123\xab";printf("%d",(str));}运行后的输
下面程序运行后的输出结果是()。#include<stdio.h>main(){inta[5]={1,0,4,2,0},b[5]={1,2,3,4,5},i,s=0;for(i=0;i<5;i++)s=s+b[a[
运行下面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。#include<stdio.h>main(){charChr[20];scanf("%s",&Chr);p
设变量均已正确定义,若要通过scanf("%d%c%d%c”,&a1,&e1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta
以下选项中与if(a==1)a++;elsea=b;语句功能不同的语句是()。
随机试题
肾上腺增大的原因有
关于短效β受体激动剂的描述,错误的是
患者,男性,16岁,跑步后感到右胸胀痛,胸闷憋气。查体:呼吸急促,呼吸28次/min,右上肺叩诊鼓音,呼吸音消失,心率105次/min,律齐。最佳紧急处理方法为
甲厂发运一批玻璃器皿,以仅印有“芳菲牌化妆品”字样的纸箱包装,在运输过程中,由于装卸工未轻拿轻放而损坏若干件器皿,由()承担该损失。
[2006年第50题]建筑物内的生活给水系统,当卫生起居配水点处的静压水压力超过规定值时,应采取下述哪项措施?
向不同会计资料使用者提供财务会计报告,其编制依据应当一致。()
国际多式联运必须有一个国际多式联运经营人。()
2013年1月1日,经股东大会批准,甲上市公司(以下简称“甲公司”)与100名高级管理人员签署股份支付协议。协议规定:①甲公司向100名高级管理人员每人授予10万份股票期权,行权条件为这些高级管理人员从授予股票期权之日起连续服务满3年,公司3年平均净利润增
下列通讯社和所属国家对应不正确的是()。
Inhis1976studyofslaveryintheUnitedStates,HerbertGutman,likeFogel,Engerman,andGenovese,hasrightlystressedthe
最新回复
(
0
)