题库 题库

【简答题】

请编写函数proc(),其功能是:将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的内容应是ACEG。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。
试题程序:
#include
#include
#include
#include
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):
)

参考答案

voiDproC(ChAr*sir。ChArt[])1
inti,j=0;
for(i=0;slr[,i]!=’\0’;i++)//从数组的第一个元素开始,到其最后一个
{if(i%2==0&.&str[i]%21=o)//下标为偶数、同时ASCIl码值为奇数的字符
t[j++]=str[i];}//如果成立,则把它放到t数组中
t[j]=’\0’;//字符串结束标志为’\0’}

相关试题

单选题 若有定义:“int*P,x=0,*P,P=&x;”,则语句“printf(”%d\n”,*p);”的输出结果是(  )。 查看答案
单选题 以下选项中不合法的用户标识符是(  )。 查看答案
单选题 下列程序的运行结果是(  )。
#include
#define ADD(x)X+X
main()
{ int m=1,n=2,k=3:
int s=ADD(m十n)*k;
printf(”s=%d”,s):
}
查看答案
单选题 下列程序中C的二进制值是( )。
char a=2,b=4,c;
c=a-b>>2;
查看答案
单选题 定义下列结构体(联合)数组:
struet St
{char name[15];
int age;
)a[10]={”ZHA()”,14,”WANG”,15,”LIU”,16,”
ZHANG”,l7);
执行语句print[(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为(  )。
查看答案
单选题 若有以下程序:
#include
void fun(float*a,float*b)
( float w;
*a=*a+*a;w= *a;*a= *h;*b=W;
}
main()
{ float x=2..0,y=3.0,*px=&x,*py=&y;
fun(px,py);printf(”%2.of,%2.0fkn”,X,y);
)
程序的输出结果是( )。
查看答案
单选题 下列程序的运行结果是(  )。
#includedstdio.h>
void main()
{int s=0,k;
for(k=7;k>1;k--)
{switch(k)
{case 1:
case 4:
case 7:
s++:
break;
case 2:
case 3:
case 6:break;
case 0:
case 5:
s+=2:
break;
))
print[(”S=%d”,s);
}
查看答案
单选题 有下列二叉树,对此二叉树前序遍历的结果为(  )。 查看答案
单选题 C语言中,字符(char)型数据在微机内存中的存储形式是(  )。 查看答案
单选题 合法的八进制数是(  )。 查看答案
单选题 已有定义:char C;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是(  )。 查看答案
单选题 若二维数组a有m列,则在a[i][j]前的元素个数为(  )。 查看答案
单选题 设有以下语句:
int a=1,b=2,c;
c=a^(b<<2);
执行后,c的值为( )。
查看答案
单选题 下列叙述中不正确的是(  )。 查看答案
单选题 表达式'5'-'1'的值是(  )。 查看答案
单选题 在C语言中,函数返回值的类型最终取决于(  )。 查看答案
单选题 下列关于定点数与浮点数的叙述中错误的是(  )。 查看答案
单选题 按照“先进后出”原则组织数据的结构是(  )。 查看答案
单选题 有以下程序:
main()
{int a=0,b=10,c=0,d=0;
if(a=1)b=1;c=2;
else d=3:
printf(”%d,%d,%d,%d\n”,a,b,c,d);
}
程序输出(  )。
查看答案
单选题 若程序中有宏定义行:#define N 100,则以下叙述中正确的是(  )。 查看答案