翁恺c语言练习题第六周
时间: 2025-02-02 21:07:27 AIGC 浏览: 73
### 关于翁恺C语言课程第六周练习题
针对翁恺C语言课程第六周的内容,虽然提供的参考资料主要集中在第二周和第三周的习题[^1][^2][^3][^4],但通常这类编程教学系列会逐步增加难度,并引入更复杂的概念和技术。
对于第六周的练习题,一般情况下可能会涉及指针、数组以及字符串处理等内容。具体到翁恺老师的课程安排,第六周可能专注于以下几个方面:
#### 数组操作与应用
```c
#include <stdio.h>
int main() {
const int SIZE = 5;
int numbers[SIZE];
// 输入五个整数存入数组
for(int i = 0; i < SIZE; ++i){
scanf("%d", &numbers[i]);
}
// 输出这些数字及其索引位置
for(int j = 0; j < SIZE; ++j){
printf("Index %d has value %d\n", j, numbers[j]);
}
return 0;
}
```
此代码展示了如何定义固定大小的整形数组`numbers[]`,并通过循环结构实现数据录入与展示功能。
#### 字符串处理函数的应用
```c
#include <string.h>
#include <stdio.h>
void reverseString(char str[]) {
int length = strlen(str);
char temp;
for (int i = 0; i < length / 2; ++i) {
temp = str[i];
str[i] = str[length - i - 1];
str[length - i - 1] = temp;
}
}
int main(){
char text[80];
printf("Enter a string to be reversed:\n");
fgets(text, sizeof(text), stdin);
// 去掉fgets读取时最后面可能出现的换行符
size_t len = strlen(text);
if(len > 0 && text[len-1] == '\n'){
text[--len] = '\0';
}
reverseString(text);
puts(text);
return 0;
}
```
上述例子说明了怎样创建一个简单的反转字符串的功能,这里使用到了标准库中的`strlen()`来获取字符串长度,并通过自定义的方法完成字符交换从而达到翻转效果。
#### 动态内存分配实践
动态内存管理是高级主题之一,在实际开发中非常重要。下面是一个简单示例:
```c
#include <stdlib.h>
#include <stdio.h>
int main(){
int *ptr;
int numElements;
printf("How many integers do you want to store? ");
scanf("%d", &numElements);
ptr = (int *)malloc(numElements * sizeof(int));
if(ptr != NULL){ // 如果成功申请空间,则继续执行后续逻辑
for(int k = 0; k<numElements ;++k){
printf("Element[%d]: ", k+1);
scanf("%d", &(ptr[k]));
}
printf("\nThe elements are:");
for(int l = 0;l<numElements;++l){
printf(" %d", *(ptr+l));
}
free(ptr); // 使用完毕记得释放资源
}else{
printf("Memory allocation failed.");
}
return 0;
}
```
这段代码实现了根据用户需求动态分配存储空间给一组整数值的过程,并且在结束之前妥善回收这部分临时使用的堆区地址。
阅读全文
相关推荐



















