c语言题目,急求答案

时间:2020-12-09 01:32:35
我是一个新手,确切的说是不怎么懂C语言的人,急求几个题目C程序答案(详细点,我可以自己运行下,万分感谢!!!)
1、1900年-2000年之间的润年(C语言)
2、N个学生,每个学生的信息包括(学号,性别,姓名),其中又包括四门课程的成绩(数学,语文,英语,政治)
要求输出其中平均成绩最高的学生(包括学号,性别,姓名)
3、从键盘输入20个整数,找出第一个能被其整除的数字(好像有三中情况)
4、对键盘中输入几个数字,找出最小数

8 个解决方案

#1


c语言是学了,对它没兴趣。。。现在学java 中。。。

#2


第一题先放上,其它的等回家再看看:


#include<stdio.h>
int main(void)
{
int year,leap;

for (year=1900;year<=2000;year++)
{
if ((year%4==0 && year%100!=0) || (year%400==0))
leap=1;
else 
leap=0;

if (leap)
printf("%d\n",year);
}
return 0;
}

#3


万分感谢

#4


#include<stdio.h>
#define N 10
struct student
{char num[6];
 char name[8];
 float score[3];
 float avr;
} stu[N];

void main()
{int i,j,maxi;
 float sum,max,average;
 for(i=0;i<N;i++)
 {printf("input score of student %d:\n",i+1);
  printf("NO.:");
  scanf("%s",stu[i].num);
  printf("name:");
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {printf("score %d:",j+1);
  scanf("%f",&stu[i].score[j]);
  }
 }

 average=0;
 max=0;
 maxi=0;
 for(i=0;i<N;i++)
 {sum=0;
  for(j=0;j<3;j++)
  sum+=stu[i].score[j];
  stu[i].avr=sum/3.0;
  average+=stu[i].avr;
  if(sum>max)
  {max=sum;
  maxi=i;
  }
 }
 average/=N;
 printf("   NO.      name   score1   score2  score3   average\n");
 for(i=0;i<N;i++)
 {printf("%5s%10s",stu[i].num,stu[i].name);
  for(j=0;j<3;j++)
  printf("%9.2f",stu[i].score[j]);
      printf("    %8.2f\n",stu[i].avr);
 }
 printf("average=%5.2f\n",average);
 printf("The highest score is:student %s,%s.\n",stu[maxi].num,stu[maxi].name);
 printf("His score are:%6.2f,%6.2f,%6.2f,average:%5.2f.\n",stu[maxi].score[0],
 stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);
}




第三题你参考一下这个吧!

#5


第2题:

#include <stdio.h> 
#include <string.h> 

#define STU_NUM 3//学生数 
#define SCORE_NUM 4//每个学生的科目数 

typedef struct /*定义结构体数组*/ 

char num[20]; /*学号*/ 
char name[20]; /*姓名*/ 
float score[SCORE_NUM]; /*成绩*/ 
float total;//总分 
float average;//平均分 
} Student; 

Student stu[STU_NUM]; 

//输入学生信息 
void input() 

int i,j; 

printf("请输入%d个学生的信息:\n",STU_NUM); 
for(i=0;i<STU_NUM;i++) 

printf("学号:"); 
scanf("%s",stu[i].num); 
printf("姓名:"); 
scanf("%s",stu[i].name); 
for(j=0;j<SCORE_NUM;j++) 

printf("科目%d的成绩:",j+1); 
scanf("%f",&stu[i].score[j]); 




//输出学生信息 
void output(int i) 

int j; 

//打印表头 
printf("学号\t姓名\t"); 
for(j=0;j<SCORE_NUM;j++) 

printf("科目%d\t",j+1); 

printf("总分\t平均分\n"); 

printf("%s\t%s\t",stu[i].num,stu[i].name); 
for(j=0;j<SCORE_NUM;j++) 

printf("%3.2f\t",stu[i].score[j]); 

printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average); 


//计算总分和平均分 
void process() 

int i,j; 

for(i=0;i<STU_NUM;i++) 

stu[i].total=0; 
for(j=0;j<SCORE_NUM;j++) 

stu[i].total+=stu[i].score[j]; 

stu[i].average=stu[i].total/SCORE_NUM; 



//找平均成绩最高的
int find() 

int i,j,max; 

max=0;
for(i=1;i<STU_NUM;i++) 

if(stu[max].average<stu[i].average) 

max=i; 


return max;


void main() 

input(); 
process(); 
output(find()); 
}

#6


哎!
最好还是自己做的好!

#7


最后一题:(假设输入的是5个数)

