从键盘输入一组小写字母,保存在字符数组str中。请补充函数proc(),该函数的功能是:把字符数组str中

题目

从键盘输入一组小写字母,保存在字符数组str中。请补充函数proc(),该函数的功能是:把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。例如,输入abcdefg,输出aBcDeFg。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proe()的横线上填入所编写的若干表达式或语句。

试题程序:

参考答案和解析
正确答案:


【解析】要将字符串中所有下标为奇数的小写字母转化为大写字母,应该检查字符串str中从第一个到最后一个字符,判断其下标是否为奇数,因此【l】填“str[i]!=ˊ\0ˊ”。每找到一个下标为奇数的小写字母。就将其转换为大写字母,大写字母的ASCⅡ码值比与其对应的小写字母小32,因此【2】填“32”。每判断完一个字符,要为检查下一个字符做准备,因此【3】填“i++”。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。

例如,str1=”I am a”,str2=”student”,结果输出:I am a student。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:


正确答案:

【1】*(pl+i)【2】+p2【3】*p2++
【解析】要将字符串str2接在字符串str后面,首先要得到字符串str1的长度,因此【1】填“*(p1+i)”。然后将字符串str2中的每一个字符接在字符串str1所有字符的后面,因此【2】填“*p2”;【3】填“*p2++”。

第2题:

请补充fun()函数,该函数的功能是:把字符的ASCII码中为奇数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输人,其长度作为参数传人fun()函数。

例如,输入“abcdef”,则输出“bdf”。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在mare()函数的横线上填入所编写的若干表达式或语句。

试题程序:


正确答案:


【解析】先判断ASCⅡ码的奇偶。
第一空:根据主函数“fun(str,len);”调用语句,其中len为字符串str的长度,用来控制循环。根据主函数中对应的调用语句,补全fun()函数定义,第一空填“fun(chars[],intn)”。
第二空:“s[j++]=s[i];”语句中j的变量在使用前要对其取值进行初始化,因为数组下标是由0开始的,初始化值为0,所以第二空填“j-0”。
第三空:新生成的字符串要加尾符标志,所以第三空填“s[j]=ˊ\0ˊ”。

第3题:

请补充函数proc(),该函数的功能是:删除字符数组中小于指定字符的字符,指定字符从键盘输入,结果仍保存在原数组中。 例如,输人“abcdefghij”,指定字符为“f”,则结果输出“fghij”。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。 试题程序:


正确答案:
【l】i++【2】str[j++]=str[i]【3】str[j]=ˊ\0ˊ
【解析】要删除字符串中小于指定字符的字符,就要把字符串中每一个字符跟指定字符相比较,小于指定字符的字符不予处理,因此【l】处填“i++”;把大于等于指定字符的字符保存在原字符串中,因此【2】处填“str[j++]=str[i]”;处理完整个字符串后.为新生成的字符串添加结束符,因此【3】处填“str[j]=ˊ\0ˊ”。

第4题:

请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。

例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

试题程序:


正确答案:



【解析】题目要求将下标为偶数的字符删除,其余字符放在新的字符数组t中。首先取出字符串str中下标为奇数的字符,将其赋值给新的字符串t,最后用ˊ\0ˊ作为字符串结束的标志。

第5题:

数组str全由大小写字母字符组成。请补充函数proc(),该函数的功能是:把str中的字母转换成紧接着的下一个字母,如果原来的字母为&39;b&39;或&39;b&39;,则相应地转换成&39;c&39;或&39;C &39;,结果仍保存在原数组中。

例如,输入“String”,则输出“Tusjoh”。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:


正确答案:

【1】str[i]!=ˊ\0ˊ【2】25【3】1
【解析】要将字符串str中的字母转换成紧接着的下一个字母,需要转换str中从第一个到最后一个的字母,因此,【1】处填“sirei]!=ˊ\0ˊ”;每一个字母的下一个字母比上一个字母的ASCⅡ值大1,只有字母z和Z例外,因为字母z和Z的下一个字母为a和A,其ASCⅡ码值比字母z和Z小25,因此,【2】处填“25”;【3】处填“1”。

第6题:

str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。请补充函数proc,该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。

例如,str="abc3de987f9621",结果为:3987621。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

define M 80

int bb[M];

int proc(char str[],int bb[],int num)

{

int i,n=0;

for(i=0;i<num;i++)

{

if(【1】)

{

bb[n]=【2】:

n++:

}

}

return 【3】 ;

}

void main

