
求大神帮忙做道(C语言)的题! 编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中 5
编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中,合并的方式是:将a数的十位和个位依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千...
编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中,合并的方式是:将a数的十位和个位依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。
例如:当a=45,b=12时,调用该函数后,则c=1524。 展开
例如:当a=45,b=12时,调用该函数后,则c=1524。 展开
2个回答
展开全部
怎么合并呢?
连接: 如65,23,合并为6523还是2365,还是6253,还是2635呢?
/*
请输入两个两位正整数(任意一个为0则结束): 45 12
45和12的组合结果为 : 1524
请输入两个两位正整数(任意一个为0则结束): 36 20
36和20的组合结果为 : 2603
请输入两个两位正整数(任意一个为0则结束): 0 0
Press any key to continue
*/
#include <stdio.h>
int main() {
int a,b,n;
while(1) {
printf("请输入两个两位正整数(任意一个为0则结束): ");
scanf("%d%d",&a,&b);
if(a == 0 || b == 0) break;
n = 1000 * (b / 10); // 取b的十位放到千位上
n += 100 * (a % 10); // 取a的个位放到百位上
n += 10 * (b % 10); // 取b的个位放到十位上
n += a/10; // 取a的十位放到个位上
printf("%d和%d的组合结果为 : %d\n",a,b,n);
}
return 0;
}
展开全部
void fun(int a, int b, int* c)
{
int w, x, y, z;/*分别表示个十百千位*/
if(10<=a && a<=99 && 10<=b && b<=99)/*确保都是两位数*/
{
w = a/10;
x = b%10;
y = a%10;
z = b/10;
*c = 1000*z+100*y+10*x+w;
}
}
假如要调用fun函数:
int main()
{
int c=0;
fun(12, 34, &c);
printf("%d", c);
}
如果你fun函数不含参数,这么写:
#include<stdio.h>
void fun()
{
int a, b;
scanf("%d %d", &a, &b);
int w, x, y, z;/*分别表示个十百千位*/
if(10<=a && a<=99 && 10<=b && b<=99)/*确保都是两位数*/
{
w = a/10;
x = b%10;
y = a%10;
z = b/10;
printf("c=%d", 1000*z+100*y+10*x+w);
}
}
{
int w, x, y, z;/*分别表示个十百千位*/
if(10<=a && a<=99 && 10<=b && b<=99)/*确保都是两位数*/
{
w = a/10;
x = b%10;
y = a%10;
z = b/10;
*c = 1000*z+100*y+10*x+w;
}
}
假如要调用fun函数:
int main()
{
int c=0;
fun(12, 34, &c);
printf("%d", c);
}
如果你fun函数不含参数,这么写:
#include<stdio.h>
void fun()
{
int a, b;
scanf("%d %d", &a, &b);
int w, x, y, z;/*分别表示个十百千位*/
if(10<=a && a<=99 && 10<=b && b<=99)/*确保都是两位数*/
{
w = a/10;
x = b%10;
y = a%10;
z = b/10;
printf("c=%d", 1000*z+100*y+10*x+w);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询