c语言程序设计第六章答案谭浩强.doc
文本预览下载声明
将一个数组中的值按逆序重新存放.例如原来顺序为:8,6,5,4,1
要求改为:1,4,5,6,8
main()
{ int a[5],i,temp;
printf(enter a array:\n);
for(i=0;i5;i++)
scanf(%d,a[i]);
printf(array a:\n);
for(i=0;i5;i++)
printf(%4d,a[i]);
for(i=0;i5/2;i++)
{ temp=a[i];
a[i]=a[5-i-1];
a[5-i-1]=temp;
printf(\n now,array a:\n);
for(i=0;i5;i++)
printf(%4d,a[i]);
printf(\n);
}
有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中
英文大写字母、小写字母、数字、空格以及其他字符个数.
main()
{ int i,j,upp,low,dig,spa,oth;
char text[3][80];
upp=low=dig=spa=oth=0;
for(i=0;i3;i++)
{ printf(\n please input line %d:\n,i+1);
gets(text[i]);
for(j=0;j80text[i][j]!=\0;j++)
{ if(text[i][j]=Atext[i][j]=Z)
upp++;
else if(text[i][j]atext[i][j]z)
low++;
else if(text[i][j]=0text[i][j]=9)
dig++;
else if(text[i][j]== )
spa++;
else
oth++;
}
}
for(i=0;i3;i++)
printf(%s\n,text[i]);
printf(upper case: %d\n,upp);
printf(lower case: %d\n,low);
printf(digit: %d\n,dig);
printf(space: %d\n,spa);
printf(other: %d\n,oth);
}
打印以下图案:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
main()
{ char a[5]={*,*,*,*,*};
int i,j,k;
char space= ;
for(i=0;i5;i++) /*输出5行*/
{ printf(\n); /*输出每行前先换行*/
printf( ); /*每行前面留4个空格*/
for(j=1;j=i;j++)
printf(%c,space); /*每行再留1个空格*/
for(k=0;k5;k++)
printf(%c,a[k]); /*每行输出5个*号*/
}
}
有一行电文,已按下面规律翻译成密码:
A--Z a--z
B--Y b--y
C--X c--x
. .
即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母
字符不变。要求编程将密码译成原文,并打印出密码和原文。
#includestdio.h
main()
{ int j,n;
char ch[80],tran[80];
printf(\ninput cipher code:);
gets(ch);
printf(\n\cipher code:%s,ch);
j=0;
while(ch[j]!=\0)
{ if((ch[j]=A)(ch[j]=Z))
tran[j]=155-ch[j];
else if((ch[j]=a(ch[j]=z))
tran[j]=219-c
显示全部