鱼C论坛

 找回密码
 立即注册
查看: 1732|回复: 4

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

[复制链接]
发表于 2021-3-17 21:31:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

编写函数,int fun(int lim, int aa[50]) , 该函数的功能是求出小于 lim 的所有素数,并放在 aa 数组中。函 数返回所求出的素数的个数
#include <stdio.h>
#include <stdlib.h>
int fun(int lim,int aa[50])
{
int i,k,m=0;
for(i=2;i<=lim;i++)        //求小于lim的所有数从2开始,1不为素数
    for(k=2;k<=i;k++)
  {if(k==i)aa[m++]=i;
      if(i%k==0)break;   //若不是素数退出循环
    }
return m;
}
int main()
{
int x,a[50];
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[30];
    char xing[30];
    int age;
    char zhiwu[30];
    char bumen[30];
    char zhuzhi[30];
}yuangong[100]={                           
{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[i].num==0)          //员工编号不为0
{
    printf("请输入员工编号\n");
    scanf("%d",&yuangong[i].num);
     printf("请输入员工姓名\n");
    scanf("%s",yuangong[i].name);
     printf("请输入员工性别\n");
    scanf("%s",yuangong[i].xing);
     printf("请输入员工年龄\n");
    scanf("%d",&yuangong[i].age);
     printf("请输入员工职务\n");
    scanf("%s",yuangong[i].zhiwu);
     printf("请输入员工部门\n");
    scanf("%s",yuangong[i].bumen);
     printf("请输入员工住址\n");
    scanf("%s",yuangong[i].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[i].num==0)break;
printf("%d",yuangong[i].num);
printf("%10s",yuangong[i].name);
printf("%5s",yuangong[i].xing);
printf("%5d",yuangong[i].age);
printf("%10s",yuangong[i].zhiwu);
printf("%10s",yuangong[i].bumen);
printf("%10s\n",yuangong[i].zhuzhi);
}
printf("请按任意数字返回菜单\n");
scanf("%d",&b);
}

void chaxun()
{
    char x[40],y[40];
    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[i].num==0)                  //若员工编号为零
     {if(b==i)printf("无此部门或此部门无员工信息\n");
         break;         }//退出循环
     if(strcmp(x,yuangong[i].bumen)==0||strcmp (y,yuangong[i].xing)==0) //若两个字符串相等
    {printf("%d",yuangong[i].num);
     printf("%10s",yuangong[i].name);
     printf("%5s",yuangong[i].xing);
     printf("%5d",yuangong[i].age);
     printf("%10s",yuangong[i].zhiwu);
     printf("%10s",yuangong[i].bumen);
     printf("%10s\n",yuangong[i].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;
}


这三个程序可能有些不足,希望大佬,帮忙指出并改正,不胜感激。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-18 07:38:44 From FishC Mobile | 显示全部楼层
代码都不是自己写的吧,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-18 10:41:21 | 显示全部楼层
wp231957 发表于 2021-3-18 07:38
代码都不是自己写的吧,

是自己写的,但老师说还有问题,我就有些不会了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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[100] ={'\0'};
    printf("请输入字符串");
    scanf("%s",&a);
    int ln= fun(a);             
    printf("%s 's len =%d\n",a,ln);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-18 14:33:47 | 显示全部楼层
第三个  估计没人帮你写的,量太大了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 04:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表