首页 > 代码库 > 第七次实验作业
第七次实验作业
第一个作业
#include <stdio.h>
#include <math.h>
int sign(int x);
int even(int n);
int prime(int m);
int countdigit(int number,int digit);
int is(int number);
int main()
{
int choice=0;
int n;
int x,y,m,i,sum=0;
int digit,z,c;
do{
printf("*************实验六:函数**************\n");
printf("******1.计算输出分段函数发(x)的值******\n");
printf("******2.利用函数求奇数和***************\n");
printf("******3.计算素数个数并求和*************\n");
printf("******4.统计指定数字的个数*************\n");
printf("******5.输出m~n之间的所有水仙花数******\n");
printf("******0.退出***************************\n");
printf("请选择题号:");
scanf("%d",&choice);
switch(choice)
{
case 1:printf("请输入x:");
scanf("%d",&x);
printf("f(%d)=%d\n",x,sign(x));
break;
case 2:printf("请输入正整数:\n");
do{
scanf("%d",&n);
if(n>0){
y=even(n);
if(y==0){
sum=sum+n;
}
}
}while(n>0);
printf("sum=%d\n",sum);
break;
case 3:printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
c=sum=0;
for(i=m;i<=n;i++)
if(prime(i)!=0)
{
c++;
sum=sum+i;
}
printf("c=%d,sum=%d\n",c,sum);
break;
case 4:scanf("%d%d",&z,&digit);
c=countdigit(z,digit);
printf("number %d of digit %d:%d\n",z,digit,c);
break;
case 5:scanf("%d%d",&m,&n);
printf("result:\n");
for(i=m;i<=n;i++)
if(is(i)!=0)
printf("%d\n",i);
break;
}
}while(choice!=0);
return 0;
}
int sign(int x)
{
if(x<0) return -1;
else if(x>0) return 1;
else return 0;
}
int even(int n)
{
int x;
if(n%2==0)
x=1;
else
x=0;
return x;
}
int prime(int m)
{
int i;
if(m==1)
return 0;
for(i=2;i<=m/2;i++)
if(m%i==0)
return 0;
else
return 1;
}
int countdigit(int number,int digit)
{
int c;
if(number<0)
number=-number;
c=0;
do{
if(number%10==digit)
c++;
number=number/10;
}while(number!=0);
return c;
}
int is(int number)
{
int digit,sum,temp;
temp=number;
sum=0;
while(temp!=0){
digit=temp%10;
temp=temp/10;
sum=sum+pow(digit,3);
}
return sum==number;
}
第二个作业
#include<stdio.h>
int main(void)
{
int i;
long int f[40]={1,1};
for(i=2;i<40;i++)
f[i]=f[i-1]+f[i-2];
for(i=0;i<40;i++){
if(i%5==0)
printf("\n");
printf("%12ld",f[i]);
}
return 0;
}
第七次实验作业