内容发布更新时间 : 2024/11/18 14:01:53星期一 下面是文章的全部内容请认真阅读。
优秀学习资料 欢迎下载
(2)掌握函数中参数传递的两种方式和函数的相互调用。 (3)编写实验报告。
2、实验内容(参考实验指导书):
(1)写一个函数int digit( int n , int k ),它返回数n的从右向左的第k个十进数字值。例如,函数调用digit(1234,2)将返回值3。
#include
int x,y;
printf(\请输入一个数据\\n\ scanf(\ digit(x,y); }
void digit(int n,int k) {
int i,j,a,b; b=n; a=(n/10); j=(n/100); i=(n/1000);
n=1000*i+100*j+10*a+b; if(k==1)
printf(\ else if(k==2)
printf(\ else if(k==3)
printf(\ else if(k==4)
printf(\}
(2)写一个函数int isprime(int n),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。
优秀学习资料 欢迎下载
#include
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 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 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) { } if(n%2==0) printf(\int x; printf(\scanf(\parity(x); else printf(\ return 0; 优秀学习资料 欢迎下载 (5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。 #include 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;