C语言程序设计答案杜友福版 下载本文

flag=0;

for(i=0;i<3;i++) for(j=0;j<4;j++)

if(a[i][j]<0)

{

flag=1;

printf(\

i=j=100; 编程将一个字符数组中的字母,按由大到小的顺序进行排序。

#include <> #include <> void main() {

char t,s[]=\ int i,j,n; puts(s); n=strlen(s); for(i=0;i

if(s[i]

{ t=s[i];s[i]=s[j];s[j]=t; }

puts(s); }

8. 输入一行字符,统计其中有多少个英语单词,单词之间用空格隔开。 #include <> #include <> void main() {

char s[81]; int w,i,n; gets(s); i=0;n=0;w=0; while(s[i]!='\\0') {

if(s[i]==' ')

w=0; /*end of a word*/

else

if(w==0)

{w=1;n++;} /*begin of a word*/

i++; }

printf(\ }

9. 编程将两个一维数组中的对应元素的值相减后进行输出。 #include <> #include <> void main() {

int i,a[10],b[10]; for(i=0;i<10;i++)

{ a[i]=rand()0; printf(\

printf(\ for(i=0;i<10;i++)

{ b[i]=rand()0; printf(\

printf(\

for(i=0;i<10;i++)

printf(\

printf(\ }

10. 有n个无序的数放在数组a中,请将相同的那些数删得只剩得一个,输出经过删除后的数据。

#include <> void main() {

int i,j,k,a[10]={90,20,40,30,50,50,50,50,20,80}; for(i=0;i<10;i++)

printf(\

printf(\ for(i=0;i<9;i++) for(j=i+1;j<10;j++)

if(a[j]==a[i])

{ a[j]=-888; }

k=0;

for(i=0;i<10;i++) if(a[i]!=-888)

{

printf(\

a[k++]=a[i];

} 求二维数组中这样一个元素的位置:它在行上最小,在列上也最小。如果没有这样的元素则输出相应的信息。 #include <> #include <>

void main() {

int j,i,k,flag,fz=0,a[4][5]; for(i=0;i<4;i++)

{

for(j=0;j<5;j++)

{

a[i][j]=rand()0;

printf(\ }

printf(\

}

for(i=0;i<4;i++)

{

for(j=0;j<5;j++)

{

flag=1;

for(k=0;k<5;k++)

if(a[i][k]

for(k=0;k<4&&flag;k++)

}

if(a[k][j]

if(flag)

{ fz++; printf(\ }