题目:
使指定的的一个3*3的二维型数组转置,即行列互换
例如 1 2 3 转置后1 4 7
4 5 6 2 5 8
7 8 9 3 6 9
思路:
添加一个相同维数的数组进行逆置
代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int arr2[3][3], i, j, temp;
//从键盘输入二维数组的元素值
printf("arr:\n");
for ( i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%5d", arr[i][j]);
arr2[j][i] = arr[i][j];
}
printf("\n");
}
printf("arr2:\n");
for (i = 0; i < 3; i++){
for (j = 0; j < 3; j++){
printf("%5d", arr2[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
结果:
题目:
写一个函数,将一个字符串中的原音字母复制到另一字符串然后输出
代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
char copy(char a[], char b[]){
int i, j, m;
m = strlen(a);
//找出一个字符数组的原音字母赋值给另一个字符数组
for (i = 0, j = 0; i < m; i++){
if (a[i] == 'a' || a[i] == 'A')
b[j++] = a[i];
else if (a[i] == 'e' || a[i] == 'E')
b[j++] = a[i];
else if (a[i] == 'i' || a[i] == 'I')
b[j++] = a[i];
else if (a[i] == 'o' || a[i] == 'O')
b[j++] = a[i];
if (a[i] == 'u' || a[i] == 'U')
b[j++] = a[i];
}
//在字符数组最后要人为地加上一个'\0'
b[j] = '\0';
}
int main(){
char a[10], b[10];
printf("please inter string:");
gets(a);
copy(a, b);
printf("show string:");
puts(b);
system("pause");
return 0;
}
结果: