/***********SPACE***********/ *(【?】+i)=1;
/***********SPACE***********/ *(p[i]+5-(【?】))=1; }
for(i=0;i<5;i++) {
for(j=0;j<5;j++)printf(\/***********SPACE***********/ 【?】; } }
答案:1). &a[i][0];2). p[i]
3). i+1 或 1+i;4). putchar('\\n'); 功能:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和以及0的个数,n通过scanf()函数输入。 main() {
int r=1,s=0,t=0,n,a,i;
printf(\for(i=1;i<=n;i++) {
printf(\
/***********SPACE***********/ scanf(\【?】);
/***********SPACE***********/ if(【?】!=0)
/***********SPACE***********/ 【?】=a; else if(a!=0)
/***********SPACE***********/ s+=【?】; else t++; }
printf(\}
答案:1). &a;2). a%2;3). r*;4). a*a 功能:以下程序的功能如(图1)。 /***********SPACE***********/ 【?】 main() {
float x,f;
scanf(\
/***********SPACE***********/ if(x<0) 【?】;
/***********SPACE***********/ else if(【?】) f=2*x+1; else
f=sin(x)+5;
/***********SPACE***********/ printf(\【?】); }
答案:1). #include \或 #include
3). x<=5 或 5>=x 或 x<6 或 6>x 或 x>=0&&x<=5 或 0<=x&&x<=5 或
x>=0&&5>=x 或 0<=x&&5>=x 或 !(x>5) 4). x,f
功能:编程求某年第n天的日期。用数组表示月天数。
-------------------------------------------------------*/ main() {
int y,m,f,n; int
a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf(\
scanf(\
/***********SPACE***********/
f=y%4==0&&y0!=0【?】y@0==0; /***********SPACE***********/ a[1]【?】f;
if(n<1||n>365+f) {
printf(\}
/***********SPACE***********/
for(m=1;m【?】a[m-1];n-=a[m-1],m++); printf(\}
答案: 1). ||
2). += 或 =a+ 3). >
功能:一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。 main( ) {
int i,n,a ; i=0 ; while(1) {
if(i%8==1) { n=i/8 ; if(n%8==1) {
n=n/8 ;
/***********SPACE***********/ if(n%8==7) 【?】 ; } }
if(i==4) {
n=i/17 ;
if(n==15) n=n/17 ; }
if(2*a==n) {
printf(\
/***********SPACE***********/ 【?】 ; }
/***********SPACE***********/ 【?】; } }
答案:1). a=n/8;2). break 3). i++ 或 ++i 或 i=i+1
功能:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!结束。 #include \main()
{
FILE *fp;
char str[100],filename[10]; int i=0;
if((fp=fopen(\{
printf(\exit(0); }
printf(\gets(str);
/***********SPACE***********/ while(【?】) {
if(str[i]>='a'&&str[i]<='z')
/***********SPACE***********/ 【?】;
fputc(str[i],fp); i++; }
fclose(fp);
/***********SPACE***********/ fp=fopen(\【?】); fgets(str,strlen(str)+1,fp); printf(\fclose(fp); }
答案:1). str[i] != '!';2). str[i]=str[i]-32 或 str[i]= str[i] -32;3). \或 \或 \功能:将一个字符串中的前N个字符复制到一个字符数组中去,不许使用strcpy函数。main ( ) {
char str1[80],str2[80]; int i,n;
/***********SPACE***********/ gets(【?】); scanf(\
/***********SPACE***********/ for (i=0; 【?】 ;i++)
/***********SPACE***********/ 【?】;
/***********SPACE***********/ 【?】;
printf(\}
答案: 1). str1
2). i
3). str2[i]=str1[i] 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1[i] 或 str2[i]=*(str1+i)
4). str2[n]='\\0' 或 str2[i]='\\0' 或 str2[n]=0 或 str2[i]=0 或 *(str2+n)='\\0' 或
*(str2+i)='\\0' 或 *(str+n)=0 或 *(str2+i)=0 功能:产生并输出杨辉三角的前七行。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 main ( ) {
int a[7][7]; int i,j,k;
for (i=0;i<7;i++) {
a[i][0]=1;
/***********SPACE***********/ 【?】; }
for (i=2;i<7;i++)
/***********SPACE***********/ for (j=1;j<【?】;j++)
/***********SPACE***********/ a[i][j]= 【?】; for (i=0;i<7;i++) {
/***********SPACE***********/ for (j=0; 【?】;j++) printf(\printf(\} }
答案:1). a[i][i]=1;2). i
3). a[i-1][j]+a[i-1][j-1] 或 a[i-1][j-1]+a[i-1][j] 4). j<=i 或 i>=j 或 jj 或 j-1
或 i>j-1
功能:输出结果为: * * * * * * * * * * * * * * * * * * * * main() {
/***********SPACE***********/ static char 【?】={'*','*','*','*','*'}; int i,j,k;
char space=' '; for(i=0;i<5;i++) {
printf(\
/***********SPACE***********/ for(j=1;j<=3*i;j++)
printf(\【?】);
/***********SPACE***********/ for(k=0;k<【?】;k++) printf(\}
printf(\}
答案:1). a[5] 或 a[];2). space 或 ' ' 3). 5 或 =4
功能: 统计子字符串substr在字符串str中出现的次数。例如:若字符串为\lkaaas\,子字符串为\,则应输出2。若字符串为\,子字符串为\,则应输出3
#include
fun (char *substr,char *str) {
int i,j,k,num=0; for(i=0; str[i]; i++)
for(j=i,k=0;substr[k]==str[j];k++,j++) /***********SPACE***********/ if(substr[【?】]=='\\0') {
num++;
/***********SPACE***********/ 【?】; }
return num; }
main() {
char str[80],substr[80]; printf(\gets(str);
printf(\gets(substr);
/***********SPACE***********/ printf(\【?】); }
答案:1). k + 1;2). break;3). fun(substr,str) 功能:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 #define nmax 50 main() {
int i,k,m,n,num[nmax],*p;
printf(\scanf(\p=num;
/***********SPACE***********/ for(i=0;【?】;i++)
/***********SPACE***********/ *(p+i)=【?】; i=0; k=0; m=0;
while(m /***********SPACE***********/ if(【?】!=0) k++; if(k==3) { *(p+i)=0; k=0; m++; } i++; if(i==n) i=0; } /***********SPACE***********/ while(【?】) p++; printf(\} 答案:1). i 功能:计算并输出high以内最大的10个素数之和,high由主函数传给fun函数,若high的值为100,则函数的值为732。 #include int sum = 0, n=0, j, yes; /***********SPACE***********/ while ((high >= 2) && (【?】)) { yes = 1; for (j=2; j<=high/2; j++ ) /***********SPACE***********/ if (【?】) { yes=0; break; } if (yes) { sum +=high; n++; } high--; } /***********SPACE***********/ 【?】; } main ( ) { clrscr( ); printf(\} 答案:1). n<10 或 10>n 2). high%j == 0 或 !(high%j) 3). return sum 或 return (sum) 功能:将十进制数转换成十六进制数。 #include \#include \main () { int a,i; char s[20]; printf(\scanf(\c10_16(s,a); /***********SPACE***********/ for(【?】;i>=0;i--) printf(\printf(\} c10_16(char p[],int b) { int j,i=0; /***********SPACE***********/ while (【?】) { j=b; if(j>=0&&j<=9) /***********SPACE***********/ 【?】; else p[i]=j+55; b=b/16; i++; } /***********SPACE***********/ 【?】; } 答案:1). i=strlen(s)-1 或 i=-1+strlen(s) 2). b>0 或 0 4). p[i]='\\0' 或 p[i]=0 或 p[i]=NULL 或 *(p+i)='\\0' 或 *(p+i)=0 或 *(p+i)=NULL 功能:通过函数的递归调用计算阶乘。 long power(int n) { long f; if(n>1) /***********SPACE***********/ f=【?】; else f=1; return(f); } main() { int n; long y; printf(\/***********SPACE***********/ scanf(\【?】); y=power(n); /***********SPACE***********/ printf(\【?】); getch(); } 答案: 1). power(n-1)*n 或 power( n - 1 ) * n 或 n*power(n-1) 2). &n;3). power(n) 或 y 功能:三角形的面积为: area=sqrt(s*(s-a)*(s-b)*(s-c)).其中, s=(a+b+c)/2,a、b、c为三角形三条边的长。定义两个带参数的宏,一个用来求s,另一个用来求area。编写程序,在程序中用带参数的宏求面积area。 #include \ /***********SPACE***********/ #【?】 S(x,y,z)(x+y+z)/2 #define AREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z)) main() { float a,b,c,s,area; printf(\ /***********SPACE***********/ scanf(\【?】,&c); if(a+b>c&&b+c>a&&c+a>b) { /***********SPACE***********/ s=【?】; /***********SPACE***********/ area=【?】;