/* * * 函数名: Count * * */
/* * * 功能: 读字符个数 * * */
/* * * * * * * * * * * * * * * * */
void Count(void)
{
int temp = 0;
printf("请每次最多输入了1个字符再回车确认,若不输入字符直接回车 程序结束\n");
while (1)
{
char element = getchar();
fflush(stdin);
if (element != '\n')
{
if (element != ' ') //去空格 如果要计算空格 就去掉
temp++;
}
else
break;
printf("现在输入了%d个字符\n", temp);
}
}
void Count(void)
{
int nub = 0;
char temp;
printf("本程序只输入一次 请一次性输入你想要输入的所有任意个字符再回车确认\n");
while ((temp = getchar()) != '\n')
{
if (temp != ' ')
nub++;
}
printf("总共输入了%d个字符\n", nub);
}
/* * * * * * * 0——1000内能被三整除的数的和 * * * * * * */
/* * * 函数名: Sum * * */
/* * * 功能: 求和 * * */
/* * * * * * * * * * * * * * * * */
{
int sum = 0;
int flag = 1000;
while (flag)
{
if (!(flag % 3))
sum += flag;
flag--;
}
printf(" 0——1000内能被三整除的数的和是 : %-d \n", sum);
}
/*一个整数n 大于1 奇数 则变为3n+1 偶数 则变为n/2 直到n为1 求一共循环多少次*/
/* * * 函数名: Circle * * */
/* * * 功能: 循环求次数 * * */
/* * * * * * * * * * * * * * * * */
{
int nub, temp = 0;
printf("请输入一个大于1的整型数字:\n");
scanf("%d", &nub);
/*while (nub != 1)
{
if (nub % 2)
nub = 3 * nub + 1;
else
nub /= 2;
temp++;
}*/
do
{
temp++;
if (nub % 2)
nub = 3 * nub + 1;
else
nub /= 2;
} while (nub != 1);
printf("一共循环了%d次\n\n此时输入的值变为%d\n\n", temp, nub);
/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/
/* 求100——1000的水仙花数 */
/* * * * * * * * * * * * * * * * */
/* * * 函数名:narc_nub * * */
/* * * 功能: 水仙花数 * * */
/* * * * * * * * * * * * * * * * */
void narc_nub(void)
{
int nub = 1000, temp1 = 0, mid, sum = 0;
while (nub > 100)
{
mid = nub;
//方式四
for (; mid > 0; mid /= 10)
{
temp1 = mid % 10;
sum = sum + (temp1*temp1*temp1);
}
/*//方式三
flag:
temp1 = mid % 10;
sum = sum + (temp1*temp1*temp1);
if (mid /= 10)
goto flag;
*/
/*//方式2
do
{
temp1 = mid % 10;
sum = sum + (temp1*temp1*temp1);
} while (mid /= 10);
*/
/*//方式1
while (mid)
{
temp1 = mid % 10;
mid /= 10;
sum = sum + (temp1*temp1*temp1);
}
*/
if (sum == nub)
{
printf("%d\n", nub);
}
sum = 0;
nub--;
}
}
/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/