比如:对键盘输入的任意一组正整数(位数任意),求所有数的逆序数之和,这里的逆序数是指对该数从右向左顺序读得到的数,例如123的逆序数是321,1200的逆序数是21。输入非数字时结束程序。请编程解决该问题。
非计算机专业,孩子真的啥也不会,想抄作业,又听说有查重,好慌。球球好心人回答
#include<stdio.h>
int main()
{
int num, a[10], i, k=0,sum=0;
printf("请输入一个正整数:");
scanf("%d", &num);
while(num>0)
{
a[k++] = num%10;
num /= 10;
}
for(i=0; i<k; i++)
sum+=a[i];
printf("逆序数的和为:%d\n",sum);
return 0;
}
#include <stdlib.h>
#include <string.h>
void main()
{
int num = 0,n=0,len=0,i;
scanf_s("%d", &n);
while (n!= 0)
{
int d = 1;
char s[100] = { 0 };
_itoa_s(n, s, 100,10);
len = strlen(s);
for (i = 0; i < len; i++)
{
num += (s[i] - '0') * d;
d *= 10;
}
scanf_s("%d", &n);
}
printf("所有逆序数和为:%d", num);
}
供参考:
#include<stdio.h>
int Reverse_num(int n)
{
int r=0;
while(n)
{
r= r*10 + n%10;
n /= 10;
}
return r;
}
int main()
{
int n,s=0;
while(scanf("%d",&n)==1 && n > 0)
{
s += Reverse_num(n);
}
printf("逆序数和为:s=%d\n",s);
return 0;
}
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632