2.
下面程序实现将一个字符串倒置的功能,编写程序,从键
strcpy(arr1,arr);
daozhi(arr);
盘接受一个字符串,利用给出的函数daozhi判定输入的字符串是否为回文。
倒置是指将字符串中的字符按相反顺序排列,如abcde倒置后变为edcba。所谓回文是指正序和反序字符排列方式相同的字符串,如abcDcba是回文。
字符串倒置的函数如下:
printf(\ if(strcmp(arr,arr1) == 0)
else
printf(\ }
return 0;
printf(\
void daozhi(char str[])
{int i,k,n;
char c,*s=str;
for (n=0;s[n]!='\\0';n++); /*
统计串长*/
n--; /* 最后一个字符位置*/
printf(\ for (i=0;i<=n/2;i++) { c=str[i];
str[i]=str[n-i]; str[n-i]=c; } }
提示:使用字符串函数strcpy和strcmp。
#include
{
int i,n;
char c,*s = str;
for(n = 0;s[n] != '\\0';++n) ; // n = strlen(str); --n; //
printf(\
4.设有下列矩阵:
1261014371115481216 A =
5913
编写程序,用二维数组存储矩阵元素,从键盘输入数据,将矩阵转置后按行输出。
#include
enum {rows = 4,columns = 4}; int main()
{
int
i,j,arr[rows][columns],arr1[rows][columns];
for(i = 0;i < rows;++i) for(j = 0;j < columns;++j) scanf(\ putchar('\\n');
printf(\ for(i = 0;i < rows;++i) { }
for(j = 0;j < columns;++j) printf(\putchar('\\n');
for(i = 0;i <= n / 2;++i) { } } int main()
{
char arr[NUM],arr1[NUM]; int i = 0;
printf(\
c = s[i]; s[i] = s[n-i]; s[n-i] = c;
for(i = 0;i < rows;++i) for(j = 0;j < columns;++j) arr1[j][i] = arr[i][j]; printf(\ for(i = 0;i < rows;++i)
{for(j = 0;j < columns;++j) printf(\ }
putchar('\\n');
scanf(\
6
return 0;
}