6)若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句__[6]____。
7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。 请填空。
main()
{
float a,b,c;
scanf(“%f%f%f”,&a,&b,&c);
if(__[7]__)printf(“YES\n”);/*a,b,c能构成三角形*/
else printf(“NO\n”);/*a,b,c不能构成三角形*/
}
8)以下程序的输出结果是__[8]_____
main()
{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf(“%d\n”,s);
}
9)当运行以下程序时,输入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);
}
10)以下程序的运行结果是:__[10]____
fun(int t[],int n)
{ int i,m;
if(n==1) return t[0];
else
if(n>=2) {m=fun(t,n-1); return m;}
}
main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf(“%d\n”,fun(a,10));
}
11)现有两个C程序文件T18.c和myfun.c同时在TC系统目录(文件夹)下,其中T18.c文件如下,
#include
#include”myfun.c”
main()
{ fun(); printf(“\n”); }
myfun.c文件如下,
void fun()
{ char s[80],c; int n=0;
while((c=getchar())!='\n') s[n++]=c;
n--;
while(n>=0) printf(“%c”,s[n--]);
}
当编译连接通过后,运行程序T18时,输入Thank!则输出的结果是:___[11] 。
12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char *fun(char *str,char c)
{ int n=0;char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0' return NULL;
return (_[12]_);
}
13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
main()
{ int i,j;
for(i=0;__[13]__;i++)
{ j=i*10+6;
if(_[14]____) continue;
printf(“%d,,j);
}
}
14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空
int isprime(int a)
{ int i;
for(i=2;i<=a/2;i++)
if(a%i==0) __[15]___;
__[16]___;
}
15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n不得大于10),程序运行结果如下,
A B C D E
F G H I
J K L
M N
O
请填空完成该程序。
main()
{ int i,j,n; char ch='A';
scanf(“%d”,&n);
if(n<11)
{
for(i=1;i<=n;i++)
{ for(j=1;j<=n-i+1;j++)
{ printf(“%2c”,ch);
___[17]____;
}
【18】
}
}
else printf(“n is too large!\n”);
printf(“\n”);
}
16)以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。
#include
typedef struct node /*链表结点结构*/
{ char sub[3];
Struct node *next;
}Node;
Node fun(char s) /*建立链表*/
{ …… }
void disp(Node *h)
{
Node *p;
p=h->next;
While(【19】)
{
printf(“%s\n”,p->sub); p=【20】;}
}
main()
{
Node *hd;
hd=fun(); disp(hd); printf(“\n”);
}
7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。 请填空。
main()
{
float a,b,c;
scanf(“%f%f%f”,&a,&b,&c);
if(__[7]__)printf(“YES\n”);/*a,b,c能构成三角形*/
else printf(“NO\n”);/*a,b,c不能构成三角形*/
}
8)以下程序的输出结果是__[8]_____
main()
{ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf(“%d\n”,s);
}
9)当运行以下程序时,输入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);
}
10)以下程序的运行结果是:__[10]____
fun(int t[],int n)
{ int i,m;
if(n==1) return t[0];
else
if(n>=2) {m=fun(t,n-1); return m;}
}
main()
{
int a[]={11,4,6,3,8,2,3,5,9,2};
printf(“%d\n”,fun(a,10));
}
11)现有两个C程序文件T18.c和myfun.c同时在TC系统目录(文件夹)下,其中T18.c文件如下,
#include
#include”myfun.c”
main()
{ fun(); printf(“\n”); }
myfun.c文件如下,
void fun()
{ char s[80],c; int n=0;
while((c=getchar())!='\n') s[n++]=c;
n--;
while(n>=0) printf(“%c”,s[n--]);
}
当编译连接通过后,运行程序T18时,输入Thank!则输出的结果是:___[11] 。
12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char *fun(char *str,char c)
{ int n=0;char *p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\0') n++;
if(p[n]=='\0' return NULL;
return (_[12]_);
}
13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
main()
{ int i,j;
for(i=0;__[13]__;i++)
{ j=i*10+6;
if(_[14]____) continue;
printf(“%d,,j);
}
}
14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空
int isprime(int a)
{ int i;
for(i=2;i<=a/2;i++)
if(a%i==0) __[15]___;
__[16]___;
}
15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n不得大于10),程序运行结果如下,
A B C D E
F G H I
J K L
M N
O
请填空完成该程序。
main()
{ int i,j,n; char ch='A';
scanf(“%d”,&n);
if(n<11)
{
for(i=1;i<=n;i++)
{ for(j=1;j<=n-i+1;j++)
{ printf(“%2c”,ch);
___[17]____;
}
【18】
}
}
else printf(“n is too large!\n”);
printf(“\n”);
}
16)以下程序中函数fun的功能是:构成一个如图所示的带头结点的单向链表,在结点数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。
#include
typedef struct node /*链表结点结构*/
{ char sub[3];
Struct node *next;
}Node;
Node fun(char s) /*建立链表*/
{ …… }
void disp(Node *h)
{
Node *p;
p=h->next;
While(【19】)
{
printf(“%s\n”,p->sub); p=【20】;}
}
main()
{
Node *hd;
hd=fun(); disp(hd); printf(“\n”);
}