将下列代码中数组初始化改为用户scanf输入#include <stdio.h> #define ROW 3 #define COL 3 void sztj(); void waty(); void nqst(); void nujs(); void okoj(); void zzpj(); void jijj(); int main() { char ch; abc: printf("******数组应用系统*******\n"); printf("1.定义数组并输入\n
时间: 2023-08-14 07:03:52 浏览: 147
请输入一个3*3的整数数组:\n");
int arr[ROW][COL];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
scanf("%d",&arr[i][j]);
}
}
printf("2.数组输出\n");
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
printf("\n");
printf("3.数组的转置\n");
sztj(arr);
printf("4.数组的位移\n");
waty(arr);
printf("5.数组的逆序\n");
nqst(arr);
printf("6.数组的倒置\n");
nujs(arr);
printf("7.数组的扎扎平\n");
zzpj(arr);
printf("8.数组的基偶交换\n");
jijj(arr);
printf("是否继续执行程序(Y/N)?");
scanf(" %c",&ch);
if(ch=='Y'||ch=='y'){
goto abc;
}
else{
printf("程序结束!");
}
return 0;
}
void sztj(int arr[][COL]){
int new_arr[COL][ROW];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[j][i]=arr[i][j];
}
}
for(int i=0;i<COL;i++){
for(int j=0;j<ROW;j++){
printf("%d ",new_arr[i][j]);
}
printf("\n");
}
printf("\n");
}
void waty(int arr[][COL]){
int n;
printf("请输入位移的列数:\n");
scanf("%d",&n);
int new_arr[ROW][COL];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[i][(j+n)%COL]=arr[i][j];
}
}
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
printf("%d ",new_arr[i][j]);
}
printf("\n");
}
printf("\n");
}
void nqst(int arr[][COL]){
int new_arr[ROW][COL];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[ROW-1-i][COL-1-j]=arr[i][j];
}
}
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
printf("%d ",new_arr[i][j]);
}
printf("\n");
}
printf("\n");
}
void nujs(int arr[][COL]){
int new_arr[ROW][COL];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[ROW-1-i][j]=arr[i][j];
}
}
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
printf("%d ",new_arr[i][j]);
}
printf("\n");
}
printf("\n");
}
void zzpj(int arr[][COL]){
int new_arr[ROW*COL];
int k=0;
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[k++]=arr[i][j];
}
}
for(int i=0;i<ROW*COL;i++){
printf("%d ",new_arr[i]);
}
printf("\n\n");
}
void jijj(int arr[][COL]){
int new_arr[ROW][COL];
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
new_arr[i][j]=arr[i][j];
}
}
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
if(new_arr[i][j]%2==0){
new_arr[i][j]=new_arr[i][j]/2;
}
else{
new_arr[i][j]=new_arr[i][j]*2;
}
}
}
for(int i=0;i<ROW;i++){
for(int j=0;j<COL;j++){
printf("%d ",new_arr[i][j]);
}
printf("\n");
}
printf("\n");
}
阅读全文