
一道超简单编程题,求高手帮忙!!!!
假设m是一个三位数,编写程序输出由m的个位、十位、百位反序而成的三位数。(例如:123反序为321)。要求输出为整型。输出格式:k=......我是这样编的#includ...
假设m是一个三位数,编写程序输出由m的个位、十位、百位反序而成的三位数。(例如:123反序为321)。要求输出为整型。输出格式:k=......
我是这样编的
#include<stdio.h>
void main()
{int a,b,c,k;
scanf("%d%d%d",&a,&b,&c);
k=100*c+10*b+a;
printf("k=%d\n",k);
}
为什么不对?答案用的是求余。
检测时说有两个错误,在第六行和第五行。后来又改为
#include<stdio.h>
void main()
{int a,b,c,k;
scanf("%d%d%d",&a,&b,&c);
printf("k=%d%d%d\n",c,b,a);
}
似乎还是错的挺离谱的。 展开
我是这样编的
#include<stdio.h>
void main()
{int a,b,c,k;
scanf("%d%d%d",&a,&b,&c);
k=100*c+10*b+a;
printf("k=%d\n",k);
}
为什么不对?答案用的是求余。
检测时说有两个错误,在第六行和第五行。后来又改为
#include<stdio.h>
void main()
{int a,b,c,k;
scanf("%d%d%d",&a,&b,&c);
printf("k=%d%d%d\n",c,b,a);
}
似乎还是错的挺离谱的。 展开
展开全部
正整数的个数你自己调整一下。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 9
int StrCmp(const char*a, const char *b)
{
int lena = strlen(a), lenb = strlen(b);
int r = strncmp(a, b, lena > lenb ? lenb : lena);
if (r == 0) return lena < lenb;
if (r > 0) return 1;
if (r < 0) return -1;
}
int comp(const void*a, const void*b)
int main()
{
int a[N] = , i;
char s[N][8*sizeof(int) + 1];
for (i = 0; i < N; i++) sprintf(s[i], "%d", a[i]);
qsort(s, N, sizeof(s[0]), comp);
for (i = 0; i < N; i++) printf("%s ", s[i]);
}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 9
int StrCmp(const char*a, const char *b)
{
int lena = strlen(a), lenb = strlen(b);
int r = strncmp(a, b, lena > lenb ? lenb : lena);
if (r == 0) return lena < lenb;
if (r > 0) return 1;
if (r < 0) return -1;
}
int comp(const void*a, const void*b)
int main()
{
int a[N] = , i;
char s[N][8*sizeof(int) + 1];
for (i = 0; i < N; i++) sprintf(s[i], "%d", a[i]);
qsort(s, N, sizeof(s[0]), comp);
for (i = 0; i < N; i++) printf("%s ", s[i]);
}

2023-06-12 广告
单片机课程设计是针对《单片机原理及应用技术》课程的一项重要的动手实践活动。该课程设计的目标是让学生通过实际项目的开发,掌握单片机的开发技能,提高解决实际问题的能力,并且加深对单片机原理及应用技术的理解。课程设计的内容包括项目概述、项目要求、...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
输入错误了,可能会溢出
求余比较简单
#include<stdio.h>
void main()
{int a;
scanf("%d",&a);
for(int i=0;i<3;i++)
a=a%10*1000+a;
a=a/10;
printf("k=%d\n",a);
}
================
说了输入判断有误啊,int 可以表示一个个位数,也可以表示一个百位。你这样输入,123存到a了,其他读取内存,就溢出了
循环内容写错,改了
求余比较简单
#include<stdio.h>
void main()
{int a;
scanf("%d",&a);
for(int i=0;i<3;i++)
a=a%10*1000+a;
a=a/10;
printf("k=%d\n",a);
}
================
说了输入判断有误啊,int 可以表示一个个位数,也可以表示一个百位。你这样输入,123存到a了,其他读取内存,就溢出了
循环内容写错,改了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就看你这么输入的了
如果是直接输入123,当然不可以了,那样就会把123这个整数赋值给 a变量,
如果输入1 2 3(之间有空格),可以实现你的想法。
如果是直接输入123,当然不可以了,那样就会把123这个整数赋值给 a变量,
如果输入1 2 3(之间有空格),可以实现你的想法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序没有问题啊,我测试了,请楼主详细描述一下你所谓的问题出在哪里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 left$ 加 right$便可解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是输入问题,你不能保证K是一个3位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询