#include main()
{
char c[81],i=0,j,z=0;
while(i<81)
{
c[i]=getchar();
if(c[i]==\n)break;
i++;
}
j=i/2;
while(j>0)
{
if(c[j-1]!=c[i-j])z=1;
j--;
}
if(z==0)putchar(Y);else putchar(N);
return 0;
}
[题目1122:字符串的合并]
从键盘输入3个字符串(每个字符串以回车符做为结束标志),将3个字符串以输入先后顺序合并到字符串s中,请填空使用程序完整。
#include"stdio.h"
#include"string.h"
main()
{
chars[100]="";
chara[30];
gets(a);strcat(s,a);
gets(a);strcat(s,a);
gets(a);strcat(s,a);/*可以写多行代码*/
printf("%s",s);
}
答案
$block1$
gets(a);strcat(s,a);
gets(a);strcat(s,a);
gets(a);strcat(s,a);
$end1$
[题目1083:编写函数计算阶乘]
下面程序实现由键盘读入整数n,计算并输出n!,请补充完整计算阶乘的函数。
longfanc(inta)
{
longi,n=1;
for(i=1;i<=a;i++)
n=n*i;
returnn;
}
voidmain()
{
intn;
scanf("%d",&n);25
printf("%ld",fanc(n));
}
答案
$block1$
long fanc(int a)
{
long i,n=1;
for(i=1;i<=a;i++)
n=n*i;
return n;
}
$end1$
[题目1124:函数中的变量]
写出下面程序的运行结果:
intf1(intx)
{
staticintz=3,y=0;
y++;
z++;
return(x+y+z);
}
main()
{
inta=1,k;
for(k=0;k<3;k++)printf("%4d",f1(a));
}
答案
$line1$
6 8 10
[题目1059:函数定义]
下面是使用辗转相除法,求最大公约数的程序,请补充完整程序中函数的定义与调用。
#include
"stdio.h"
intf(intm,intn)
{
intr;
while((r=m%n)!=0)
{
m=n;
n=r;
}
returnn;
}
main()
{
inta,b,n;
scanf("%d%d",&a,&b);
printf("%d\n",
f(a,b));
}
答案
$line1$
int f(int m, int n)
$line2$
f(a, b)