填空题Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【2】 的设计方法。
填空题设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是______。
填空题给定程序中函数fun的功能是:将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
请改正fun函数中的错误,使它能得出正确的结果。
注意:不要改动main函数。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<eoni0.h>
#include<stdio.h>
void fun(int m, int k)
{
int aa[20], i;
for(i=0; m; i++)
{
/**********found**********/
aa[i]=m/k;
m/=k;
}
for(;i; i--)
/**********found**********/
printf("%d", aa[i]);
}
main()
{
int b, n;
printf("/nPlease enter a number and a base:/n");
scanf("%d %d",
fun(n, b);
printf("/n");
}
填空题有以下程序: # include<string.h> main(int argc,char *argv[]) int i,len=0; for(i=1;i<argc;i+=2) len+= strlen(argv[i]); printf("%d/n",len); 经编译连接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行: ex abcd efg h3 k44 执行后的输出结果是 【2】 。
填空题有以下程序: main() int a[4][4]={(1,4,3,2)(8,6,5,7),(3,7.2,5), (4,8,6,1)i,j,k,t; for(i=0:i<4;i++) for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i])[t=a[j][i];a[j][i]=a[k][i];a[k][i]=t; /*按列排序*/ for(i=0;i<4;i++)printf“%d,”,a[i][i]; 程序运行后的输出结果是 (13) 。
填空题以下程序运行后的输出结果是______。 #include<stdio.h> fun(int x) if(x/2>0) fun(x/2); printf("%d", x); main() fun(6); printf("/n");
填空题若有以下程序: main() int p,a=5; if(p=a!=0) printf("%d/n",p); else printf("%d/n",p+2); 执行后输出结果是 【8】 。
填空题以下程序的功能是计算。补足所缺语句。longf(intn){inti;longs;s={{U}}【14】{{/U}};for(i=1;i<=n;i++)s={{U}}【15】{{/U}};returns;}main(){longs;intk,n;scanf("%d",k<=n,k++)s=s+{{U}}【17】{{/U}};printf("%1d/n",s);}
填空题以下程序输出的最后一个值是 【8】 。 int ff(int n) static int f=1; f=f*n; retum f; main() int i; for(i=1;i<=5;i++) printf("%d/n",ff(i))i
填空题在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为{{U}} (8) {{/U}}时表示逻辑值“真”。
填空题下面程序的功能是:对字符串从小到大进行排序并输出,请填空。
#include"string.h"
#include"stdio.h"
sort(char *a[],int n)
{ int i,j;
char *p;
for(j=1;j<=n-1;j++)
for(i=0;i<n-j;i++)
if(______)>0)
{ p=a[i];
a[i]=a[i+1];
a[i+1]=p;}
}
main()
{int i;
char *book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};
sort(______);
for(i=0;i<6;i++)
printf("%s/n",book[i]);
}
填空题以下程序运行后的输出结果是______。
#include<string.h>
main()
{char ch[]="abcd",x[4][4];int i;
for(i=0;i<4;i++)strcpy(x[i],ch);
for(i=0;i<4;i++)printf("%s",&x[i][i]);
printf("/n");
}
填空题字符串str由数字字符组成(长度不超过5个字符),可看作任意进制的数,请补充函数fun(),该函数的功能是:把 str字符串转换成任意进制的数,结果保存在数组xx中,由函数返回转换后数组腆的实际长度。其中x表示str原来的进制, y表示要转换成的进制。例如,输入str=“1111”,x=2,y=10,结果输出:15。如果输入str=“15”, x=10,Y=2,结果输出: 1111。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 8
int xx[N];
int fun(char *str,int x,int y)
{
int sum;
int i=0;
char *p=str;
for(i=0; i<N; i++)
xx[i]=0;
sum=*p-'0';
p++;
while (*p)
{
sum={{U}} 【1】 {{/U}};
p++;
}
i=0;
while(sum!=0)
{
xx[i]={{U}} 【2】 {{/U}};
{{U}} 【3】 {{/U}};
i++;
}
return i;
}
main ()
{
char str[6];
int i;
int n;
int x;
int y;
printf("Enter a string made up of '0' to
'9' digits character:");
gets(str);
if(strlen (str) >5)
{
printf("Error:string too longer!,
please input again!/n/n");
exit(0);
}
for(i=0;str[i];i++)
if(str[i]<'0'||str[i]>'9')
{
printf("Error:%c not is '0' to
'9' digits character!/n/n",
str[i]);
exit(0);
}
printf("The original string: ");
puts(str);
printf("/nINPUT x= ");
scanf("%d",
printf("/nINPUT y= ");
scanf("%d",
n=fun(str,x,y);
printf("/n%s is convered to",str);
for (i=n-1; i>=0; i--)
printf("%d",xx[i]);
}
填空题请补充函数fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量m对删除后字符串的长度进行保存。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
int m;
void fun(char *s)
{
int i=0,j=0;
char *p=s;
while (*(p+i))
{
if(*(p+i)>='A'
{{U}} 【3】 {{/U}};
}
main()
{
char str[80];
clrscr();
printf("/nEnter a string:");
gets(str);
printf("/n/nThe string is:/%s/n",str);
fun(str);
printf("/n/nThe string of changing
is:/%s/n",str);
printf("/n/nThe length of changed string
is:/%d/n",m);
}
填空题以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。 main( ) int x[10],a[9],i; for(i=0;i<10;i++) scanf("%d",&x[i]); for({{U}} {{/U}};i<10;i++) a[i-1]=x[i]+{{U}} {{/U}}; for(i=0;i<9;i++) printf("%d",a[i]); printf("");
填空题下列给定程序中,函数fun()的功能是:将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指字符串中,例如:把3个串abc,CD,EF串联起来,结果是abcCDEF。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <string.h>
#include <stdio.h>
/*************found**************/
int fun(char str[] [10],int m, char *pt)
{ int k,q,i,j=0;
for(k=0;k<m;k++)
{ q=strlen(str[k]);
j+=q;
for(i=0;i<q;i++)
/*************found**************/
pt[i]=str[k,i];
pt+=q;
pt[0] =0;
}
pt-=j;
}
main ( )
{ int m, h;
char s[10] [10],p[120];
clrscr ();
printf("/nPlease enter m: ");
scanf("%d", gets(s[0]);
printf ("/nPlease enter %d string:In ",m);
for(h=0;h<m;h++) gets(s[h]);
fun (s,m,p);
printf("/nThe result is :%s/n ",p);
}
填空题给定程序MODI1.C中函数fun的功能是首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1efg”;而当a所指字符串中的内容为“1234”,b所指字符串中的内容为“abcdefg”时,c所指数组中的内容应该为“1g2f3e4dcba”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdio.h>
#include<string.h>
void fun(char*a,char*b,char*c)
{
int i,j;char ch;
i=0;j=strlen(b)-1;
/***********found************/
while(i>j)
{ ch=b[i];b[i]=b[j];b[j]=ch;
i++; j--;
}
while(*a||*b){
/**************found**********/
If(*a)
{ *c=*a;c++;a++;}
if(*b)
{ *c=*b;c++;b++;}
}
*c=0;
}
main()
{
char s1[100],s2[100],t[200];
printf("/nEnter s1 string:");scanf("%s",s1);
printf("/nEnter s2 string:");scanf("%s",s2);
fun(s1,s2,t);
printf("/nThe result is:%s/n",t);
}
填空题给定程序的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
例如,若输入:I am a student to take the examination.,
则应输出:I Am A Student To Take The Examination.。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<etype.h>
#include<string.h>
/**********found**********/
include<stdio.h>
/**********found**********/
void upfst(char p)
{ int k=0;
for(;*p; p++)
if(k)
(if(*p=="")k=0;}
else if(*p!="")
{ k=1; *p=toupper(*p);}
}
main()
{ char chrstr[81];
printf("/nPlease enter an English text line:");
gets(chrstr);
printf("/n/nBefore changing:/n %s", chrstr);
upfst(chrstr);
printf("/nAfter changing:/n %s/n", chrstr);
}
填空题设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。 main() int findbig(int,int,int); int(*f)(),x,y,z,big; f= 【17】 ; seanf("%d%d%d",&x,&y,&z); big=(*f)(x,y,2); printf("big=%d/n",big);
填空题下列给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。
例如,形参s所指的字符串为:This is a c language program.,函数的返回值为6。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
inc fun(char *s)
{inc n=0,flag=0;
while(*s!="/0")
{if(*s!="&&flag==0){
/********found********/
______;flag=l;}
/********found********/
if(*s==")flag=______;
/********found********/
______;
}
return n;
}
main()
{char str[81];int n;
printf("/nEnter a line text:/n");
gets(str);
n=fun(str);
printf("/nThere are%d words in this text./n/n",n);
}
