break;
if(k==N)/*得到鞍点*/
{printf("thepointis%d,row=%d,col=%d\n",max,row,col);break;}
}
if(i==N)/*没有鞍点*/
printf("nopoint\n");
}
7.#include"stdio.h"
main()
{intnum=0,word=0;
/*word=0表示未出现单词,如出现单词就置word为1.num用来统计单词个数*/
charc;
printf("pleaseinputastring:
\n");
while((c=getchar())!
='\n')
if(c=='')
word=0;
elseif(word==0)
{word=1;num++;}
printf("Thereare%dwordsintheline\n",num);
}
8.#include"stdio.h"
main()
{inti,j,uppn,lown,dign,span,othn;
/*uppn,lown,dign,span,othn分别存放英文大写字母、小写字母、数字、空格和其他字符的个数*/
chartext[3][80];
uppn=lown=dign=span=othn=0;
for(i=0;i<3;i++)
{gets(text[i]);
for(j=0;j<80&&text[i][j]!
='\0';j++)
{if(text[i][j]>='A'&&text[i][j]<='Z')
uppn++;
elseif(text[i][j]>='a'&&text[i][j]<='z')
lown++;
elseif(text[i][j]>='0'&&text[i][j]<='9')
dign++;
elseif(text[i][j]=='')
span++;
else
othn++;
}
}
for(i=0;i<3;i++)
printf("%s\n",text[i]);
printf("uppn=%d\n",uppn);
printf("lown=%d\n",lown);
printf("dign=%d\n",dign);
printf("span=%d\n",span);
printf("othn=%d\n",othn);
}
9.#include"stdio.h"
main()
{inti,j;
charstr1[20],str2[20];
printf("inputtwostrings:
\n");
gets(str1);
gets(str2);
j=strlen(str1);/*求字符串1的长度*/
for(i=0;str2[i]!
='\0';i++,j++)/*字符串合并*/
str1[j]=str2[i];
str1[j]='\0';/*加上字符串结束标志*/
puts(str1);
}
10.#include"stdio.h"
main()
{inti,n;
charstr1[20],str2[20];
printf("inputtwostrings:
(nomorethan20characters)\n");
gets(str1);gets(str2);
n=strlen(str1)strlen(str1):
strlen(str2);/*n中存放较短字符串的长度*/
for(i=0;iprintf("%d\n",str1[i]-str2[i]);
}
第六章函数与编译预处理
一、单项选择题
1.C2.B3.B4.B5.A6.B7.A8.C9.D10.A
二、写出下列程序的运行结果
1.9
2.4,B
8,B
3.-4.000000
4.a=6,b=5
5.48
三、编程题
1.main()
{intprime(intn);
intn;
printf("inputn(n>0):
\n");
scanf("%d",&n);
if(prime(n))
printf("%disasushu\n",n);
elseprintf("%disnotasushu\n",n);
}
intprime(intn)
{intflag=1,i;
for(i=2;i<=n/2&&flag==1;i++)
if(n%i==0)flag=0;
return(flag);
}
2.
#defineN3
convert(intarray[3][3])
{inti,j,t;
for(i=0;ifor(j=i+1;j{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
main()
{inti,j;
inta[N][N];
printf("inputa:
\n");
for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);
printf("Arraya:
\n");
for(i=0;i{for(j=0;jprintf("%5d",a[i][j]);
printf("\n");
}
convert(a);
printf("adezhuanzhiis:
\n");
for(i=0;i{for(j=0;jprintf("%5d",a[i][j]);
printf("\n");
}
}
3.#include
#include
main()
{charstr[100];
printf("inputastring:
\n");
gets(str);
inverse(str);
printf("thereversedstringis:
%s\n",str);
}
inverse(charstr[])
{
chart;
inti,j;
for(i=0,j=strlen(str)-1;i{
t=str[i];
str[i]=str[j];
str[j]=t;
}
}
4.#include
concat(charstr1[],charstr2[])
{inti=0,j;
while(str1[i]!
='\0')
i++;
for(j=0;str2[j]!
='\0';i++,j++)
str1[i]=str2[j];
str1[i]='\0';
}
main()
{
charstr1[100],str2[100];
gets(str1);gets(str2);
concat(str1,str2);
puts(str1);
}
5.main()
{charstr[80];
printf("inputastring(4geshuzizifu):
\n");
scanf("%s",str);
insert(str);
printf("resultis:
\n%s\n",str);
}
insert(charstr[])
{
inti;
for(i=strlen(str);i>0;i--)
{
str[2*i]=str[i];
str[2*i-1]='';
}
}
6.#include"stdio.h"
inti,ndight,nwhite,nletter,nother;
count(charstr[])
{
ndight=nwhite=nletter=nother=0;
for(i=0;str[i]!
='\0';i++)
if(str[i]>='0'&&str[i]<='9')
ndight++;
elseif((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))
nletter++;
elseif(str[i]=='')
nwhite++;
elsenother++;
}
main()
{
chartext[80];
printf("inputastring:
\n");
gets(text);
count(text);
printf("ndight=%d,nletter=%d,nwhite=%d,nother=%d\n",ndight,nletter,nwhite,nother);
}
7.#defineN10
#include
sort(charstr[])
{inti,j;
chart;
for(i=1;ifor(j=0;jif(str[j]