C上机实验报告实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C上机实验报告实验
实验报告:C语言上机实验
一、实验目的
通过编写C语言程序,掌握C语言的基本语法及应用,提高对C语言程序设计的理解与掌握。

二、实验内容
1.编写程序,计算并输出n的阶乘。

2.编写程序,判断输入的年份是否为闰年。

3.编写程序,判断输入的数是否为质数。

4.编写程序,判断输入的字符串是否为回文字符串。

5.编写程序,实现选择排序并输出排序结果。

三、实验过程及结果
1.阶乘计算程序
```c
#include <stdio.h>
//函数声明
int factorial(int n);
int mai
int n;
printf("请输入一个整数n:");
scanf("%d", &n);
printf("%d的阶乘为:%d\n", n, factorial(n)); return 0;
int factorial(int n)
if (n == 0 , n == 1)
return 1;
} else
return n * factorial(n-1);
}
```
实验结果:程序能够正确计算并输出n的阶乘。

2.闰年判断程序
```c
#include <stdio.h>
int isLeapYear(int year);
int mai
int year;
printf("请输入一个年份:");
scanf("%d", &year);
if (isLeapYear(year))
printf("%d是闰年\n", year);
} else
printf("%d不是闰年\n", year);
}
return 0;
int isLeapYear(int year)
if (year % 400 == 0 , (year % 4 == 0 && year % 100 != 0)) return 1;
} else
return 0;
}
```
实验结果:程序能够正确判断输入的年份是否为闰年。

3.质数判断程序
```c
#include <stdio.h>
int isPrime(int n);
int n;
printf("请输入一个整数n:"); scanf("%d", &n);
if (isPrime(n))
printf("%d是质数\n", n);
} else
printf("%d不是质数\n", n);
}
return 0;
int isPrime(int n)
if (n <= 1)
return 0;
} else
for (int i = 2; i*i <= n; i++) if (n % i == 0)
return 0;
}
}
}
```
实验结果:程序能够正确判断输入的数是否为质数。

4.回文字符串判断程序
```c
#include <stdio.h>
#include <string.h>
int isPalindrome(char str[]);
int mai
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
if (isPalindrome(str))
printf("%s是回文字符串\n", str);
} else
printf("%s不是回文字符串\n", str);
}
return 0;
int isPalindrome(char str[])
int len = strlen(str);
for (int i = 0; i < len/2; i++)
if (str[i] != str[len-i-1])
return 0;
}
}
return 1;
```
实验结果:程序能够正确判断输入的字符串是否为回文字符串。

5.选择排序程序
```c
#include <stdio.h>
void selectionSort(int arr[], int n);
void swap(int *a, int *b);
int mai
int n;
printf("请输入数组长度n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数用于排序:", n); for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
}
selectionSort(arr, n);
printf("排序结果为:");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
}
printf("\n");
return 0;
void selectionSort(int arr[], int n) for (int i = 0; i < n-1; i++)
int minIndex = i;
for (int j = i+1; j < n; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
}
}
swap(&arr[i], &arr[minIndex]);
}
void swap(int *a, int *b)
int temp = *a;
*a=*b;
*b = temp;
```
实验结果:程序能够正确实现选择排序并输出排序结果。

四、实验心得
通过本次C语言上机实验,我进一步巩固了C语言的基本语法和程序
设计技巧。

每个实验题目都涉及不同的C语言知识点,例如递归函数的使用、条件判断、循环结构、字符串处理、数组操作等。

通过编写实验程序,我对这些知识点的应用和理解得到了提升。

在实验过程中,我遇到了一些问题,如如何正确计算阶乘、如何判断
闰年、如何判断质数等。

通过查阅资料和与同学讨论解决了这些问题。

同时,我也注意到了代码的可读性和规范性的重要性,编写注释、使用有意
义的变量名等都能使代码更易读懂和维护。

通过这次实验,我不仅熟悉了C语言的基本语法和应用,也提高了自
己的编程能力和问题解决能力。

我相信通过不断实践,我将能够更好地掌
握C语言编程,并能在更复杂的项目中灵活应用。

相关文档
最新文档