用函数编写一个C语言程序

用函数编写一个C语言程序,第1张

语文 一92分 二95分 三85分 四88分 五89分 数学 一85分 二87分 三95分 四99分 五97分 科学 一88分 二77分 三89分 四87分 五85分 英语 一99分 二100分 三98分 四100分 五98分 品德与社会 一88分 二37分 三85分 四100分 五99分 地理 一98分 二87分 三67分 四65分 五100分

遍历字符串,判断内容对满足条件的进行计数,对计数结果存放在数组,最后返回数组首地址。这个结果数组,可用静态也可用malloc函数申请。最后主函数接收打印。

#include <stdioh>

int fun(char st);

int main()

{

  char st[]="abcdebcsbag";

  int cnts=NULL;

  cnts=fun(st);

  printf("a的个数%d,b的个数%d,c的个数%d\n",cnts[0],cnts[1],cnts[2]);

  return 0;

}

int fun(char st)

{

  static int cnts[3]={0};//数组cnts的三个地址分别存储a,b,c的个数,这个内存地址也可以用malloc函数申请

  --st;

  while(++st!=0){

      if(st=='a') cnts[0]++;

      if(st=='b') cnts[1]++;

      if(st=='c') cnts[2]++;

  }

  return cnts;

}

1、比较死板的方法是自己写一个delay函数,里面用for,while等做一些循环,下面是1ms的延时函数

void delay1ms(void)

{

unsigned char i,j;

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

for(j=0;j<33;j++);

}

具体算法是//(3j+2)i=(3×33+2)×10=1010(us),但精确度不高,如果想准确点可以调节相应的参数用示波器来实

现,上面的函数适用于程序简单,对时间性要求不高,如:点led灯,单个按键 *** 作等等。

2,就是用定时器中断里面设定标志位来产生延时的方法,比如你可以把定时器设定为每1ms进一次中断,在中断里面

把一个标志位(如flag)置一

当你需要1ms延时的时候你可以先初始化定时器,然后查询标志位是否置一,置一则执行if后面的语句,即if(fla{};

当你需要10ms延时时,你可以把flag设置为uchar,中断里面flag++;外面查询用if(10==flag){};

以此类推,上面的方法精确度高适用地方。

//希望kutpbpb的回答能对你有所帮助!

//该程序已调试,并可正确运行,可根据需要再作调整!

#include <stdioh>

struct node

{

int element;

struct node next;

};

void InsertList(struct node pList,int e)

{

struct node first = NULL,second = NULL,temp = NULL;

first = pList;

second = pList->next;

//找寻合适插入位置first与second之间

while(second && (second->element < e))

{

first = second;

second = second->next;

}

//申请节点

temp = malloc(sizeof(struct node));

temp->next = NULL;

temp->element = e;

//插入

first->next=temp;

temp->next=second;

}

void DisplayList(struct node pList)

{

printf("\nDisplay the list:");

struct node temp = pList->next;

if(!temp)

{

printf("\nEmpty!!!");

}

while(temp)

{

printf("%d ",temp->element);

temp = temp->next;

}

}

int main(void)

{

struct node list = NULL,temp = NULL ;

//初始化带头节点单链表

temp = malloc(sizeof(struct node));

temp->next = NULL;

list = temp;

//插入元素,以元素-1作为插入结束标记

int indata = 0;

do

{

printf("\nEnter Insert data:");

scanf("%d",&indata);

InsertList(list,indata); //插入

DisplayList(list); //输出

}while(indata!=-1);

//释放内存;

while(list)

{

temp = list->next;

free(list);

list =temp;

}

puts("!!!Hello World!!!"); / prints !!!Hello World!!! /

return 0;

}

可以使用穷举

以半筐鱼为1,满筐鱼为2,则每人分鱼为7, 最多三个满筐

在分到n个满筐后,半筐数为7-n2 , 空筐数为7-n-(7-n2)=n

也就是说,满筐和空筐相等。

#include <stdioh>

int main()

{

    int a1,b1,a2,b2,a3,b3;

    for(a1=0;a1<=3; a1++)

    {

        b1=7-a12;

        for(a2=0;a2<=3; a2++)

        {

            b2=7-a22;

            if(b2<0) continue;

            a3=7-a1-a2;

            b3=7-b1-b2;

            if(a3>=0 && b3>=0)

            {

                printf("%d %d %d\n", a1,b1,a1);

                printf("%d %d %d\n", a2,b2,a2);

                printf("%d %d %d\n", a3,b3,a3);

                printf("\n");

            }

        }

    }

    return 0;    

}

以上就是关于用函数编写一个C语言程序全部的内容,包括:用函数编写一个C语言程序、C语言,需要编写程序并调用函数。求助、编写软件延时函数子程序, 子程序名为delay,返回类型为void等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9853914.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存