写这篇文章纯属为了庆祝自己通过的喜悦心情废话不说直接上题
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int ssum(int n)//计算各位和
{
int sum=0;
while(n)
{
sum+=n%10;
n/=10;
}
return sum;
}
int judge(int n)//判断是否符合题意
{
int cnt=0;
while(n)
{
cnt++;
n/=10;
}
if(cnt==1) return 1;
else return 0;
}
int main()
{
int n,sum;
char s[1200];//采用字符串读取大数
while(~scanf("%s",s))
{
if(s[0]=='0') break;
n=0;
for(int i=0;i<strlen(s);i++)
n+=s[i]-'0';
while(!judge(n))
{
n=ssum(n);
}
printf("%d\n",n);
}
return 0;
}
第二种方法
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char s[1005];
int i,len,sum;
while(scanf("%s",s)&&s[0]!='0')
{
len=strlen(s);
sum=0;
for(i=0;i<len;i++)
{
sum+=s[i]-'0';
}
cout<<(sum-1)%9+1<<endl;
}
return 0;
}