您的位置:

c语言大神名称,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;  

}