填空题str为一个字符序列。请补充函数fun(),该函数的功能是:查找str中值为x的元素,返回该字符序列中值为x的元素个数,并把这些值为x的元素下标依次保存在数组bb中。例如,在“abcdefahij”中查找‘a’,结果为:2个‘a’,下标依次为 0、6。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define N 20
int bb[N];
int fun(char *str,char ch)
{
int i=0, n=0;
char t=ch;
char *p=str;
while(*p)
{
if ({{U}} {{U}} {{/U}} {{/U}})
{{U}} {{U}} {{/U}} {{/U}};
p++;
i++;
}
return{{U}} {{U}} {{/U}} {{/U}};
}
main()
{
char str[N];
char ch;
int i, j,n;
clrscr();
printf("***Input the original string
***/n");
gets(str);
printf("***The Original ***/n");
puts(str);
printf("***Input character ***/n");
scanf("%c",
n=fun(str,ch);
printf("/nThe numbr of character is:
%d/n", n);
printf{"***The suffix of character
***/n");
for(i=0;i<n;i++)
printf("%d ",bb[i]);
}
填空题有下列程序:
#include<stdio.h>
int a=5;
void fun(int B)
{ int a=10;
a+2b;printf("%d",A) ;
}
main()
{ int c=20;
fun(C) ;a+=c;printf("%d/n",A) ;
}
程序运行后的输出结果是______。
填空题以下程序运行后的输出结果是______。 main() / int i,j,a[][3]=1,2,3,4,5,6,7,8,9; for (i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for (i=0;i<3;i++) for (j=0;j<3;j++) printf("%d ",a[i][j]); printf("/n");
填空题以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main()
{ int x[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for({{U}} 【14】 {{/U}};i<10;i++)
a[i-1]=x[i]+{{U}} 【15】 {{/U}};
for(i=0;i<9;i++)printf("%d",a[i]);
printf(" ");
}
填空题数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。
例如:当xx[8]={135,78,72,32,222,424,333,141,541}时, bb[6]={787,232,222,424,333,141}。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <conio.h>
#define N 1000
int fun(int xx[],int bb[],int num)
{
int i,n=0;
int g,b;
for(i=0;i<num;i++)
{
g={{U}} 【1】 {{/U}};
b=xx[i]/100;
if(g==b)
{{U}}【2】 {{/U}};
}
return{{U}} 【3】 {{/U}};
}
main()
{
int xx[8]={135,787,232,222,424,333,
141,541};
int YY[N];
int num=0,n=0,i=0;
num=8;
clrscr();
printf("*** original data ***/n");
for(i=0;i<num;i++)
printf("%u",xx[i]);
printf("/n/n/n");
n=fun(xx,yy,num);
printf("/nyy=");
for(i=0;i<n;i++)
printf("%u",YY[i]);
}
填空题若a=10,b=20,则表达式!(a<b) 的值是______。
填空题执行程序时的输入为123456789,则程序的运行结果为______。
#include"stdio.h"
main()
{
int a,b;
scanf("%2d%*2d%1d",&a,&b);
printf("%d/n",a-b);
}
填空题有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是 【9】 。main () int a, b; printf("Enter a, b:"); scanf("%d, %d", while(a!=b) while(a>b)a-=b; while(b>a)b-=a; printf("%3d%3d/n",a,b);
填空题已有定义如下:
struct node
{ int data;
struct node *next;
} *p;
以下语句调用malloc函数,使指针p指向一个具有struct node类型的动态存储空间。请填空。
p = (struct node *)malloc({{U}} 【19】 {{/U}} );
填空题若变量n中的值为24,则函数共输出{{U}} 【18】 {{/U}}行,最后一行有{{U}} 【19】 {{/U}}个数。
void print (int n,int aa)
{ int i;
for(i=1;i<=n;i + +)
{printf("%6d,aa[i]);
if(!(i%5))printf("/n");
}
printf("/n");
}
填空题funl函数的调用语句为:fun1(&a,&b,&c);它将3个整数按由大到小的顺序调整后依次放入 a、b、c这3个变量中,a中放最大数。
void fun2 (int*x,int*y)
{ int t;
t=*x; *X=*y;*y=t;
}
void funl (int *pa,int *pb,int *pc)
{ if(*pc>*pb)fun2({{U}} 【11】 {{/U}});
if(*pa<*pc)fun2({{U}} 【12】 {{/U}});
if(*pa<*pb)fun2({{U}} 【13】 {{/U}});
}
填空题下列执行后输出的结果是{{U}} 【9】 {{/U}}。
main()
{ intarr[10],i,k=0
for(i=0;i<10;i++)atr[i]=i
for(i=1,i<4;i++) k+=arr[i]+i;
printf("%d/n",k);
}
填空题表示“整数x的绝对值大于5”时值为“真”的C语言表达式是{{U}} 【6】 {{/U}}。
填空题队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作。
填空题下面程序的功能是给一维数组a输入任意5个小于10的正整数,并输出经过5次逐位右移一位形成的方阵,请把程序补充完整。假设输入为:5 6 8 4 3,则输出的结果为:
3 5 6 8 4
4 3 5 6 8
8 4 3 5 6
6 8 4 3 5
5 6 8 4 3
#include<stdio.h>
int main()
{
int a[5], i, j, k, n;
for(i=0; i<5; i++)
scanf("%d",
for(n=1; n<=5; n++)
{
k=a[4];
for(______; j>=0; j--)
a[j+1]=a[j];
______
for(i=0; i<5; i++)
printf("%d", a[i]);
printf("/n");
}
return 0;
}
填空题下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。
例如,当s所指字符串为“ABCD”时,t所指字符串中的内容应为“ABCDDCBA”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
/*********found*********/
void fun(char s,char t)
{
int i,d;
d=strlen(s);
for(i=0;i<d;i++)
t[i]=s[i];
for(i=0;i<d,i++)
t[d+i]=s[d-1-i];
/*********found*********/
t[2*d-1]="/0";
}
main()
{
char s[100],t[100];
printf("/nPlease enter string s:");
scanf("%s",s);
fun(s,t);
printf("/nThe result is:%s/n",t);
}
填空题下面程序的输出是 【9】 。 main() enum emem1=3,em2=l,em3; char*aa[]="AA","BB","CC","DD"; printf("%s%s/n",aa[eml],aa[em2],aa[em3]);
填空题下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
int word(char*s)
{ int num=0,flag=0;
while(*s)
{ if({{U}} 【13】 {{/U}}=") flag=0;
else if{{U}} 【14】 {{/U}}{flag=1;num++}
}
return{{U}} 【15】 {{/U}};}
填空题下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#define N 5
#define M 10
int fun(char(*ss)[M],int k)
{int i,j=0,len;
/**********found**********/
for(i=0;i<______;i++)
{len=strlen(ss[i]);
/**********found**********/
if(len<=______)
/**********found**********/
strcpy(ss[j++],______);
}
return j;
}
main()
{char x[N][M]={"Beijing","Shanghai","Tianjin","Nanjing","Wuhan"};
int i,f;
printf("/nThe original string/n/n");
for(i=0;i<N;i++)
puts(x[i]);
printf("/n");
f=fun(x,7);
printf("The string witch length is less than or equal to 7:/n");
for(i=0;i<f;i++)puts(x[i]);
printf("/n");
}
填空题以下程序的输出结果是{{U}} 【13】 {{/U}}。
main()
{ char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s/n",p);}
