#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
int a[5][5] = {};
int m, n;
int i,j,temp;
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
scanf("%d",a[i][j]);
printf("%d\n",&a[i][j]);
}
printf("\n");
}
printf("输入交换行m,n的值:\n");
scanf("%d,%d",&m,&n); //注意要交换的行数,与数组内m,n相差1
m=m-1;
n=n-1; //不可使用 m--,n--,因为系统会认为没赋值便执行运算
for(i=0;i<5;i++){
temp = a[m][i];
a[m][i] = a[n][i];
a[n][i] = temp;
}
printf("输出:\n");
for(i = 0;i < 5;i++)
{
for(j = 0;j < 5;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
}
无法完成for循环内通过scanf函数对二位整形数组赋值(应该是scanf出问题了,求修正)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 谛凌 2022-03-10 10:48关注
给你改好了
确实是scanf#include<stdio.h> #include<math.h> #include<stdlib.h> int main(){ int a[5][5] = {}; int m, n; int i,j,temp; for(i = 0;i < 5;i++) { for(j = 0;j < 5;j++) { scanf("%d",&a[i][j]); //这里取地址 printf("%d\n",a[i][j]); //这里不取地址 } printf("\n"); } printf("输入交换行m,n的值:\n"); scanf("%d,%d",&m,&n); //注意要交换的行数,与数组内m,n相差1 m=m-1; n=n-1; //不可使用 m--,n--,因为系统会认为没赋值便执行运算 for(i=0;i<5;i++){ temp = a[m][i]; a[m][i] = a[n][i]; a[n][i] = temp; } printf("输出:\n"); for(i = 0;i < 5;i++) { for(j = 0;j < 5;j++) { printf("%d",a[i][j]); } printf("\n"); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库
- ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
- ¥15 请问怎么才能复现这样的图呀