用c语言编写一个函数,题目如下

用c语言编写一个函数,题目如下,第1张

void fun(int m, int k, int xx[])

{

 int i,j,a=0,num=0;

  while(1)

     { m=m+1;

       for(j=2;j<m;j++)

        { if(m%j==0)

            break;

            }

          if(j>=m)

           { xx[a++]=m;

             num++;

            }

            

           if(num==k) break;

             }

               }

#include<stdioh>

#include<stdlibh>

#define N 10

void sort(int a[],int n,int ShengXu)

{

int i,j,t;

for(i=0;i<n-1;i++)

{

for(j=0;j<n-1-i;j++)

{

if(1==ShengXu)

{

if(a[j]>a[j+1])

{

t=a[j+1];

a[j+1]=a[j];

a[j]=t;

}

}

else

{

if(a[j]<a[j+1])

{

t=a[j+1];

a[j+1]=a[j];

a[j]=t;

}

}

}

}

}

int main()

{

//控制参数(1升序,非1降序)

int ShengXu=1;

int i,a[N];

printf("请输入%d个整数:\n",N);

for(i=0;i<N;i++)

{

scanf("%d",&a[i]);

}

sort(a,N,ShengXu);

printf("%s排序后,数组各元素是:\n",(1==ShengXu "升序" : "降序"));

for(i=0;i<N;i++)

{

printf("%d ",a[i]);

}

printf("\n");

return 0;

}

//java是纯oo,方法只能搁在类里,包括main,而c++是面向过程+面向对象,main是全局的。c++代码如下:

#include <iostream>

using namespace std;

bool is(int n) //你要的函数

{

boo flag=false;

if(n%7==0||n%11==0)

{

flag=true;

}

return flag;

}

void main() //主函数

{

cout<<"请输入要检查的数字"<<endl;

int input = 0;

cin>>input;

bool output = is(input);

if(output) cout<<"此数可以被7或11整除"<<endl;

else cout<<"此数不可以被7或11整除"<<endl;

}

//c的代码就把

//#include <iostream>

//using namespace std;

//去掉,改为

//#include <stdio>

//将 cout<<""<<endl;改为

//printf("\n");

//将 cin>>;

//改为scanf("%d",)

#include <ctypeh> /需要的头文件/

int fun4(char ptr){

int num=0;

char tmp = ptr; /取得指针拷贝,而不修改原指针/

while(tmp != '\0'){ /终止条件/

if(islower(tmp))

num++;

tmp++; /扫描字符串/

}

return num;

}

edit:

刚看了我楼上的回答,如果楼主还处在比较入门的阶段,上面的回答较好,不用另加头文件,也不用islower()这个函数。

但是楼上的回答有一个严重的错误,while loop内指针p没有递增,可能是遗漏了。要修正的话,在while loop截止前加上 "p++;" 才行。

typedef unsigned char BYTE8;

void setbit(BYTE8 bits[], int index)

{

int a = index>>3;/计算字节数/

int b = index&7;/计算字节内的位数/

BYTE8 mask=0x80;/第一位是1的掩码/

bits[a] |= (mask>>b);

}

PS:顺便写个取得某一个位是0还是1的函数。

int getbit(BYTE8 bits[], int index)

{

int a = index>>3;/计算字节数/

int b = index&7;/计算字节内的位数/

BYTE8 mask=0x80;/第一位是1的掩码/

return (bits[a] & (mask>>b))!=0;

}

MATLAB中的M文件包含两种,一是M脚本,而是M函数其中M脚本就是最简单的MATLAB命令的集合,可以通过在Command Window中输入脚本文件名直接运行M函数和脚本很相识,不过必须以function [out1,out2,]=function funname(in1,in2,)的形式开头,推荐函数名和文件名相同(当然可以不同),在Command Window中使用文件名调用相关函数。下面使用一个例子说明哦:function [xe,ye]=exchange(x,y)% 等号左边[]中的是输出参数,可以任意多个% 函数名右边的()是出入参数,可以任意多个% 将这个函数保存为exchangem文件,当然文件名可以任意,不过推荐使用函数名xe=y;ye=x;我们可以在Command Window或者其它M文件中调用这个函数:x=exchange(5,6) %只是返回第一个参数[x,y]=exchange(5,6) % 同时返回两个参数

C语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。函数定义的一般形式如下:类型标识符 函数名(形参表列) // 这是函数首部 // 以下{ }内的是函数体 { 说明部分执行部分 } 举例说明如下: // 定义一个不带返回值的函数 // 函数功能:输出形参的值 void fun(int a, int b) { printf("%d, %d\n", a, b); } // 定义一个带返回值的函数 // 函数功能:返回2个整数数的最大值 int fun(int a, int b) { return a>b a : b; }

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/13494804.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存