鱼七啊 发表于 2021-3-17 21:31:03

查错,请求资深鱼油帮忙找错。

编写函数,功能为从键盘输入一字符串,此字符串的长度。主函数输入字符串调用函数,输出结果
#include<stdio.h>
int fun(char *p)
{
char *p1=p;
while(*p!='\0')         // 判断是否是串尾
    p++;
return p-p1;         //两个指针的差为个数
}
int main()
{char a ;
    int i ;
    printf("请输入字符串");
    scanf("%s",&a);
    i= fun(a);            //调用函数
    printf("%d",i);
    return 0;}

编写函数,int fun(int lim, int aa) , 该函数的功能是求出小于 lim 的所有素数,并放在 aa 数组中。函 数返回所求出的素数的个数
#include <stdio.h>
#include <stdlib.h>
int fun(int lim,int aa)
{
int i,k,m=0;
for(i=2;i<=lim;i++)      //求小于lim的所有数从2开始,1不为素数
    for(k=2;k<=i;k++)
{if(k==i)aa=i;
      if(i%k==0)break;   //若不是素数退出循环
    }
return m;
}
int main()
{
int x,a;
printf("请输入一个数以求它以下的所有素数\n");
scanf("%d",&x);
printf("%d",fun(x,a));   //调用函数fun
return 0;
}


公司员工基本信息管理程序设计 设计结构体数组,结构中包含数据为:员工编号、姓名、性别、年龄、职务、部门、住址。
设计各个函数,分别实现以下功能: (1)输入数据 (2)显示所有员工信息 (3) 输入部门、性别,显示该部门的员工记录 设计菜单,通过选择菜单调用以上各函数。


#include <stdio.h>
#include <string.h>
struct gs                  //定义结构体
{
    int num;
    char name;
    char xing;
    int age;
    char zhiwu;
    char bumen;
    char zhuzhi;
}yuangong={                           
{01,"员工a","男",18,"职务a","部门a","住址a"},
{02,"员工b","女",19,"职务b","部门a","住址b"},
{03,"员工c","男",20,"职务c","部门b","住址c"},
{04,"员工d","女",21,"职务d","部门b","住址d"}};   //建立结构体数组

void shuru()
{
int i,b;
for(i=0;i<100;i++)
if(yuangong.num==0)          //员工编号不为0
{
    printf("请输入员工编号\n");
    scanf("%d",&yuangong.num);
   printf("请输入员工姓名\n");
    scanf("%s",yuangong.name);
   printf("请输入员工性别\n");
    scanf("%s",yuangong.xing);
   printf("请输入员工年龄\n");
    scanf("%d",&yuangong.age);
   printf("请输入员工职务\n");
    scanf("%s",yuangong.zhiwu);
   printf("请输入员工部门\n");
    scanf("%s",yuangong.bumen);
   printf("请输入员工住址\n");
    scanf("%s",yuangong.zhuzhi);
    printf("是否继续输入员工信息?\n继续输入请按1   不继续输入员工信息请按任意数字\n");
scanf("%d",&b);
if(b!=1)break;       //退出循环
}
}

void xianshi()
{
int i,b;
printf("编号姓名性别年龄    职务      部门      住址\n");
for(i=0;i<100;i++)
{
if(yuangong.num==0)break;
printf("%d",yuangong.num);
printf("%10s",yuangong.name);
printf("%5s",yuangong.xing);
printf("%5d",yuangong.age);
printf("%10s",yuangong.zhiwu);
printf("%10s",yuangong.bumen);
printf("%10s\n",yuangong.zhuzhi);
}
printf("请按任意数字返回菜单\n");
scanf("%d",&b);
}

void chaxun()
{
    char x,y;
    int i,b;
do{
    printf("请输入部门以查询该部门的员工信息\n");
    scanf("%s",x);                            //输入字符串
    printf ("请输入性别以查询该部门员工信息\n");
    scanf ("%s",y);                           //输入字符串
   printf("编号姓名性别年龄    职务      部门      住址\n");
    for(i=0,b=0;i<100;i++)
    {if(yuangong.num==0)                  //若员工编号为零
   {if(b==i)printf("无此部门或此部门无员工信息\n");
         break;         }//退出循环
   if(strcmp(x,yuangong.bumen)==0||strcmp (y,yuangong.xing)==0) //若两个字符串相等
    {printf("%d",yuangong.num);
   printf("%10s",yuangong.name);
   printf("%5s",yuangong.xing);
   printf("%5d",yuangong.age);
   printf("%10s",yuangong.zhiwu);
   printf("%10s",yuangong.bumen);
   printf("%10s\n",yuangong.zhuzhi);
   }else b++;

}
printf("是否继续查询\n 继续请按1      退出请按任意数字\n");
scanf("%d",&b);
if(b!=1)break;
}while(1);
}

int caidan()
{
int a,b;
printf("*****输入员工数据,请按1\n");
printf("*显示所有员工信息,请按2\n");
printf("*****查询某部门员工记录,请按3\n");
printf("*********退出程序,请按4\n");
scanf("%d",&a);
switch(a)
{
case 1:shuru();break;   //调用函数shuru
case 2:xianshi();break;//调用函xianshi
case 3:chaxun();break;//调用函数chaxun
case 4:return 0;//返回
default :printf("项目开发中...\n请按任意数字返回菜单\n");
scanf("%d",&b);
}
caidan();//调用函数caidan
return 0;
}

int main()
{
caidan(); //调用函数caidan
return 0;
}


这三个程序可能有些不足,希望大佬,帮忙指出并改正,不胜感激。

wp231957 发表于 2021-3-18 07:38:44

代码都不是自己写的吧,

鱼七啊 发表于 2021-3-18 10:41:21

wp231957 发表于 2021-3-18 07:38
代码都不是自己写的吧,

是自己写的,但老师说还有问题,我就有些不会了。

wp231957 发表于 2021-3-18 14:27:37

鱼七啊 发表于 2021-3-18 10:41
是自己写的,但老师说还有问题,我就有些不会了。

第一个:#include<stdio.h>

int fun(char *p)
{
    int ln=0;
    for(;*p!='\0';ln++,p++) ;         
    return ln;         
}

int main()
{
    char a ={'\0'};
    printf("请输入字符串");
    scanf("%s",&a);
    int ln= fun(a);            
    printf("%s 's len =%d\n",a,ln);
    return 0;
}

wp231957 发表于 2021-3-18 14:33:47

第三个估计没人帮你写的,量太大了
页: [1]
查看完整版本: 查错,请求资深鱼油帮忙找错。