本文目录一览:
- 1、求一个C语言大神
- 2、c语言大神看过来~~
- 3、求C语言大神,帮写个程序
- 4、用C语言编程,求大神!
- 5、求c语言大神帮忙编下这道题,候选人名字依次为zhang,li,wang,zhao,liu,zhu
- 6、求C语言程序大神!
求一个C语言大神
如果文件是
FILE* fp=fopen("staff.txt","w");
结构体变量 如 struct node stu
fwrite(stu,sizeof(struct node),1,fp);
就可以了
fflush(stdin) 作用就是刷新缓存
strcmp(staff[i].num," ")!=0 作用就是staff[i].num不能为空串,就是不能为空啦
c语言大神看过来~~
int 是4.。 所以a【10】 = 4*10 =40
func(a)传递的是指针。。指针的长度是int 所以答案是 4.。
你的答案是错误的 。我刚测试过。。 答案是40 , 4 。。面试的时候都是这个答案
#include "stdio.h"
void func(int a[10])
{
printf("%d\n", sizeof(a));
}
int main()
{
int a[10];
printf("%d\n", sizeof(a));
func(a);
}
求C语言大神,帮写个程序
/***echo.c***/
#include stdio.h
void main(int argc,char *argv[])
{
while(--argc0)
printf("%s%c",*++argv,(argc1)?' ':'\n');
}
用C语言编程,求大神!
//学生选修课系统 V14.11.16
//可作为参考程序
//C99标准,使用C-Free运行通过
#includestdio.h
#includewindows.h
#includestdlib.h
#includeconio.h
#define st struct class kc[]
#define cls system("cls")
struct class{
char name[50];
int xz;
int all_time;
int tch_time;
int pc_times;
int sore;
int start_time;
int haved;
}kc[];//课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期,是否存在
struct class kc[100]={
};
void ttdy(char text[],int bftime,int p_time,int clsa,int hh);//动画打印
void btdy(char title[],char cha[]);
void help();
void input_info();
void del_info();
void look_info();
void search_info();
void sh1();
void sh2();//查询方式
void helpc();
int num_check();
void change_info();
void change_ck(int num);
void sav_date();
void get_date();
int dh_k=1;//判断动画播放
int main(void)//主菜单
{
char ch;
int pn;
cls;
system("color 30");
system("mode con:cols=100 lines=35");
system("title 【选修课系统】");
FILE *fp;
fp=fopen("c:\\StudentDATE.dat","a");
fclose(fp);//为防止无文件而创建文件
get_date();
if(dh_k==1)
{
ttdy("欢迎使用【选修课系统】",100,1000,1,5);
cls;
helpc();
dh_k=0;
}//动画仅在开始时播放
btdy("【选修课系统】V1.3","-");
printf("\n\t|-----------------------------------|");
printf("\n\t| [1]--增加课程 |");
printf("\n\t| [2]--浏览课程 |");
printf("\n\t| [3]--查询课程 |");
printf("\n\t| [4]--删除课程 |");
printf("\n\t| [5]--修改课程 |");
printf("\n\t| [Q]--退出系统 |");
printf("\n\t|-----------------------------------|");
while(1)
{
ch=getch();
if(ch=='1')
input_info();
if(ch=='2')
look_info();
if(ch=='3')
search_info();
if(ch=='4')
del_info();
if(ch=='5')
change_info();
if(ch=='q'||ch=='Q')
exit(1);
else
main();
}
}
void input_info()//增加课程
{
cls;
char ch;
char ck_name[50];
int pn,count=0;
btdy("【增加课程】","-");
printf("\n输入课程名称:");
scanf("%s",ck_name);
for(pn=0;pn100;pn++)
{
if((strcmp(kc[pn].name,ck_name)==0)kc[pn].haved==1)
{
printf("\n\a▲此课程已存在,请按任意键重新输入!");
getch();
input_info();
}
}
for(pn=0;pn100;pn++)
{
if(kc[pn].haved==1)
count++;
}
strcpy(kc[count].name,ck_name);
printf("\n选择课程性质:");
printf("\n[B]--【必修】 [X]--【选修】");
while(1)
{
ch=getch();
if(ch=='b'||ch=='B')
{
kc[count].xz=1;
break;
}
if(ch=='x'||ch=='X')
{
kc[count].xz=2;
break;
}
}
printf("\n输入总学时:(只接受数字!)");
kc[count].all_time= num_check();
printf("\n输入授课学时:(只接受数字!)");
kc[count].tch_time=num_check();
printf("\n输入试验或上机学时:(只接受数字!)");
kc[count].pc_times=num_check();
if(kc[count].tch_time+kc[count].pc_timeskc[count].all_time)//非法课时数据检查
{
printf("数据非法,无法接受!实验课时与授课学时之和必须小于总课时!请重新输入!");
getch();
kc[count].haved=0;
input_info();
}
printf("\n输入本课程学分:(只接受数字!)");
kc[count].sore=num_check();
printf("\n输入开课学期:(只接受数字!)");
kc[count].start_time=num_check();
kc[count].haved=1;
sav_date();
printf("\n[Y]--继续下一个 [N]--返回菜单");
while(1)
{
ch=getch();
if(ch=='y'||ch=='Y')
input_info();
if(ch=='n'||ch=='N')
main();
}
input_info();
}
void look_info()//课程查看
{
int pn;
cls;
get_date();
btdy("【查看课程】","-");
printf("\n名称 \t性质\t总学时\t授课学时\t上机学时\t学分\t开课学期");
for(pn=0;pn100;pn++)
{
if(kc[pn].haved==1kc[pn].name!=" ")
{
printf("\n%-10s ",kc[pn].name);
if(kc[pn].xz==1)
printf("必修课");
else
printf("选修课");
printf(" %d时 %d时 %d时 %d分 %d时",kc[pn].all_time
,kc[pn].tch_time,kc[pn].pc_times,kc[pn].sore,kc[pn].start_time);
}
}
getch();
}
void search_info()//查询选择菜单
{
char ch;
int pn;
cls;
btdy("【课程查询菜单】","-");
printf("\n请按数字选择查询方式:\n");
printf("\n\t[1]--按学分查询");
printf("\n\t[2]--按课程性质查询");
printf("\n\t[Q]--返回主菜单");
while(1)
{
ch=getch();
if(ch=='1')
sh1();
if(ch=='2')
sh2();
if(ch=='q'||ch=='Q')
main();
}
search_info();
}
void sh1()
{
cls;
int ck_num,pn,haved=0;
btdy("按学分查询课程","-");
printf("\n请输入要查询的学分(仅接受数字):");
ck_num=num_check();
for(pn=0;pn100;pn++)
{
if(ck_num==kc[pn].soreck_num!=' 'kc[pn].haved==1)
{
haved++;
printf("\n%-10s ",kc[pn].name);
if(kc[pn].xz==1)
printf("必修课");
else
printf("选修课");
printf(" %d时 %d时 %d时 %d分 %d时",kc[pn].all_time
,kc[pn].tch_time,kc[pn].pc_times,kc[pn].sore,kc[pn].start_time);
}
}
if(haved!=0)
{
getch();
search_info();
}
if(haved==0)
{
printf("\n\a没有该学分的课程!");
getch();
search_info();
}
}
void sh2()
{
cls;
int ck_num=0,pn,haved=0;
char ch;
btdy("按课程性质查询课程","-");
printf("\n[B]--【必修】 [X]--【选修】");
while(1)
{
ch=getch();
if(ch=='b'||ch=='B')
{
ck_num=1;
break;
}
if(ch=='x'||ch=='X')
{
ck_num=2;
break;
}
}
for(pn=0;pn100;pn++)
{
if(ck_num==kc[pn].xzkc[pn].haved==1)
{
haved++;
printf("\n%-10s ",kc[pn].name);
if(kc[pn].xz==1)
printf("必修课");
else
printf("选修课");
printf(" %d时 %d时 %d时 %d分 %d时",kc[pn].all_time
,kc[pn].tch_time,kc[pn].pc_times,kc[pn].sore,kc[pn].start_time);
}
}
if(haved!=0)
{
getch();
search_info();
}
if(haved==0)
{
printf("\n\a没有该性质的课程!");
getch();
search_info();
}
}
void del_info()//删除课程
{
char ch,cs,del_name[50];
int pn;
cls;
btdy("【删除课程】","-");
printf("\n请输入课程名称:");
scanf("%s",del_name);
for(pn=0;pn100;pn++)
{
if((strcmp(kc[pn].name,del_name))==0)
{
printf("\n是否确认要删除课程:【%s】",kc[pn].name);
printf("\n\n\t[Y]--确认 [N]--放弃 [A]--更改");
while(1)
{
ch=getch();
if(ch=='y'||ch=='Y')
{
strcpy(kc[pn].name," ");
kc[pn].haved=0;
printf("\n已成功删除课程%s!",kc[pn].name);
sav_date();
getch();
main();
}
if(ch=='n'||ch=='N')
main();
if(ch=='a'||ch=='A')
del_info();
else
;
}
}
}
printf("\n▲\a没有该课程!是否重新尝试?");
printf("\n\t[Y]--重新输入 [N]--放弃");
while(1)
{
cs=getch();
if(cs=='y'||cs=='Y')
del_info();
if(cs=='n'||cs=='N')
main();
}
del_info();
}
void change_info()//课程信息修改
{
int pn;
char cg_name[50],ch;
btdy("【课程信息修改】","-");
printf("\n请输入要修改的课程名称:");
scanf("%s",cg_name);
for(pn=0;pn100;pn++)
{
if((strcmp(kc[pn].name,cg_name))==0)
{
printf("\n确认要修改【%s】的信息?",kc[pn].name);
printf("\n\t[Y]--确认 [N]--放弃");
while(1)
{
ch=getch();
if(ch=='n'||ch=='N')
main();
if(ch=='y'||ch=='Y')
change_ck(pn);
else
change_info();
}
}
}
printf("\n\a▲没有查询到课程【%s】,请检查后重试!",cg_name);
getch();
main();
}
void change_ck(int num)//信息修改调用
{
char ck_name[50],ch;
int pn;
{
printf("\n●输入新的课程名称:");
scanf("%s",ck_name);
for(pn=0;pn100;pn++)
{
if(((strcmp(kc[pn].name,ck_name))==0)kc[pn].haved==1)
{
printf("\n\a▲此课程已存在,请按任意键重新输入!");
getch();
change_ck(num);
}
}
strcpy(kc[num].name,ck_name);
printf("\n选择课程性质:");
printf("\n[B]--【必修】 [X]--【选修】");
while(1)
{
ch=getch();
if(ch=='b'||ch=='B')
{
kc[num].xz=1;
break;
}
if(ch=='x'||ch=='X')
{
kc[num].xz=2;
break;
}
}
printf("\n输入总学时:(只接受数字!)");
kc[num].all_time=num_check();
printf("\n输入授课学时:(只接受数字!)");
kc[num].tch_time=num_check();
printf("\n输入试验或上机学时:(只接受数字!)");
kc[num].pc_times=num_check();
if(kc[num].tch_time+kc[num].pc_timeskc[num].all_time)//非法课时数据检查
{
printf("\n\n数据非法,无法接受!实验课时与授课学时之和必须小于总课时!请重新输入!");
getch();
kc[num].haved=0;
input_info();
}
printf("\n输入本课程学分:(只接受数字!)");
kc[num].sore=num_check();
printf("\n输入开课学期:(只接受数字!)");
kc[num].start_time=num_check();
}
printf("\n课程已经修改为:【%s】",ck_name);
sav_date();
getch();
main();
}
void btdy(char title[],char cha[])//标题显示
{
cls;
int pn;
for(pn=0;pn25;pn++)
printf(" ");
printf("%s\n",title);
for(pn=0;pn=60;pn++)
printf("%s",cha);
printf("\n");
}
void ttdy(char text[],int bftime,int p_time,int clsa,int hh)//动画打印
{
cls;
int pn,len;
for(pn=0;pn=hh;pn++)
{
printf("\n");
}
for(pn=0;pn25;pn++)
printf(" ");
len=strlen(text);
for(pn=0;pnlen;pn++)
{
printf("%c",text[pn]);
Sleep(bftime);
}
Sleep(p_time);
}
void helpc()
{
cls;
btdy("【首次使用说明】","-");
printf("\n本系统所有操作都由[](中括号)内的相应");
printf("\n字符进行,比如[1],那么你按下“1”键就可");
printf("\n以执行短线后的功能。在输入数据时,请按");
printf("\n提示进行正确输入,否则不会接受。一些输入");
printf("\n可以从快捷菜单选择答案,此时只要按键选择");
printf("\n即可。输入项输入完毕要按Enter确认。");
printf("\n");
printf("\n");
getch();
}
int num_check()//接受数字检查
{
char ch;
int num=0;
while(1)
{
while(_kbhit()==0);
ch=getch();
if(ch=='\n'||ch=='\r')
{
return num;
break;
}
else if(ch=='\b')
{
num/=10;
printf("\b \b");
}
else if('0'=chch='9')
{
num*=10;
num+=ch-'0';
printf("%d",ch-'0');
}
}
}
void sav_date()//写入档案
{
int pn=0;
FILE *fp;
if((fp=fopen("c:\\StudentDATE.dat","w+"))==NULL)
{
printf("\n文件写入失败!");
getch();
exit(1);
}
for(pn=0;pn100;pn++)
{
if(kc[pn].haved==1kc[pn].name!=" ")
{
if(fwrite(kc[pn],sizeof(struct class),1,fp)!=1)
{
printf("\n文件写入失败!");
getch();
exit(1);
}
}
}
fclose(fp);
}
void get_date()//读取档案
{
int pn=0;
FILE *fp;
if((fp=fopen("c:\\StudentDATE.dat","rb"))==NULL)
{
printf("\n文件读取失败!");
getch();
exit(1);
}
rewind(fp);
while(fread(kc[pn],sizeof(struct class),1,fp)==1pn100)
{
pn++;
}
if(feof(fp))
{
fclose(fp);
}
else
{
printf("\n文件读取失败!");
getch();
exit(1);
}
}
求c语言大神帮忙编下这道题,候选人名字依次为zhang,li,wang,zhao,liu,zhu
#includemath.h
struct person
{
char name[20];
int count;
}a[] = {{"zhang",0},{"li",0},{"wang",0},{"zhao",0},{"liu",0},{"zhu",0}};
void main()
{
int i,j;
char abc[20];
for(i=1;i=10;i++)
{
printf("输入候选人名字:");
scanf("%s",abc);
for(j=0;j6;j++)
{
if(strcmp(abc,a[j].name)==0)
{
a[j].count++;
break;
}
}
for(j=0;j6;j++)
{
printf("%s 得票为 %d\n",a[j].name,a[j].count);
}
}
}
求C语言程序大神!
#include stdio.h
#define N 1000 //预定义员工个数
/*定义员工结构体*/
struct Employee
{
char ID[20];
char Name[20];
float Mark1;
};
/*声明员工数组及员工数量*/
struct Employee Employees[N];
int num=0;
/*插入员工信息*/
int Employee_Insert(){
while(1){
printf("请输入员工ID:");
scanf("%s",Employees[num].ID);
getchar();
printf("请输入姓名:");
scanf("%s",Employees[num].Name);
getchar();
printf("请输入业绩:");
scanf("%f",Employees[num].Mark1);
getchar();
num++;
printf("是否继续?(y/n)");
if (getchar()=='n'){
break;
}
}
return num;
}
/*按业绩排序*/
void Employee_Sort(){
int i,j;
struct Employee tmp;
for (i=0;inum;i++){
for (j=1;jnum-i;j++){
if (Employees[j-1].Mark1Employees[j].Mark1){ //降序
tmp=Employees[j-1];
Employees[j-1]=Employees[j];
Employees[j]=tmp;
}
}
}
}
/*显示员工信息*/
void Employee_Display() {
int i,t;
printf("%10s%10s%20s\n","工号","姓名","业绩"); //显示格式可自行调整
printf("---------------------------------------------------------\n");
if(num10)//员工不超过10人,全部显示
//超过10人,显示排序前10
t=10;
else
t=num;
for(i=0;it;++i){ //显示格式可自行调整
printf("%10s%10s%18.2f\n",
Employees[i].ID,Employees[i].Name,Employees[i].Mark1);
}
}
/*主程序*/
int main(){
Employee_Insert(); //输入员工信息
Employee_Sort(); //排序
Employee_Display();
return 0;
}