|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
}
这三个程序可能有些不足,希望大佬,帮忙指出并改正,不胜感激。
|
|