C语言,这题怎么做,初级著名学者遭遇车祸不懂啊😄

C语言编程题 啊位大侠帮我写个代码看下 这题考试做了2小时也没弄出来现在我想死明白些_百度知道
C语言编程题 啊位大侠帮我写个代码看下 这题考试做了2小时也没弄出来现在我想死明白些
int b[][2],并打印,并打印,b的值在主函数中输入,int c[][2])矩阵a。要求用函数实现
Multi(int a[][3],求这两个矩阵相乘后的2×2矩阵c题目描述有2×3的矩阵a和3×2的矩阵b。输入2×3的矩阵a和3×2的矩阵b输出这两个矩阵相乘后的2×2矩阵c
提问者采纳
j&n&n& j++){scanf(&}}
Multi(a;for(i=0,int c[][2]){int i,j; i++){for(u=0;/;\t&}printf(&for(i=0;/ u&2; i&3;}return 0;%d&#92,0; i&}int main(){int a[2][3],&b[i][j]);2; i&2;}}for(i=0;/&#47,0}:\ u++){for(j=0;}printf(&/,j;/j&%d&j& i++)/3;);输入2×3的矩阵a{for(j=0;%d&输入 3×2的矩阵b{for(j=0;); j++){c[i][u] += a[i][j]*b[j][u],c[i][u]),0; j++){scanf(&2×3的矩阵aint b[3][2];;return 0;3×2的矩阵bint c[2][2]={0;/&#47,int b[][2],&a[i][j]);printf(&3;请输入2×3的矩阵a和3×2的矩阵b,c);2,u,b# include&int
Multi(int a[][3];两个矩阵相乘后的2×2矩阵c i++)&#47.h&gt
提问者评价
谢了老师,我算服了
其他类似问题
为您推荐:
c语言编程的相关知识
其他1条回答
html" target="_blank">http.html多看看百度知道呀.com/question/://zhidao.baidu:///question/自己多找找嘛<a href="http
那代码是错的
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言“字符串大整数加法”这题怎么做?_百度知道
C语言“字符串大整数加法”这题怎么做?
输入:在实际的工程应用中常常出现超过系统整型数据类型表示范围的大整数,所以有必要研究大整数在程序中的处理方法:654321。请编制程序实现功能请按要求帮我编下程序,654321答案,9答案:5308642输入:利用字符数组实现两个大整数的加法
请务必于6月14日18:00之前回答。
提问者采纳
&&;&&nbsp,0;&&}&&&&&&&&=0,0;&&memset(str1;j=0;&&&&&&i--)&&&&&&&&&&&&&&nbsp?len1;&&&&{&&&nbsp,然后就和手工算法一样依次相加;&&&&&&nbsp,sizeof(num2));}/*&&len1=strlen(str1);for(i=max-1;&&&&&&&&&nbsp#include&&&&//产生进位&&&&&&&&&&&&100int&&nbsp,str1),len2;&&*过程如下;&&&&&&&&nbsp,先将这两个&&max=len1&MAXD&for(i=len1-1;num2[i]+=num1[i];&&}&&&&nbsp,sizeof(str2));&&&&&/*字符串反转并且转换为数字保存到数组里面*/&len2=strlen(str2);&&&&&&&&&&//用于保存键盘输入的两个待加大整数&main(){&&&&0&#39,str2);&&&&&&&&&&&nbsp,sizeof(num1));i&&&&&&&&&&&&str1[MAXD];\n&&//如果最高位产生进位&&&0&#39,num2[i]);&num1[MAXD];&&{&nbsp:len2;#include&&&=10)&memset(num1;&&nbsp,num2[max]);i--)&&&i&&&&&&&&&&nbsp,sizeof(str1));&&&&&&&&&&while(1)&&&;;&;&scanf(&&&&&&&&&&&&&&&printf(&&&&&&nbsp,j;&&&&&=0;&&&&&&&&;&i&&&&nbsp,假设输入两个字符串7654;&&&&&&&&&&&&&&&char&&&);&&int&scanf(&;&&&}&&&&*字符串逆转并且分位保存到两个整型数组里面(因为做加法时&j=0;&&&&&&&&&&nbsp。&&&&&&//相加&&&nbsp,0;&&&&&&&&memset(num2,i;&&&len2;&%d&*从低位开始相加);int&&&nbsp.h&&nbsp,num2[MAXD];#define&&&&&&&i&num2[i]-=10;memset(str1;num2[i+1]+=1;&&&nbsp,0;&&&&&nbsp,str2[MAXD];&&&&return&i++)&&&&&&&&&&&&printf(&%s&&//将这些数组清零&&&i--)&&&int&&%s&{&0;=0;&&&&num1[j++]=str1[i]-&#39;&&&printf(&&%d&&len1;if(num2[i]&for(i=len2-1;&&&for(i=0;&&num2[j++]=str2[i]-&#39;&&if(num2[max])&stdio.h&gt
提问者评价
来自团队:
其他类似问题
为您推荐:
字符串的相关知识
其他3条回答
include&&=&=&str1[1000];0;%s&quot#& str3[k3]&=&=&nbsp,i;j++)
result[j]&strlen(str2);i--) {
result2[c++]&nbsp,str1;0;i++) {
temp&=&0; //puts(str3); c&
for(i=0;1;str3[1000];temp+48;0,result2); char&include&=&=&=&nbsp,%s&str3[j]+c;0; k2& for(i=k1-1;0;=&}&main(){ char&str4[j];=0.h&result[1000],str2[1000];& } result2[c]&(str3[i]-48)+(str4[i]-48)+c;
return&nbsp,strlen(str1);=0;
} if(k3& char&
c&str2[i];=&=&k1; for(i=strlen(result)-1;
} } else {
for(j=i;0;result2[1000]; //puts(result).h&
c&=&nbsp,str2);0; printf(&=&str3[j];=&0;str4[j]+c;=&int&str3[i]&
result[i]&=&=&nbsp,c&i&gt,k4& char&nbsp,k3&result[i];
if(temp&=&i--)
str4[k4++]&i& scanf(&&0,str4[1000];;i--)
str3[k3++]&nbsp,j;=&temp-10+48; int& for(i=k2-1;str1[i];
c&nbsp,k2;
result[j]&0;=0;=&%s;0;=&;k4) {
for(j=i; k1&str4[i];i& //puts(str4); str4[k4]&10)
result[i]&j++)
result[j]&=&#&nbsp
#include&stdio.h&
#include&string.h&
#define &a href=&/s?wd=MAX&tn=_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3nHndPj79PHTkrjRzPW9B0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPWmYrjbsPWmsnjDLPWmznW0& target=&_blank& class=&baidu-highlight&&MAX&/a&D 100
int main()
char str1[&a href=&/s?wd=MAX&tn=_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3nHndPj79PHTkrjRzPW9B0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1DLPWmYrjbsPWmsnjDLPWmznW0& target=&_blank& class=&bai...
分长一倍,会有好多人来抢着做啊我的想法是定义来好字符串
a[N],b[N],c[N],再定义一个 flag标记是不是进位,初始值是零反转顺序,比如输入的是
123456,反转后变成
654321就是让个位数刚好在
a[0]位置for循环,直到两个数都到最高位tmp=a[i]+b[i]-&#39;0&#39;-&#39;0&#39;;c[i]=tmp%10+flagflat=tmp/10最后再反回来
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁在c语言中,下面这题的答案是3,5,3,5,不知道为什么_百度知道
在c语言中,下面这题的答案是3,5,3,5,不知道为什么
%d&quot,*q);%d;%d .h)void swap(int *a;printf(&quot,%d&b=t}main(){int i=3;,q),int *b){int *t;,&j),*p=&i;
t=a,*p;swap(p#include (stdio,*p;printf(&swap(&i,j=5;t=b,*q=&j,*q)
提问者采纳
*a=*b;t=b(是不是a=b写错了);t=*a;b=t 进行交换只是指针变量所存的地址值交换地址对应的存储空间的内容没有发生交换所以输出时不变如果改成int t a b t 均是指针变量t=a;*b=t
提问者评价
谢了啊,程序写的太匆忙了,有很多错误,真是不好意思啊。。
其他类似问题
为您推荐:
c语言的相关知识
其他11条回答
1、第一个因为传到函数中的形参是一个实参值的拷贝,所以对形参的操作在函数调用结束后不会对实参起任何作用1、第二个是因为传入的是实参的地址,在函数中是取出了这个地址里的值,然后进行操作,加、关或者交换会对实参有作用。第二个函数,你的变量t,就不能写成*t了。
你的题目没有打错吗?感觉很别扭啊
main()函数是程序的入口,这个要解释吗?
int i=3,j=5,*p=&i,*q=&j;
定义一个int型的i初始化为3,j初始化为5。指向int型的指针对象p地址为i的地址,指向int型的指针对象q地址为j的地址,这个要解释吗?
然后执行swap()函数,该函数接收两个指向int型对象的指针。然后在该函数中定义一个临时变量,该临时变量为一个指向int型的指针对象,叫t。
把a赋值给t,此时t为i的内存地址。然后把b赋值给t,此时t为j的内存地址。最后把t的指赋值给b,此时b还是原来的j的内存地址。然后就出这个函数了,什么都没有改变。
输出语句printf(&%d ,%d&,*p,*q);,把p q指向的对象的值打印出来,此时p q指向对象的值未发生改变,则打印出来还是原来的3 5。
再次执行swap()函数,该函数接收两个指向int型对象的指针。然后...
因为调用swap时相当于把传给swap的变量又复制了一份,在函数里对换的只是复制出来的指针变量的值,所以实际上没有交换的功能。要交换成功要么用*t=*a;*a=*b;*b=*t;要么将函数的变量声明成引用型,方法见这里而且你的函数写错了,应该是a=b而不是t=b
swap函数中指针变量a,b所存放的地址值没变!在调用函数时,函数实参的意义一样,都是将变量a,b的地址传送给形参
修改如下:注意 swap(int *a,int *b)中原先的 形参a和
实参p 的各自地址是不一样的即
那么 对a进行操作就无法影响到 p所以需要 指针的指针 void swap(int **a,int **b){int *t;t=*a;*a=*b;*b=t;}int main(int argc, char* argv[]){ int i=3,j=5,*p=&i,*q=&j; swap(&p,&q);printf(&%d ,%d&,*p,*q);// swap(&i,&j);printf(&%d,%d&,*p,*q); system(&pause&); return 0;} 第二种void swap(int *a,int *b){t=*a;*a=*b;*b=t;}int main(int argc, char* argv[]){ int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf(&%d ,%d&,*p,*q); swap(&i,&j);printf(&%d,%d&,i,j); system(&pause&); return 0;}
原因是swap(p,q);和swap(&i,&j);传回函数的都是地址,因此可以交换两者的值
楼上的几位是对的
你的程序有问题、第四行&t=a;t=b;b=t后面掉了一个“;”还有、你的头文件错了、应该是#include&stdio.h&不是圆括号;#include&&stdio.h&void&swap(int&*a,int&*b){int&*t;&&t=a;a=b;b=t;}main(){&&&&&&&&&&&int&i=3,j=5,*p=&i,*q=&j;&&&&&&&&&&&swap(p,q);&&&&&&&&&&&printf(&%d&,%d&,*p,*q);&&&&&&&&&&&swap(&i,&j);&&&&&&&&&&&printf(&%d,%d&,*p,*q);}这是将你的程序的语法错误改了一下、下面再给你分析为什么不能改变值、&&&&&&&&&&&&&a&&&&b&&&&&&&&&a&&&&b&&&&&&&&a&&&&b&&&&&&&&&a&&&&b&&&&&&&&&&&&&&&t&&&x&&&&y&&&t&&&x&&&&y&&&t&&&x&&&&y&&t&&&&x&&&&y&&&&&&&&&&&但是尽管函数中的两个值进行了交换、但传值调用&不回传参数的值、被调用函数执行结束后、调用函数中a和b的值没有改变、
swap()函数是自定义函数,标准的库函数里面并没有这个函数,它的作用是交换两个参数的地址。swap(p,q)和swap(&i,&j) 在这两个函数中,交换的是他们的地址,而他们本身的值并没=没有改变所以输出后还是 3,5
3,5。程序中有多处的错误。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言编程问题 ,这题怎么编_百度知道
c语言编程问题 ,这题怎么编
Input5个整数a,而凹进去的深度为 d, c 的长方体。Output输出两个整数,每一面中央都是凹进去的, b, b, c, d 和 e, d 和 e, c,用空格隔开。输出单独占一行Description
读入5个整数a,即物体的表面积和体积,没凹进去的边框宽度 e。你可以想像该物体是一个长宽高为a,含义如上所述, b,计算物体的表面积和体积
h&quot, return 0,volumn); area = 2*(a*b+a*c+b*c);),%d;;n&quot,%d;int main(){ int a,b,求体积的话扣除这些小的长方体的体积就好了;n& scanf(&quot,e中央凹进去的话; printf(&quot,&c,没凹进去的边框宽度, printf(&quot,&d,c。#include &quot,%d&quot,&e);%d %d&#92,&b,&a;%d;请输入长方体的长宽高和凹进去的深度;; int area,d,%d:&#92,表面积不变; volumn = a*b*c-(a+b+c-6*d)*e
来自团队:
其他类似问题
为您推荐:
c语言编程的相关知识
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言位数算,按位异或.只知道按位异或原理 不知道这题怎么做_百度知道
C语言位数算,按位异或.只知道按位异或原理 不知道这题怎么做
%lu&\0&#39;str[33];and&__________________.com/zhidao/wh%3D450%2C600/sign=72fb96ae64baaec950a7b03ef1f7d3572c11dfcf6a;long&i;&__________________;mask&num2&456&nbsp?表达式)实现,&);&nbsp,&1;input&%lu&num1&&#include&&#39,&nbsp://c;&mask&&nbsp://c;i++)&&在Found下添加.number&nbsp:&=&32。Please&char&nbsp.jpg" />程序的运行效果应类似地如图1和图2所示,&printf(&num2&nbsp,&;{&0和图2中的123&&i&/*********Found************/&nbsp.&=&num2.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="0127&%lu&return&Please&num1&^&}&nbsp.;int&num1,最后输出该字符串;unsigned&and&and&;&&&123&num2&scanf(&=&nbsp!&456123&nbsp,&需要填空的题目如下;main(void){&nbsp.hiphotos.456是从键盘输入的内容。提示;;str[i]&;&&Please&&nbsp:&for(i=0.h&^&nbsp:第2个空建议使用条件表达式(;str);&num2;=&^&num2.jpg" esrc="&num1,&printf(&&0&input&%lu&nbsp:&num2);&nbsp://c:&/zhidao/pic/item/1c950a7b03ef1f7d3572c11dfcf6a;&&nbsp,&num1&num1;=&127&^&nbsp,图1中的127&<a href="&,把操作结果按二进制位放在字符数组str中.hiphotos,&=&int&=&%s\n&=&&/zhidao/wh%3D600%2C800/sign=d2bd0f6bfef2b211e47b8d48faba7b03ef1f7d3572c11dfcf6a;&str[32]&/*********Found************/&nbsp从键盘读入两个整数;input&&amp,对它们进行按位异或操作;0;num1&nbsp
提问者采纳
&#39;;1&#39:&#39;0&#39;str[i]=number&mask==0mask=0x;
你的结果是对的 可是系统就是不给满分
0x 转换成10进制看看,系统有没有提示是哪个错误
换成10进制就全错了,我估计第二句有问题,系统不给提示错误在哪里,以前会提示
str[i]=number&mask?&#39;1&#39;:&#39;0&#39;; 这样精简一下看看
提问者评价
来自团队:
其他类似问题
为您推荐:
异或的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 学者网 的文章

 

随机推荐