大学一年级下学期C语言程序设计实验报告答案 完整版 下载本文

#include #include int isprime(int n); main() {

int x;

printf(\请输入一个整 数\\n\

scanf(\

printf(\ }

int isprime(int n) {

int i=2;

while(i

if(n%i==0) return 0; i++; }

return 1; }

(3)写一个函数reverse( char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。 递归型:

#include #include

void res(char s[],int len); void reverse(char b[]); void main() {

char a[100];

printf(\请输入一串字符:\\n\gets(a); reverse(a);

printf(\}

void res(char s[],int len) {

if(len>=0) {

printf(\ len--; res(s,len); } }

void reverse(char b[]) {

res(b,strlen(b)); }

非递归型:

#include void reverse(char s[]); void main() {

char s[100];

printf(\请输入一串字符\\n\ gets(s); reverse(s); printf(\}

void reverse(char s[]) {

int j,i=0; do {

i++;

}while(s[i]!='\\0'); for(j=i-1;j>=0;j--) printf(\}

(4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。 判断奇偶性:

#include int parity(int n); void main() { }

int parity(int n) { }

if(n%2==0)

printf(\int x;

printf(\scanf(\parity(x);

else

printf(\

return 0;

(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。

#include #include int hw(int n); int isprime(int n); void main() {

int i; int cnt=0;

for(i=10000;i<100000;i++) {

if(hw(i)) {

if(isprime(i)==1) {

cnt++;

printf(\ } } }

printf(\合计:%d个\\n\}

int isprime(int n) {

int i=2;

while(i

if(n%i==0) return 0; i++; }

return 1; }

int hw(int n) {

int m=0; int t=n;