c语言每日一练5

前几天在c++论坛发了好多这个,原来那里是用来给分提问的,哈哈,貌似我没分,还发了那么多帖子,我表示会坑好多人。就开了微博,可恶的微博,要三天后才能发表文章,写这些就只是为了督促自己。开始今天的吧.

 

正整数的树根指的是该整数各数字之和。如果结果是一位数,那么这个数就是树根。如果结果有两个或者两个以上的数字,那么将结果的各位数字相加直到只是一位数字。

例如24,2+4=66为一位数,所以624的根。393+9=12,1+2=3,3为一位数,所以339的根。

输入:输入一系列正整数,每行一个。当正整数为0时,输入结束。

输出:对输入的每一个整数,输出一行,是该数的树根。

//

#include<stdio.h>

int main()

{

char ch;//整数位数有1000位,只能用字符串运算

while(1)

{

//计算该整数各位数字之和

int sum=0;

while(scanf("%c",&ch) && ch!='\n')

{

sum+=ch-'0';

}

if(sum==0) break;//当正整数为0时结束

//树根就是sum%9的结果,如果sum%9=0,树根是9.这是因为一个整数模9的结果与这个整数的各位数字之和模9的结果一样(牛B)。

if(sum%9==0) sum=9;

else sum=sum%9;

printf("%d\n",sum);

}

return 0;

}

 

开始我一直不理解ch-‘0’的值会怎么变化,在论坛发了一个提问帖之后lansong4,Panda_66大神告诉我:倘若我输入39,因为char ch 是单个的字符,所以输入39是两个字符,scanf("%c",&ch);先处理3,然后再处理9,呵呵。在此谢谢他们。

### 关于C语言选择题练习的相关资源 对于希望提高C语言能力的学习者来说,通过做选择题可以快速掌握基础知识并检验自己的理解程度。以下是关于C语言选择题的一些推荐方向和相关内容: #### 资源推荐 1. **《C语言入门必刷100题》系列** 这一系列包含了丰富的编程实践题目[^1],虽然主要以实际编码为主,但在其中也穿插了一些理论性的选择题,帮助巩固基本概念。 2. **《C C++最全每日亿题》** 此系列不仅提供了大量的编程实战训练,还特别针对初学者设计了许多基础知识点的选择题练习[^4]。这些题目覆盖了变量、据类型、控制结构等多个方面。 3. **字符串处理专题** 题目描述中提到的一个典型例子是统计字符串中的不同字符种类[^2]。这类问题可以通过设置多项选项来考察学生对条件判断的理解以及逻辑思维能力。 4. **算法与程序设计教程** 结合具体实例进行讲解的文章通常会附带测试性质的小测验[^3],这对于想要全面了解某一特定主题下的各种可能性非常有帮助。 #### 示例代码片段 下面给出一段简单的示例代码用于展示如何利用if-else语句完成基于条件分支的操作: ```c #include <stdio.h> int main() { int i; for (i = 1; i <= 10; ++i) { if (i % 3 != 0){ printf("%d ", i); } else{ continue; } } return 0; } ``` 该段代码展示了当`i`能够被3整除时跳过打印操作的过程。 #### 总结 为了更好地准备C语言考试或者自我评估水平,建议综合运用上述提到的各种资源来进行系统化的复习和练习。同时注意积累常见错误案例以便加深印象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值