[急求助]C语言程序编程题,请高手帮忙解答下。!

编程题: 函数fun的功能是:将两个两位数的正整数a,b合并形成一个整数放在c中,合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。 例如:当a=45,b=12。调用该函数后,c=1524。 注意:部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 [PROG1.C] #include<stdio.h> #include<math.h> void fun(int a,int b,long *c) { } main() {int a,b;long c; printf("Input a,b:"); scanf("%d%d",&a,&b); fun(a,b&c); printf("The result is:%ld\n",c); } 请高手给个正解,并且把每个步骤的原因注清晰,小弟在此谢谢啦~!

第1个回答  2019-03-14
只要输入一行就行了:
#include<stdio.h>
#include<math.h>
void
fun(int
a,int
b,long
*c)
{
*c=a%10*100+a/10+b/10*1000+b%10*10;
/*解释:a%10的意思是a除以10剩下的余数,即a的个位数,若a是45,a%10就是5,再乘以100即是500;a/10就是十位数,即4,原因是它是向下取整,45/10虽是4.5,但向下取整就将小数点后的都等于零;b/10和上面的a一样是取b的十位数,若b为12,b/10就是1,b/10*1000就是1000;b%10就是2,再乘以2就是20。最后将500+4+1000+20=1524*/
}
void
main()
{
int
a,b;long
c;
printf("Input
a,b:");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("The
result
is:%ld\n",c);
getch();
return;
}

[急求助]C语言程序编程题,请高手帮忙解答下!
按照题目要求编写的程序如下(见图)

C语言程序设计 我是C语言初学者,有一道看程序的题我有些弄不懂,还请...
答案:C A:是如果a>b,则一程序一直执行到“b=c;”,效果是换a与b的值;B:是如果a>b,则执行{ }里的语句,效果是交换a与b的值;C:是如果a>b,则执行c=a; 无论a是否大于b,c的值都要给a,a-b;没什么作用;D:是如果a>b,则效果是交换a与b的值,c相当于中转站,a-b;没什么作...

C语言高手,帮帮忙
(1) a=a+b,b=a-b,a=b 先把a+b赋值给a,即 a=a+b 那么要交换a,b的值,所以 b=a-b(这里的a-b,其实就是原来的a的值),然后a 自然就等于b了 所以就是 a=b (7) k,5 因为程序中的语句是顺序语句所以先执行st=st+i; 则st=75 因为要以字符型显示,所以A的ASCII码是65,那...

c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...

C语言编程题,拜托大家
char c=0;while(i<=n){ c=getch();if(c!=13 && c!=4 && c>='0' && c<='9')\/\/输入只接收并回显数字字符 { if(!flag)nums[cnt]=0,cnt++,flag=1;nums[cnt-1]=nums[cnt-1]*10+c-'0';} if(c==8 && cnt>0)\/\/退格删除 { if(nums[cnt-1]\/10>0)\/\/当前输入数字...

C语言程序编程题,求大神帮帮忙
int main(){ struct stu { int id;char name[11];int a,b,c;} t,st[5];int i,j;FILE *fp1,*fp2;if((fp1=fopen("d:\\\\stud.dat","r"))==NULL){ printf("f1 open error!\\n");return 1;} if((fp2=fopen("d:\\\\studsort.dat","w"))==NULL){ printf("f2 open error!

电脑C语言编程,求高手帮忙
void main(){ int n[8],maxn=0,minn=0,detn;float score[8],max,min,aver=0.0,det,detm;printf("输入裁判号及分数:\\n");scanf("%d%f",&n[0],&score[0]);max=min=score[0];for(int i=1;i<8;i++){ scanf("%d%f",&n[i],&score[i]);if(max<score[i]){ max=...

一道C语言编程问题,高手们来看看帮忙解答下
在1到B之间。{ \/\/判断公式左右两侧是不是相等,相等侧符合题目要求 if (c*c*(a*a+b*b) == a*a*b*b){ sum = a+b+c; \/\/判定成立,求和 printf("SUM = %d\\nA = %d\\nB = %d\\nC = %d\\n",sum,a,b,c);return 0;} } } } return 0;}输出结果为:...

一道c语言问题,请各位高手们帮帮忙,谢谢
char p[][20]={“get”,”put”,”out”};p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。

C语言编程题 哪位大神帮忙看看怎么做 输出以下图案?
as3:核心程序 \/\/var:定义变量 \/\/trace:测试时简单输出 方法1:func1();function func1(n:uint=5){ var arr:Array=[];for(var i:uint=0;i<2*n+1;i++){ arr.push([])for(var j:uint=0;j<2*n+1;j++){ arr[i]+=Math.abs(j-n)<=Math.abs(i-n)?"*":" "} trace(...

相似回答
大家正在搜