一、程序填空题[ 在每对 /**/之间填写内容,完成题目的要求]
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!=
printf( “n=%d,
?\n?);
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
n++;
if(n%10==0)
“,x);
printf( “\n ”);
}
}
4、以下程序的功能是将输入字符串中所有的字符
如:输入: adklhjkyuer
输出: adlhjyuer
/**/#include /**/
void main( )
{ char str[100];
int /**/ i, j/**/ ;
printf( “Enter string:“);
gets(str);
for(i=j=0; str[i]!=?\0?; i++)
if(str[i] !=?k?)
?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;
}while(/**/ b%11 /**/ );
a=13*i;
printf( “%d+%d=316\n”,a,b);
getch( );
}
6、以下程序中的 fun 函数用以输出一个数除 1 和本身外的所有因子,如无因子,则提示为素数。
/**/ void /**/ fun( int x)
{int i, mark=0;
for(i=2; i<=x/2; i++)
if(/**/ x%i /**/ ==0)
{printf( “%2d“,i);
mark=1;
}
if(mark==0)
printf( “%d is a prime number!”,x);
printf( “\n”);
}
void main( )
{ int a;
printf(