PTA 浙大版《Python 程序设计》题目集第二章1-7题

第2章-1 计算 11+12+13+...+m 

num=(int)(input())
ans=(int)((11+num)*(num-11+1)/2)
a=3
#print(a)
#print(ans)
print("sum =",ans)

第2章-2 计算分段函数[1]

num=(float)(input())
if num==0:
    print("f(0.0) = 0.0")
else:
    print("f(%.1f) = %.1f"%(num,(1/num)))

第2章-3 阶梯电价

num=(int)(input())
if num<=50 and num>=0:
    print("cost = %.2f"%(num*0.53))
elif num>50:
    print("cost = %.2f"%(50*0.53+(num-50)*0.58))
else:
    print("Invalid Value!")

第2章-4 特殊a串数列求和 

s=input()
a,b=map(int,s.split(" "))
ans=0
tmp=0
sum=0;
while tmp<b:
    sum=sum*10+a
    ans+=sum
    tmp+=1
print("s = %d"%ans)

第2章-5 求奇数分之一序列前N项和 

num=(int)(input())
a=1
b=0.0
count=0
while count<num:
    b+=(1.0/a)
    a+=2
    count+=1
print("sum = %.6f"%b)

第2章-6 求交错序列前N项和

num=(int)(input())
a=1.0
b=1.0
count=0
ans=0.0
while count<num:
    if count%2==1:
        ans-=a/b
    else:
        ans+=a/b
    a+=1.0
    b+=2.0
    count+=1
print("%.3f"%ans)

第2章-7 产生每位数字相同的n位数 

a, b = input().split(",")
aa=a.strip()
bb=(int)(b.strip())
print(aa*bb)

 

<think>嗯,用户想要找C语言的编程练习和学习资源。我需要根据他们的需求提供合适的资料。首先,我应该回顾一下用户提供的引用内容。他们提到了几个具体的例子,比如输出“hello world”、打折计算和循环结构的使用。这些都属于基础内容,可能用户是初学者,需要从简单的题目开始练习。 我应该先整理用户提供的引用中的资源。引用[1]提到了C语言最基础的程序,比如输出hello world,这对新手来说确实很重要。引用[2]是关于打折计算的练习,涉及到输入输出和基本的数学运算。引用[3]则涉及循环结构和图形输出,这可能稍微进阶一些。所以,用户可能需要分阶段的练习,从简单到复杂。 接下来,我需要考虑用户可能需要的其他资源类型。除了练习,他们可能还需要学习资料,比如书籍、在线课程或者网站。常见的推荐书籍有《C Primer Plus》和《C程序设计语言》,这些书适合不同层次的学习者。在线平台如菜鸟教程、LeetCode和牛客网也是不错的选择,既有教程又有练习。 用户可能没有明确说出他们的学习阶段,所以应该覆盖基础和进阶的内容。例如,基础语法、流程控制、函数、数组和指针是C语言的核心,必须包括相关的练习。同时,可以推荐一些项目实践,比如小游戏或管理系统,帮助巩固知识。 另外,用户提供的引用中有具体的代码示例,比如快速排序的Python代码。不过用户的问是关于C语言的,所以需要确保推荐的资料和练习都是C语言相关的。要注意不要混淆其他编程语言的内容。 可能还需要提醒用户注意代码规范和调试技巧,这在初学阶段很重要。例如,引用[3]中的循环结构练习可以帮助理解控制流程,而图形输出则能锻炼逻辑思维。 最后,生成相关问时要围绕用户的需求,比如如何练习特定知识点、调试方法或者项目推荐。确保问能够引导用户进一步深入学习,解决他们可能遇到的困难。</think>### C语言编程练习与学习资源推荐 #### 一、基础语法练习 1. **入门程序** - 输出`hello,world!`是学习C语言的第一个程序,帮助熟悉编译流程和基础语法[^1]: ```c #include <stdio.h> int main() { printf("hello world\n"); return 0; } ``` 2. **变量与计算** - 实现商品打折计算,练习输入输出和算术运算[^2]: ```c #include <stdio.h> int main() { int price, discount; double money; scanf("%d %d", &price, &discount); money = price * discount / 10.0; printf("%.2f", money); return 0; } ``` 3. **循环与图形输出** - 用循环结构输出特定图形(如金字塔),训练逻辑思维[^3]: ```c #include <stdio.h> int main() { int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n - i; j++) printf(" "); for (int k = 1; k <= 2*i-1; k++) printf("*"); printf("\n"); } return 0; } ``` #### 二、系统化学习路径 | **阶段** | **推荐内容** | **资源示例** | |--------------|----------------------------------|----------------------------------| | 基础语法 | 变量、运算符、流程控制 | 《C Primer Plus》第1-5章 | | 进阶应用 | 函数、数组、指针、结构体 | 菜鸟教程C语言专 | | 算法训练 | 排序、查找、递归 | LeetCode简单难度库 | | 项目实践 | 小游戏开发、文件管理系统 | GitHub开源项目“C语言经典案例” | #### 三、优质学习平台推荐 1. **在线教程** - [菜鸟教程-C语言](https://www.runoob.com/cprogramming/c-tutorial.html):提供交互式代码示例。 - [浙江大学PTA平台](https://pintia.cn/):包含编程自动评测功能。 2. **编程库** - **牛客网**:专项训练库(如指针、内存管理)。 - **HackerRank**:国际化编程挑战,支持C语言。 3. **书籍推荐** - 《C程序设计语言(第2)》:C语言之父著作,适合深入理解原理。 - 《C和指针》:详细解析指针与内存管理技巧。 #### 四、学习建议 1. **调试技巧** - 使用`gdb`逐步调试程序,观察变量变化。 - 通过`printf`定位逻辑错误(如循环边界条件)。 2. **代码规范** - 变量命名采用驼峰式(如`studentName`)。 - 添加注释说明复杂逻辑,例如: ```c // 快速排序分区函数:返回基准值位置 int partition(int arr[], int low, int high) { /*...*/ } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值