魔灵召唤吧 关注:588,453贴子:13,013,482
  • 7回复贴,共1

求大神帮忙注释下面的c程序,随便送号一枚

只看楼主收藏回复

明天就要交了,累觉不爱呀,时间都用来玩游戏了。
Myfile.c文件
#include<stdio.h>
#include"common.h"
int main()
{
int number,n,flag;
char ch;
flag=1;
printf("Input the number of stduents:");
scanf("%d",&n);
function1(n);
function2(n,num,name);
function3(n,score,name);
while(flag=1)
{
printf("Input a number to get the name:");
scanf("%d",&number);
function4(n,number,num,name,score);
printf("Continue to serch(Y/N)?");
getchar();
ch=getchar();
if(ch=='n'||ch=='N')
flag=0;
}
}
common.h文件
int num[100],score[100];
char name[100][10];
void function1(int n)
{
int i;
for(i=0;i<n;i++)
{
printf("No.:");
scanf("%d",&num[i]);
printf("Score:");
scanf("%d",&score[i]);
printf("Name:");
getchar();
gets(name[i]);
}
}
void function2(int n,int num[],char name[][10])
{
int i,j,k,m;
char c[10];
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(num[k]>num[j])
k=j;
if(i!=k)
{
m=num[i];
num[i]=num[k];
num[k]=m;
m=score[i];
score[i]=score[k];
score[k]=m;
strcpy(c,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],c);
}
}
printf("For number:\n");
for(i=0;i<n;i++)
printf("%d %d %s\n",num[i],score[i],name[i]);
}
void function3(int n,int score[],char name[][10])
{
int i,a,b,m;
char c[10];
for(i=0;i<n-1;i++)
{
b=i;
for(a=i+1;a<n;a++)
if(score[b]>score[a])
b=a;
if(i!=b)
{
m=score[i];
score[i]=score[b];
score[b]=m;
m=num[i];
num[i]=num[b];
num[b]=m;
strcpy(c,name[i]);
strcpy(name[i],name[b]);
strcpy(name[b],c);
}
}
printf("For score:\n");
for(i=0;i<n;i++)
printf("%d %d %s\n",score[i],num[i],name[i]);
}
void function4(int n,int number,int num[],char name[][10])
{
int i,flag;
flag=0;
printf("The No.%d is ",number);
for(i=0;i<n;i++)
if(number==num[i])
{
printf("%s %d\n",name[i],score[i]);
flag=1;
}
if(flag==0)
printf("not find.\n");
}
二、运行结果


来自Android客户端1楼2015-01-10 18:01回复
    你也是屌。。不去c语言吧 跑来这里求


    来自Android客户端2楼2015-01-10 18:04
    回复
      求送号


      IP属地:河北3楼2015-01-10 20:40
      回复
        简单的成绩输入,排列查询程序而已


        6楼2015-01-11 01:27
        回复
          #include<stdio.h> //包含头文件
          #include"common.h" //包含头文件
          int main()
          {
          int number,n,flag; //定义变量
          char ch;//定义变量
          flag=1; //flag值设为1
          printf("Input the number of stduents:"); //屏幕显示Input the number of stduents:
          scanf("%d",&n); //输入n
          function1(n); //调用函数function1
          function2(n,num,name);//调用函数function2
          function3(n,score,name); //调用函数function3
          while(flag=1) //当flag值为1时进入下面
          {
          printf("Input a number to get the name:"); //屏幕显示Input a number to get the name:
          scanf("%d",&number); //输入number
          function4(n,number,num,name,score); //调用函数function4
          printf("Continue to serch(Y/N)?");//屏幕显示Continue to serch(Y/N)?
          getchar(); //读取字符
          ch=getchar(); //ch赋值刚才输入的字符
          if(ch=='n'||ch=='N') //如果ch是n或者N
          flag=0; //flag值设为0
          }
          }


          IP属地:江苏7楼2015-01-11 01:43
          回复
            能把号送我


            来自Android客户端8楼2015-01-11 01:44
            回复
              int num[100],score[100]; //定义数组num和score
              char name[100][10]; //定义char型二位数组name
              void function1(int n) //函数function1
              {
              int i;
              for(i=0;i<n;i++) //循环
              {
              printf("No.:");
              scanf("%d",&num[i]); //输入num
              printf("Score:");
              scanf("%d",&score[i]); //输入分数
              printf("Name:"); //输出名字
              getchar();
              gets(name[i]); //获取输入学号和分数的名字
              }
              }


              IP属地:江苏9楼2015-01-11 01:51
              回复
                求送


                来自iPhone客户端10楼2015-01-11 09:02
                回复