/*
*时间:2018年3月31日22:05:53
*题号:1001
*语言:gcc 4.7.2
*分数:15
*/
#include <stdio.h>
int main()
{
int i = 0;
int n;
scanf("%d", &n);
while (n != 1)
{
if(n % 2 == 0)
n = n/2;
else
n = (3*n+1)/2;
i++;
}
printf("%d\n",i);
return 0;
}
/*
*时间:2018年3月31日22:07:51-2018年3月31日21:12:21
*题号:1002
*语言:gcc 4.7.2
*分数:20
*/
#include <stdio.h>
#include <string.h>
int main()
{
char n[101];
gets(n); //gets();函数得到char类型的数组
int sum = 0;
int i = 0;
int j = 0;
int res[5];
char num[][5] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
//相应的下标对应相应的拼音,num[][5]用来存放小于5个字符的字符串
while (n[i] != '\0') //得到所有数据的和
{
sum += (n[i] - '0');//将char类型的数据准换成int类型的数据
i++;
}
//printf("%d \n",sum);
while (sum != 0) //将sum倒序方便后面输出
{
res[j] = sum % 10;
sum = sum / 10;
j++;
}
//printf("%d %d %d \n",res[0],res[1],res[2]);
int k;
for (k = j-1; k>=0; k--) //输出拼音,这里注意k=j-1
{
printf("%s",num[res[k]] );
if (k != 0 ) //最后一个没有空格
{
printf(" ");
}
}
return 0;
}
【PAT】1001/1002
最新推荐文章于 2022-01-04 22:39:09 发布