一、程序填空题[在每对/**/之间填写内容,完成题目的要求]
1、以下程序用以实现:输入运算标志m和圆的半径r,按照运算标志进行指定运算。
运算标志 运算
a 圆的面积
c 圆的周长
b 二者都计算
#define PI 3.1415926
void main( )
{ /**/ char /**/ m;
float r, a, c;
printf(“Input mark a or c or b and r: “);
scanf(“%c %f”, &m, &r);
if(((m==’a’) || (m==’c’) || (m==’b’)) && r>=0)
{if(m==’a’)
{a=PI*r*r;
printf(“area is %f\n”,a);
}
else if(/**/ m==’c’ /**/ )
{c=2*PI*r;
printf(“circle is %f\n”,c);
}
else
{ a=PI*r*r;
c=2*PI*r;
printf(“area is %f, circle is %f\n”, a, c);
}
}
else
printf(“Data are error!\n”);
}
2、以下程序用以统计键盘输入字符串中所有字符个数n和元音字符个数v。
#include
void main( )
{char c;
int n=0, v=0;
/**/ do /**/
{switch( c=getchar() )
{ case ‘a’: case ‘A’:
case ‘e’: case ‘E’:
case ‘i’: case ‘I’:
case ‘o’: case ‘O’:
case ‘u’: case ‘U’:
v++;
/**/ default: /**/
n++;
}
}while(c!=’\n’);
printf(“n=%d, v=%d\n”,n,v);
getch( );
}
3、以下程序用以查找1-100之间含有3或7数字的所有整数,并按每行最多打印10个数的形式输出。
int find(/**/ int y /**/)
{int a, flag=0;
while(y!=0)
{a=/**/ y%10 /**/;
if((a==3) || (a==7))
{flag=1;
break;
}
y=y/10;
}
return /**/ flag /**/;
}
void main( )
{ int x ,n=0;
for(x=1; x<100; x++)
if(find(/**/ x /**/))
{printf(“%2d “,x);
n++;
if(n%10==0)
printf(“\n”);
}
}
4、以下程序的功能是将输入字符串中所有的字符 ’k’ 删除。
如:输入:adklhjkyuer
输出:adlhjyuer
/**/ #include /**/
void main( )
{ char str[100];
int /**/ i, j /**/ ;
printf(“Enter string: “);
gets(str);
for(i=j=0; str[i]!=’\0’
if(str[i] != ’k’)
{str[j]=str[i];
/**/ j++ /**/;
}
str[j]=’\0’
printf(“Now sting is :”);
puts(str);
}
5、以下程序用以输出两个正整数a和b,并满足a能被13整除,b能被11整除,且a与b之和为316。
#include
void main( )
{int i=0, a, b;
do
{ i++;
b=316-13*i