网络信息传输的时候少不了各种信息的加密和解密。如A要传达给B的信息为:ILoveYou为了防止被人发现而暴露目标,A决定先使用一段程序进行加密。同时告诉B自己的加密程序,以确保B能够正确读懂A的心意。程序是这样的:我们定义一个数组str[]="HKnudT";和变量i=0;while(str[i]!=’/0’){str[i]=str[i]+1;i++;}请问B利用A的加密程序进行解密之后,看到了什么:()
第1题:
阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include <stdio.h> #include <ctype.h> #include <string.h> int fun(char*str) { int i,j=0; for(i=0;str[i]!='\0';i++) if(str[i]!='')str[j++]=str[i]; str[j]='\0'; } main() { char str[81];
A.asdafaaz67
B.asdafaa267
C.asd
D.z67
第2题:
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]); }
第3题:
当运行以下程序时,输入 abcd ,程序的输出结果是 : 【 9 】 。
insert(char str[])
{ int i;
i=strlen(str);
while(i>0)
{ str[2*i]=str[i];str[2*i-1]='*'; i--;}
printf(" % s\n",str);
}
main()
{ char str[40];
scanf(" % s",str);insert(str);
}
第4题:
下列程序的运行结果为( )。
#include<stdio.h>
voidabc(char*str)
{int a,b,i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!='a')
str[j++]=str[j];
str[j]='\0';
}
void main()
{char Str[]="abcdef';
abc(str);
printf("str[]=%s",str);
}
A.str[]=bcdef
B.str[]=abcdef
C.str[]=a
D.str[]=ab
第5题:
下列程序的运行结果为( )。
#include<stdio.h>
voidabc(Char*str)
{ inta,b,i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!='a')
str[j++]=str[i];
str[j]='\0';
}
void main()
{ char str[]="abcdef";
abc(str);
printf("str[]=%s",str);
}
A.str[]=bcdef
B.str[]=abcdef
C.str[]=a
D.str[]=ab
第6题:
若输入bcdefgh、m、abcdefg,以下程序的输出结果为( )。 #include<stdio.h> #include<string.h> main() { int i; char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); if(strcmp(str[0],str[1])>0) strcpy(string,str[0]); else strcpy(string,str[1]); if(strcmp(str[2],string)>0) strcpy(string,str[2]); printf("%s",string); }
A.bcdefgh
B.m
C.abcdefg
D.bcdefgh或abcdefg
第7题:
下列给定程序中,函数proc的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCIl码升序排序后输出。 例如,输入opdye,则应输出deopy。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include%string.h> include%stdlib.h> include<conio.h> include<stdio.h> //****found**** int proc(char str[]) { char C; unsigned i,j; for(i=0;i<strlen(str)-1;i++) for(j=i+1;j<strlen(str);j4-+) if(str[i]>str[j]) { c=str[j]: //****found**** str[j]=str[i++]; str[i]=C; } } void main { char st/[81]; system("CLS"); printf("\nPlease enter a character string:"); gets(str); printf("\nknBefore sorting:\n %s",str); proc(str); printf("\nAfter sorting decendingly:\n %S",str); }
第8题:
下面程序的功能是将一个字符串str的内容颠倒过来,请填空。
include<string.h>
main()
{ infi,j, [13] ;char str[]={"1234567"};
for(i=0,j=strlen(str) [14] ;i<j;i++,j--)
{k=str[i];str[i]=str[i];str[j]=k;}
printf("%s\n",str);}
颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的元素 str[i]和str[j]。开始时,i的值为0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是str[i]位于str[j]的前面,即ij字符串末元素的下标是它的长度减1,所以在第二个空框处应填入-1。程序为了交换str[i]和str[j],使用了变量k,该变量应在程序的变量定义部分中—起定义,所以在第—个空
第9题:
阅读下列程序,当运行函数时,输入asd af aa z67,则输出为
#include
#include
#include
int fun (char *str)
{ int i,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′ ′)str[j++]=str[i];
str[j]= ′\0′;
}
main()
{
char str[81];
int n;
clrscr();
printf("Input a string : ");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A.asdafaaz67
B.asd af aa z67
C.asd
D.z67
第10题:
str是一个由数字和字母字符组成的字符串,由变量hum传入字符串长度。请补充函数fun( ),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组bb中,函数返回数组bb的长度。
例如:str=“Bcdl23e456hui890”,结果为:123456890。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio.h>
define N 80
int bb[N];
int fun(char s[ ],int bb[ ],int num)
{
int i,n=0;
for(i=0;i<num;i++)
{
if(【 】)
{
bb[n]=【 】;
n++;
}
}
return【 】;
}
main()
{
char str[N];
int num=0,n,i;
printf("Enter a string:\n");
gets(str);
while(str[num])
num++;
n=fun(str,bb,num);
printf("\nbb=");
for(i=0;i<n;i++)
printf("%d",bb[i]);
}