C语言绩点计算

本人大一软件工程新生,刚开始接触C语言编程,希望各位码界前辈多多指教,多提一些对我的程序的意见,以便我在编程的道路上有所进步。

#include 
#define N 6//程序位数调整处
float A(int fration);
int main()
{
     
  printf("*********本产品暂时只支持六个学科的计算************\n");
   printf("如果计算单科绩点请输入1,如果计算平均绩点请输入2\n");
   int n;
   scanf("%d",&n);
   switch(n)
   {
     
        case 1:
          {
     
          printf("请输入该课程成绩:\n");
           int fration;
           float grade;
           scanf("%d",&fration);
           grade=A(fration);
           printf("你这科的绩点为%f\n",grade);
           break;
           }
         case 2:
          {
     
           int b[N],a[N],i;
           printf("分别输入科目1 2 3 4 5 6的学分:\n");//需调整
           float c[N],sum;
           for(i=0;i<N;i++)
           {
     
               scanf ("%d",&b[i]);
           }
           printf("分别输入科目1 2 3 4 5 6你所取得的成绩:\n");//需调整
           for(i=0;i<N;i++)
           {
     
               scanf("%d",&a[i]);
           }
           for(i=0;i<N;i++)
           {
     
               c[i]=A(a[i]);
           }
         //printf("c[]=%f",c[0]);调试程序
         float aver[6];
         int add=0;
         for(i=0;i<6;i++)
          {
     
              add=add+b[i];
          }
//printf("add=%d",add);调试程序
    for(i=0;i<N;i++)
    {
     
        aver[i]=b[i]*(c[i]/add);
    }
    for(i=0;i<N;i++)
    {
     
        sum=sum+aver[i];
    }
printf("你的平均绩点是%f\n",sum);
          }
          }
   printf("按任意数字结束\n");
   scanf("%d",&n);
    return 0;
}
//以下部分为子函数部分  
 
float A(int fration)
{
     
    int grade;
    grade=(fration-50)/10;
    return grade;
}  

你可能感兴趣的:(c语言)