查错,请求资深鱼油帮忙找错。
编写函数,功能为从键盘输入一字符串,此字符串的长度。主函数输入字符串调用函数,输出结果#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
代码都不是自己写的吧,
是自己写的,但老师说还有问题,我就有些不会了。
鱼七啊 发表于 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;
} 第三个估计没人帮你写的,量太大了
页:
[1]