资产管理公司网站建设费用怎么入账,探测网站是什么程序做的,西安今晚12点封城吗,做网站怎么赚零花钱#x1f436;博主主页#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️#x1f525;专栏系列#xff1a;线性代数#xff0c;C初学者入门训练 #x1f525;座右铭#xff1a;“不要等到什么都没有了#xff0c;才下定决心去做” #x1f680;#x1f680;#x1f680;大家觉不错… 博主主页ᰔᩚ. 一怀明月ꦿ ❤️专栏系列线性代数C初学者入门训练 座右铭“不要等到什么都没有了才下定决心去做” 大家觉不错的话就恳求大家点点关注点点小爱心指点指点 题目BC139矩阵交换 难度中等 输入描述 第一行包含两个整数n和m表示一个矩阵包含n行m列用空格分隔。 (1≤n≤10,1≤m≤10)从2到n1行每行输入m个整数范围-231~231-1用空格分隔共输入n*m个数表示第一个矩阵中的元素。接下来一行输入k表示要执行k次操作1≤k≤5。接下来有k行每行包括一个字符t和两个数a和b中间用空格格分隔t代表需要执行的操作当t为字符r时代表进行行变换当t为字符c时代表进行列变换a和b为需要互换的行或列1≤a≤b≤n≤101≤a≤b≤m≤10。 提示当t为别的字符时不需要处理 事例1 输入 2 2
1 2
3 4
1
r 1 2输出 3 4
1 2 事例2 输入 2 2
1 3
6 8
2
c 1 2
t 1 2输出 3 1
8 6 说明当t为别的字符时不需要处理所以只交换了原矩阵的第1列和第2列。 解题思路我们可以通过两个数进行交换值举一反三交换两个数的值需要用临时变量保存其中一个值矩阵行列交换时也是一样创建一个数组长度和和列数相等长度和行数相等去保存所要交换行的数据列的数据这样就可以实现矩阵的行列交换了 解题详细过程
#includestdio.h
int main(){int n0,m0;printf(请输入矩阵\n);scanf(%d %d,n,m);int k0;int arr[n][m];printf(请输入矩阵\n);for(int i0;in;i){for(int j0;jm;j){scanf(%d,arr[i][j]);}}printf(请输入操作几次\n);scanf(%d,k);int a0,b0;while(k--){char temp0;getchar();//因为scanf输入数据时会在缓冲区留下回车的数据所以得用getchar()清除printf(请输入操作符\n);scanf(%c,temp);getchar();//因为scanf输入数据时会在缓冲区留下回车的数据所以得用getchar()清除printf(请输入操作行列数\n);scanf(%d %d,a,b);int brr[m];//由于C99是支持变长数组的创建数组用于保存a行的数据if(tempr){for(int i0;im;i){brr[i]*(arr[a-1]i);}for(int i0;im;i){*(arr[a-1]i)*(arr[b-1]i);}for(int i0;im;i){*(arr[b-1]i)brr[i];}}int crr[n];//由于C99是支持变长数组的创建数组用于保存a列的数据if(tempc){for(int i0;in;i){crr[i]arr[i][a-1];}for(int i0;in;i){arr[i][a-1]arr[i][b-1];}for(int i0;in;i){arr[i][b-1]crr[i];}}}for(int i0;in;i){for(int j0;jm;j){printf(%d ,arr[i][j]);}printf(\n);}return 0;
} 题目BC158回文数 难度中等 描述 若一个数首位不为零从左向右读与从右向左读都一样我们就将其称之为回文数。 例如给定一个10进制数56将56加65即把56从右向左读得到121是一个回文数。 又如对于10进制数87 STEP18778 165 STEP2165561 726 STEP3726627 1353 STEP413533531 4884 在这里的一步是指进行了一次N进制的加法上例最少用了4步得到回文数4884。 写一个程序给定一个N2N10或N16进制数M100位之内求最少经过几步可以得到回文数。如果在30步以内包含30步不可能得到回文数则输出“Impossible!” 进制N10时使用大写A字母表示10B表示11,...,F表示15 输入描述 两行分别为N,M 输出描述 STEPans 事例1 输入 9
87 输出 STEP6 解题思路首先得把输入的不是十进制的数转换为十进制的数然后实现一个函数去求它的回文数 解题详细过程
#includestdio.h
#includemath.h
#includestring.h
int judge(long p){long q0;long nump;long mulp;int count0;while(num){numnum/10;count;}while(p){q(p%10)*pow(10,count-1);count--;p/10;}if(mulq){return 1;}return 0;
}
void HuiWen(long p){long q0;int flag0;for(int i0;i30;i){long nump;int count0;while(num){numnum/10;count;}while(p){q(p%10)*pow(10,count-1);count--;p/10;}pqp;printf(p%ld\n,p);int retjudge(p);if(ret1){printf(STEP%d\n,i);flag1;break;}}if(flag0){printf(Impossible!\n);}
}
int main(){printf(请输入进制数\n);int N0,M0,i0;scanf(%d,N);long P0;if(N10N1){//小于10进制的数printf(请输入操作数\n);scanf(%d,M);while(M){P(M%10)*pow(N,i);i;M/10;}HuiWen(P);}else if(N10N16){//大于10的进制数printf(请输入操作数\n);char arr[100]{0};getchar();gets(arr);int ret(int)strlen(arr);printf(操作数长度为);printf(ret%d \n,ret);for(int k0;kret;k){if(70arr[k]||arr[k]65){P(arr[k]-48)*pow(N,ret-k-1);}else{P(arr[k]-55)*pow(N,ret-k-1);}}printf(p的值为%ld\n,P);HuiWen(P);}else{printf(只能计算216进制的数\n);}return 0;
}如果大家还有不懂或者建议都可以发在评论区我们共同探讨共同学习共同进步。谢谢大家