#include<stdio.h>
int main(void)
{
int a[5];
int i,min;

printf("Input 5 numbers:\n");
for (i=0;i<=4;i++)
scanf("%d",&a[i]);

min=a[0];
for (i=0;i<=3;i++)
{
if (a[i]<min)
min=a[i];
}
printf("Min=%d\n",min);
return 0;
}

#8


c语言书上就有例子的~~

#1


c语言是学了,对它没兴趣。。。现在学java 中。。。

#2


第一题先放上,其它的等回家再看看:


#include<stdio.h>
int main(void)
{
int year,leap;

for (year=1900;year<=2000;year++)
{
if ((year%4==0 && year%100!=0) || (year%400==0))
leap=1;
else 
leap=0;

if (leap)
printf("%d\n",year);
}
return 0;
}

#3


万分感谢

#4


#include<stdio.h>
#define N 10
struct student
{char num[6];
 char name[8];
 float score[3];
 float avr;
} stu[N];

void main()
{int i,j,maxi;
 float sum,max,average;
 for(i=0;i<N;i++)
 {printf("input score of student %d:\n",i+1);
  printf("NO.:");
  scanf("%s",stu[i].num);
  printf("name:");
  scanf("%s",stu[i].name);
  for(j=0;j<3;j++)
  {printf("score %d:",j+1);
  scanf("%f",&stu[i].score[j]);
  }
 }

 average=0;
 max=0;
 maxi=0;
 for(i=0;i<N;i++)
 {sum=0;
  for(j=0;j<3;j++)
  sum+=stu[i].score[j];
  stu[i].avr=sum/3.0;
  average+=stu[i].avr;
  if(sum>max)
  {max=sum;
  maxi=i;
  }
 }
 average/=N;
 printf("   NO.      name   score1   score2  score3   average\n");
 for(i=0;i<N;i++)
 {printf("%5s%10s",stu[i].num,stu[i].name);
  for(j=0;j<3;j++)
  printf("%9.2f",stu[i].score[j]);
      printf("    %8.2f\n",stu[i].avr);
 }
 printf("average=%5.2f\n",average);
 printf("The highest score is:student %s,%s.\n",stu[maxi].num,stu[maxi].name);
 printf("His score are:%6.2f,%6.2f,%6.2f,average:%5.2f.\n",stu[maxi].score[0],
 stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);
}




第三题你参考一下这个吧!

#5


第2题:

#include <stdio.h> 
#include <string.h> 

#define STU_NUM 3//学生数 
#define SCORE_NUM 4//每个学生的科目数 

typedef struct /*定义结构体数组*/ 

char num[20]; /*学号*/ 
char name[20]; /*姓名*/ 
float score[SCORE_NUM]; /*成绩*/ 
float total;//总分 
float average;//平均分 
} Student; 

Student stu[STU_NUM]; 

//输入学生信息 
void input() 

int i,j; 

printf("请输入%d个学生的信息:\n",STU_NUM); 
for(i=0;i<STU_NUM;i++) 

printf("学号:"); 
scanf("%s",stu[i].num); 
printf("姓名:"); 
scanf("%s",stu[i].name); 
for(j=0;j<SCORE_NUM;j++) 

printf("科目%d的成绩:",j+1); 
scanf("%f",&stu[i].score[j]); 




//输出学生信息 
void output(int i) 

int j; 

//打印表头 
printf("学号\t姓名\t"); 
for(j=0;j<SCORE_NUM;j++) 

printf("科目%d\t",j+1); 

printf("总分\t平均分\n"); 

printf("%s\t%s\t",stu[i].num,stu[i].name); 
for(j=0;j<SCORE_NUM;j++) 

printf("%3.2f\t",stu[i].score[j]); 

printf("%3.2f\t%3.2f\n",stu[i].total,stu[i].average); 


//计算总分和平均分 
void process() 

int i,j; 

for(i=0;i<STU_NUM;i++) 

stu[i].total=0; 
for(j=0;j<SCORE_NUM;j++) 

stu[i].total+=stu[i].score[j]; 

stu[i].average=stu[i].total/SCORE_NUM; 



//找平均成绩最高的
int find() 

int i,j,max; 

max=0;
for(i=1;i<STU_NUM;i++) 

if(stu[max].average<stu[i].average) 

max=i; 


return max;


void main() 

input(); 
process(); 
output(find()); 
}

#6


哎!
最好还是自己做的好!

#7


最后一题:(假设输入的是5个数)

#include<stdio.h>
int main(void)
{
int a[5];
int i,min;

printf("Input 5 numbers:\n");
for (i=0;i<=4;i++)
scanf("%d",&a[i]);

min=a[0];
for (i=0;i<=3;i++)
{
if (a[i]<min)
min=a[i];
}
printf("Min=%d\n",min);
return 0;
}

#8


c语言书上就有例子的~~