1、设计一个判断素数的函数,在主函数中调用它,把一个整型数组a中的所有素数出来,存放在数组b中(两数组长度均为整型常量N,数组a的各元素从键盘输入)。
#include<stdio.h>
#include<math.h>
#define N 10
int main()
{
int prime(int);//函数声明
int i, j=0, a[N], b[N] ;
printf("data: ");
for(i=0;i<N;i++)
scanf("%d", &a[i]);//输入数组元素
for(i=0; i<N; i++)
if( prime(a[i]) )//如果为素数
b[j++]=a[i];
for(i=0; i<j; i++)
printf("%d ", b[i]);
return 0;
}
int prime(int k) //非素数则返回0,素数则返回1
{
if(k==1)
return 0;
int sk,i;
sk=(int)sqrt(k);
for(i=2;i<=sk;i++)
if(k%i==0)
return 0;
return 1;
}
2、用一维数组做参数,编写一个求一维整形数组平均值的函数。在主函数中调用这个函数求一个整形数组的平均值。(数组长度N定义为整型常量)
#include<stdio.h>
#define N 5
int main()
{
float average(int [] ,int);//函数声明
int i, a[N] ;
printf("data: ");
for(i=0; i<N; i++)
scanf("%d", &a[i]);
printf("average=%f", average(a, N));
return 0;
}
float average(int b[], int n )//形参n表示数组长度
{
int i;
float sum=0.0 ;
for(i=0; i<n; i++)
sum=sum+b[i];
return sum/n;
}
3、输入一个字符串,将其中的数字字符按输入顺序存储到digital数组中,然后输出该数组中的数字字符串。要求:检测并存储数字字符串的过程通过用户函数实现。(数组长度N定义为整型常量)
#include<stdio.h>
#include<string.h>
#define N 100
int main(void)
{ char string[N],digital[N];
void find(char [],char []);
gets(string);
find(string,digital);
printf("Target string: ");
puts(digital);
scanf输入整型数组 return 0;
}
void find(char str[],char dig[])
{
int i,j;
for(i=0,j=0;str[i]!='\0';i++)
if(str[i]>='0'&&str[i]<='9')
dig[j++]=str[i];
dig[j]='\0';//最后加上字符串结束符
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论