{

char str[M];

int mum=0,n,i;

printf("Enter a strin9:\n");

gets(str);

while(str[num])

num++:

n=proc(str,bb,num);

printf("\nbb=");

for(i=0;i<n;i++)

printf("%d",bb[i]);

}


正确答案:

【1】str[i]>='0'&&str[i]<='9 '
【2】str[i]-'0'
【3】n
【解析】题目中要求把字箱串str中的数字字符转换成数字并存放到整型数组bb中。首先应判断字符串str中每个字符是否为数字字符,因此【1】填“str[i]>=' 0 ' &&str[i]<='9'”;将每一个数字字符转化为数字放在整型数组bb中,因此【2】填“str[i]-'0'”;由函数proc可知,变量n中存放的是整型数组bb中元素的个数,最后要返回到主函数中,因此【3】填“n”。

第7题:

请编写函数proc,其功能是:将str所指字符串中除下标为偶数、同时ASCIl码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCIl码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCIl码值为奇数,所在数组中的下标为偶数,因此不应当删除。依此类推,最后t所指的数组中的内容应是ACEG。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所写的若干语句。 试题程序: include<stdlib.h> include<conio.h> include<stdio.h> include<string.h> void proc(char*str,char t[]) { } void main { char str[100],t[100]; system("CLS"); printf("\nPlease enter string str:"); scanf("%S",str); proc(str,t); printf("\nThe result iS:%s\n",t);


正确答案:
void proc(char*str。chart[3])
{
int i,j=0;
for(i=0;str[i]! =\O;i++)//从数组的第一个元素开始,到其最后一个
{if(i%2= =0str[i]%2 1=o)//下标为偶数、同时ASCIl码值为奇数的字符
t[j++]=str[i];} //如果成立,则把它放到t数组中
t[i]=\o;//字符串结束标志为\0
}
【解析】题目中要求将字符串str中下标为偶数,同时ASCIl码值为奇数的字符放在数组t中。首先,需要检查字符串str中下标为偶数的字符其ASCIl码值是否为奇数,将符合要求的字符放在数组t中。最后,为新的字符串数组添加结束符。

第8题:

请补充函数fun(),该函数的功能是:把字符下标能铍2或3整除的字符从字符串str中删除,把剩余的字符重新保存在字符串str中。字符串str从键盘输入,其长度作为参数传入函数fun()。

例如,输入“abcdefghijk”,输出“bfh”。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

define N 80

void fun(char s[], int n)

{

int i, k;

【 】;

for(i=0; i<n; i++)

{

s[k++]=s[i];

if(【 】)

k--;

}

【 】;

}

main()

{

int i=0,strlen=0;

char str[N];

clrscr();

printf("\nInput a string:\n");

gets(str);

while(str[i]!='\0')

{

strlen++;

i++;

}

fun(str,strlen);

printf('\n*** display string ***\n");

puts(str);

}


正确答案:k=0 (i%2==0)||(i%3==0 s[k]='\0'
k=0 (i%2==0)||(i%3==0 s[k]='\0' 解析:第一空;变量k声明时没有初始化,所以在使用前要对它初始化。因为k用作字符数组的下标,所以初始化为 0。第二空:如果当前字符的下标能被2或3整除,则不保存这个字符。第三空:将所有字符下标能被2或3整除的字符从字符串中删除后,在字符串的最后还要加上结束标记符'\0'。

第9题:

str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc,该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。 例如,str="abcl23de45f967",结果为:l234567。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。 试题程序: include<stdio.h> define M 80 int bb[M]; int proc(char str[],int bb[],int num) { int i,n=0; for(i=0;i<num;i++) { if( 【1】 ) { bb[n]=【2】 ; n++; } } return 【3】 ; } void main { char str[M]; int num=0,n,i; printf("Enter a string:\n"); gets(str); while(str[num]) num++: n=proc(str,bb,num); printf("\nbb="); for(i=0;i<n;i++) printf("%d",bb[i]); }


正确答案:
【1】str[i]>=0str[i]<=9【2】str[i]-O【3】n
【解析】题目中要求把字符串str中的数字字符转换成数字并存放到整型数组bb中。首先,应判断字符串str中每个字符是否是数字字符。因此,【1】处填“str[i]>=0str[i]<=9”将每一个数字字符转化为数字放在整型数组bb中,因此,【2】处填“str[i]-0;由函数proc可知,变量n中存放整型数组bb中的元素个数,最后要返回到主函数当中,因此,【3】处填n。