这是一个简单的C语言编程题,请用C语言编辑下。这几天要交,请您尽快回答谢谢啦。(用VC6.0软件编写)

作者&投稿:宗巩 (若有异议请与网页底部的电邮联系)
这是一个简单的C语言编程题,明天就要交了,谢谢~

我以前做的....要按你这个做不是一下两下弄得完的吧........
你看看能盖着用就改这用吧

vc,tc,win-tc编译通过
33.学生成绩管理程序设计
(1)选项菜单集成各功能函数模块
(2)录入学生成绩(姓名、学号、语文、数学成绩,总分自动计算)
(3)按总分排名次
(4)按姓名查找某学生成绩
(5)统计各课程的平均分、及格率、最高分、最低分
#include "stdio.h"
#include "windows.h"
int sum=0,x,data=0;
struct STU
{
char name[20];
char num[20];
int chinese_great;
int math_great;
int all;
}stu[200];/*定义学生结构体以及学生结构体数组*/
struct STU *temp;
struct STU *p[200];
void in();/*自定义学生信息输入函数*/
void all_swap();/*总分排名*/
void menu();/*菜单*/
void name_swap();/*姓名查找*/
void tongji();/*统计*/
int ssame(char a[],char b[]);/*字符串比对函数*/
void over();/*退出*/

void main()
{
menu();
switch (x)
{
case 1 : data=1;system("cls");in();break;
case 2 : system("cls");all_swap();break;
case 3 : system("cls");name_swap();break;
case 4 : system("cls");tongji();break;
}

}
/*菜单*/
void menu()
{
system("cls");
printf("******************************学生成绩管理系统****************************
");
printf("请选择你需要的操作:
");
printf("1.录入学生成绩(姓名、学号、语文、数学成绩,总分自动计算)
");
printf("2.按总分排名次
");
printf("3.按姓名查找某学生成绩
");
printf("4.统计各课程的平均分、及格率、最高分、最低分
");
printf("5.打印成绩表
");
scanf("%d",&x);

}
/*学生信息输入函数*/
void in()
{
int i;
int end=1;
for(i=0;i<200;i++)
{
sum++;
printf("请输入第%d个学生的姓名: ",i+1);
scanf("%s",&stu.name);
printf("请输入第%d个学生的学号: ",i+1);
scanf("%s",&stu.num);
printf("请输入第%d个学生的语文成绩: ",i+1);
scanf("%d",&stu.chinese_great);
printf("请输入第%d个学生的数学成绩: ",i+1);
scanf("%d",&stu.math_great);
stu.all=stu.chinese_great+stu.math_great;
printf("





1:继续录入
2:结束录入
请选择:");
scanf("%d",&end);
if(end==2)
break;
else if (end==1) system("cls");
else over();
}/*FOR结束*/
system("cls");
main();
}/*学生信息输入函数结束*/
/*按总分排名*/
void all_swap()
{
int i,j,q=0;
for(i=0;i<=sum;i++)
p=&stu;

for(i=0;i<=sum-1;i++)
for (j=i+1;j<=sum;j++)
{
if(stu.all<stu[j].all)
{
temp=p;
p=p[j];
p[j]=temp;

}

}
printf(" 名次 姓名 学号 总成绩
");
for(i=0;i<sum;i++)
printf(" %d %s %s %d
",i+1,p->name,p->num,p->all);
printf("输入 1 返回主菜单,输入其他退出");
scanf("%d",&q);
if(q==1)
{
system("cls");
main();
}
else over();

}/*总分查询结束*/
/*名字查询*/
void name_swap()
{
int i,q;
char temp[20];
for(i=0;i<=sum;i++)
p=&stu;

printf("








\ 请输入您要查询的学生姓名
");
scanf("%s",&temp);
for (i=0;i<=sum;i++)
{
if(ssame(temp,p->name)==0)
{
system("cls");
printf("你所查找的学生已找到
姓名:%s
学号: %s
数学成绩:%d
语文成绩:%d
总成绩:%d ",p->name,p->num,p->chinese_great,p->math_great,p->all);
printf("





输入 1 返回主菜单,输入其他退出");
scanf("%d",&q);
if(q==1)
{
system("cls");
main();
}
else over();
}
else
{
system("cls");
printf("





未找到与%s有关的记录",temp);
printf("





输入 1 返回主菜单,输入其他退出");
scanf("%d",&q);
if(q==1)
{
system("cls");
main();
}
else over();
}

}

} /*名字查询结束*/
/*统计*/
void tongji()
{
int i,q,chinese_max=0,chinese_min=9999,math_max=0,math_min=9999;long sum_chinese=0,sum_math=0;
float chinese_v,math_v,chinese_p,math_p,p_c=0,p_m=0;
if(data==1)
{

for(i=0;i<=sum;i++)
{
p=&stu;
sum_chinese=p->chinese_great+sum_chinese;
sum_math=p->math_great+sum_math;
if(p->chinese_great>=60)
p_c++;
if(p->math_great>=60)
p_m++;


}
chinese_v=sum_chinese/sum;/*语文平均分*/
math_v=sum_math/sum;/*数学平均分*/
chinese_p=(p_c/sum)*100;/*语文及格率*/
math_p=(p_m/sum)*100;/*数学及格率*/
for(i=0;i<sum;i++)
{
chinese_max=max(chinese_max,p->chinese_great);
chinese_min=min(chinese_min,p->chinese_great);
math_max=max(math_max,p->math_great);
math_min=min(math_min,p->math_great);
}
printf(" 科目 平均分 及格率 最高分 最低分
");
printf(" 语文 %f 百分之%f %d %d
",chinese_v,chinese_p,chinese_max,chinese_min);
printf(" 数学 %f 百分之%f %d %d
",math_v,math_p,math_max,math_min);
printf("





输入 1 返回主菜单,输入其他退出");
scanf("%d",&q);
if(q==1)
{
system("cls");
main();
}
else over();

}
else main();
}
/*字符串比对*/
int ssame(char a[],char b[])
{
int p=0,flag=0;
while (a[p]!='\0'||b[p]!='\0')
{
if((a[p]>b[p]) || (a[p]<b[p]))
{
flag=1;break;
}

p++;
}
if(flag==0)
{
if((a[p]!='\0') || (b[p]!='\0'))
flag=1;
}
return flag;
}/*字符串比对结束*/
/*退出*/
void over()
{
int q;
system("cls");
printf("








此操作将导致你退出本程序。
1:确认退出
2:返回主菜单");
scanf("%d",&q);
if(q==1)
exit(1);
else if (q==2)
main();
else over();
}

#include int main(){ int day = 0; int y = 0; int m = 1; int d = 0; scanf("%d-%d-%d", &y, &m, &d); switch(m-1) //故意没有在case里加break { case 11: day += 30; case 10: day += 31; case 9: day += 30; case 8: day += 31; case 7: day += 31; case 6: day += 30; case 5: day += 31; case 4: day += 30; case 3: day += 31; case 2: if((y % 4 == 0 && y % 100 != 0) ||y%400==0) { day += 29; } else { day += 28; } case 1: day += 31; default: break; } printf("%d", day+=d); return 0; }示例运行结果:
2016-10-28
302

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

#define MAX_STEP 20

//index: 0 - 狼,1-羊,2-菜,3-农夫,value:0-本岸,1-对岸
int a[MAX_STEP][4];
int b[MAX_STEP];

char *name[] =
{
"空手",
"带狼",
"带羊",
"带菜"
};

void search(int iStep)
{
int i;
if (a[iStep][0] + a[iStep][1] + a[iStep][2] + a[iStep][3] == 4)
{
for (i = 0; i < iStep; i++)
{
if (a[i][3] == 0)
{
printf("%s到对岸\n", name[b[i] + 1]);
}
else
{
printf("%s回本岸\n", name[b[i] + 1]);
}
}
printf("\n");
return;
}
for (i = 0; i < iStep; i++)
{
if (memcmp(a[i], a[iStep], sizeof(a[i])) == 0)
{
return;
}
}
if (a[iStep][1] != a[iStep][3] && (a[iStep][2] == a[iStep][1] || a[iStep][0] == a[iStep][1]))
{
return;
}
for (i = -1; i <= 2; i++)
{
b[iStep] = i;
memcpy(a[iStep + 1], a[iStep], sizeof(a[iStep + 1]));
a[iStep + 1][3] = 1 - a[iStep + 1][3];
if (i == -1)
{
search(iStep + 1);
}
else if (a[iStep][i] == a[iStep][3])
{
a[iStep + 1][i] = a[iStep + 1][3];
search(iStep + 1);
}
}
}

int main()
{
search(0);
return 0;
}

//pastriver.c
/***********************************
This code is used to answer the past
river question.
Note: 12/2/2006
coded by YunDanFengQing
www.cfannet.com
***********************************/

#include <stdio.h>

#define MAX 100

typedef enum BOOL
{
FALSE = 0, TRUE = 1
}BOOL;

typedef union Items
{
struct
{
char boy : 1;
char girl : 1;
char father : 1;
char mother : 1;
char police : 1;
char thief : 1;
char : 0;
};
char c;
}*pItems, Items;

struct
{
Items item[MAX];
int boat[MAX];
int length;
}stack;

int Boat[2];
Items ItemMask[12];
char* msg[4] = { "comes back single.", "comes back together.",
"pasts the river single.", "past the river together." };
char* msgn[12] = { "father", "mother", "police", "thief",
"police and the thief", "police and the father",
"police and the mother", "police and the boy",
"police and the girl", "father and the boy",
"mother and the girl", "father and the mother"};

BOOL IsLegal ( Items item )
{
Items t1, t2, t3;
Items t4, t5, t6;
t1.c = 0, t2.c = 0, t3.c = 0;
t4.c = 0, t5.c = 0, t6.c = 0;

t1.girl = 1, t1.father = 1, t1.mother = 0;
t4.girl = 1, t4.father = 1, t4.mother = 1;
t2.boy = 1, t2.father = 0, t2.mother = 1;
t5.boy = 1, t5.father = 1, t5.mother = 1;
t3.thief = 1, t3.police = 0;
t6.thief = 1, t6.police = 1;

if (( t4.c & item.c ) == t1.c ) {
return FALSE;
}
if (( t5.c & item.c ) == t2.c ) {
return FALSE;
}
if ((( item.c & t6.c ) == t3.c ) && (( item.c ^ t3.c ) != 0)) {
return FALSE;
}
return TRUE;
}

BOOL IsInStack ( Items item, int boat )
{
int i = 0;
for ( i = 0; i < stack.length; ++i ) {
if (( item.c == stack.item[i].c ) && ( boat == stack.boat[i] )) {
return TRUE;
}
}
return FALSE;
}

BOOL IsStackFull ()
{
return stack.length >= MAX ? TRUE : FALSE;
}

BOOL Rule ( pItems itemL, pItems itemR, int boat, int i )
{
Items left, right;
if ( 0 == boat ) {
left.c = itemL->c;
right.c = itemR->c;
}
else {
left.c = itemR->c;
right.c = itemL->c;
}

if (( left.c & ItemMask[i].c ) != ItemMask[i].c ) {
return FALSE;
}
left.c ^= ItemMask[i].c;
right.c ^= ItemMask[i].c;

if ( 0 == boat ) {
itemL->c = left.c;
itemR->c = right.c;
}
else {
itemL->c = right.c;
itemR->c = left.c;
}
return TRUE;
}

BOOL PastRiver ( Items itemL, Items itemR, int boat )
{
Items newL, newR;
int i = 0, j = 0;

if ( itemL.c == 0 ) {
return TRUE;
}

for ( i = 0; i < 12; ++i ){
newL.c = itemL.c, newR.c = itemR.c;
if ( TRUE == Rule ( &newL, &newR, boat, i )) {
if (( TRUE == IsLegal (newL)) && ( TRUE == IsLegal (newR) )) {
if (( FALSE == IsInStack ( newL, boat )) && ( FALSE == IsStackFull() )) {
stack.item[stack.length].c = newL.c;
stack.boat[stack.length] = boat;
stack.length ++;
if ( TRUE == PastRiver ( newL, newR, Boat[boat] )) {
if (( 0 == boat ) && ( i < 4 )) {
j = 2;
}
if (( 0 == boat ) && ( i >= 4 )) {
j = 3;
}
if (( 1 == boat ) && ( i < 4 )) {
j = 0;
}
if (( 1 == boat ) && ( i >= 4 )) {
j = 1;
}
printf ( "The %s %s\n", msgn[i], msg[j] );
return TRUE;
}
}
}
}
}
return FALSE;
}

void Init()
{
int i = 0;
stack.length = 0;
Boat[0] = 1;
Boat[1] = 0;
for ( i = 0; i < 12; ++i ) {
ItemMask[i].c = 0;
}
ItemMask[0].father = 1;
ItemMask[1].mother = 1;
ItemMask[2].police = 1;
ItemMask[3].thief = 1;
ItemMask[4].police = 1, ItemMask[4].thief = 1;
ItemMask[5].police = 1, ItemMask[5].father = 1;
ItemMask[6].police = 1, ItemMask[6].mother = 1;
ItemMask[7].police = 1, ItemMask[7].boy = 1;
ItemMask[8].police = 1, ItemMask[8].girl = 1;
ItemMask[9].father = 1, ItemMask[9].boy = 1;
ItemMask[10].mother = 1, ItemMask[10].girl = 1;
ItemMask[11].father = 1, ItemMask[11].mother = 1;
}

int main ()
{
Items itemL, itemR;
itemL.c = 0, itemR.c = 0;
itemL.father = 1, itemL.mother = 1;
itemL.boy = 1, itemL.girl = 1;
itemL.police = 1, itemL.thief = 1;

Init();
stack.item[stack.length].c = itemL.c;
stack.boat[stack.length] = 1;
stack.length++;
if ( FALSE == PastRiver ( itemL, itemR, 0 )) {
printf ("BAD!!\n");
}
getchar();
return 0;
}

给你思路你自己写:
1 你把羊带过去 (这边是狼和白菜)
2 你把白菜带过去,把羊带回来(那边只有白菜)
3 你把狼带过去 (这边只有羊)
4 你把羊带过去

把条件列完调用下就可以了

不用


如何使用Visual Studio 2010编写一个C语言程序
第五步:如下图所示,在左栏中单击【Visual C++】,在中间栏选择【C++文件】,在下面的名称栏里填写C语言程序的名称(注意:不要忘记加上文件的后缀名.c),位置保持默认不变,单击【完成】进入第六步,如图所示。第六步:如下图所示,自动加载.c文件(初始是空白的),然后写入一个简单的C语言...

用c语言输入一个整数,判断该数的奇偶性
include"stdio.h"main(){ inta,b,c,t;printf("pleaseinputa,b,c:");scanf("%d,%d,%d",&a,&b,&c);t=a;a=b;b=c;c=t;printf("%d,%d,%d",a,b,c);getch();}

...计算并输出圆的周长和面积.{用C语言编写}谢了
cc=2*PI*r;area=PI*r*r;5.最后,使用`printf`函数输出计算结果,保留两位小数。cprintf("该圆的周长是%.2f,面积是%.2f",c,area);return0;\/\/结束main函数}这就是一个简单的C语言程序,通过键盘输入圆的半径,计算并输出其周长和面积。C语言提供了一套结构化和功能强大的编程工具,适合进行...

c语言如何实现输入一个数,输出它的因子之和?
在C语言中,你可以通过编写一个简单的程序来接收用户输入的数,并计算其因子之和。以下是一个示例代码:这个程序首先提示用户输入一个正整数。然后,它使用一个for循环从1到用户输入的数字,检查每个数是否是输入数字的因子(如果输入的数可以被这个数整除,那么这个数就是因子)。如果是因子,就把它加...

c语言用switch编写一个简单的四则运算程序
代码如下:include <stdio.h> int main(){ float fFloat1=.0,fFloat2=.0;char cOP=NULL;printf("请输入要进行四则运算表达式:\\n");scanf("%f%c%f",&fFloat1,&cOP,&fFloat2);switch(cOP){ case '+':printf("%f+%f=%f\\n",fFloat1,fFloat2,fFloat1+fFloat2);break;case '-':p...

C语言编写一个程序,实现如下功能:从键盘输入一个三位数,求各位数字之...
include "stdio.h"void main(){ int n,sum=0;printf("请输入一个三位数:");scanf("%d",&n);sum=n\/100+n%100\/10+n%10;\/\/百位数+十位数+个位数 printf("这个三位数各位数字之和是%d\\n",sum);} 结果:

C语言输入一个数,45个人一个班,输出几个班?
可以使用整除操作符“\/”来计算班级数量,即 n \/ 45。需要注意的是,如果n不能被45整除,最后一个班级可能不满45人。因此,可以使用求余操作符“%!”(MISSING)来计算余下的人数,即 n %!。(MISSING)如果余数不为0,则最后一个班级人数为余数,否则为45人。下面是一个简单的C语言程序,可以实现...

怎样用C语言编一个最简单的“回答问题”的程序?
这要看简单到什么程度了 一个 例子 include<iostream> using namespace std;int main(){ int a;cout<<"请问1+1等于几?"<<"请输入答案"<<endl;while(cin>>a){ if(a==2){ cout<<"yes";break;} else { cout<<"no"<<endl;cout<<"再试一次"<<endl;} } return 0;} 这是一个c++...

求以下c语言编程:一个简单的学生成绩管理系统。其中每个学生信息包括学 ...
一个简单的学生成绩管理系统。其中每个学生信息包括学号、姓名、数学成绩、英语成绩、计算机成绩。编写一个菜单程序分别完成以下功能:每个学生的信息使用结构体变量存储。编写函数f... 一个简单的学生成绩管理系统。其中每个学生信息包括学号、姓名、数学成绩、英语成绩、计算机成绩。编写一个菜单程序分别完成以下功能:每个...

简单C语言程序,while循环写一个程序求数列1+1\/2+1\/3+……1\/n的和并将...
void F1(int n){ double result = 0;for(double i=1;i<=n;i++)result += 1\/i;for(int i=1;i<n;i++){ printf("1\/%d + ", i);} printf("1\/%d = %f\\r\\n", n, result);}

台江县13585255212: 一道简单的C语言编程问题
狐缸复方: int Sum(int a) { int i,sum=0; for(i=1;i<=a;i++) { sum=sum+i; } return sum; } int Chen(int a) { int i,sum=a; for(i=a-1;i>=1;i--) { sum=sum*i; } return sum; } main() { int a; printf("Please input a number."); scanf("%d",&a); printf("1+2+...+n=%d,n!=%d",Sum(a),Chen(a)); getch(); } 我的原创哦~ 编译通过了的~ O(∩_∩)O哈哈~

台江县13585255212: 一道简单的C语言编程题
狐缸复方: 如下,望采纳#include <stdio.h>#include <stdlib.h> int main(){ int a[10],i,j; for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个数 //冒泡排序,从小到大 for(i=0;i<10;i++) { for(j=i+1;j<10;j++) { if(a[j]<a[i]) { int tmp=a[j]; a[j]=a[i]; a[i]=tmp; } } } //输出 for(j=0;j<10;j++) printf("%d ",a[j]); printf("\n"); return 0;}

台江县13585255212: 菜鸟求助:一道很简单的C编程题 -
狐缸复方: 这样是可以的,形式是输入一个数跟着输出绝对值 EOF指的是end of file.是一个特定的标记 #include <stdio.h> main() { float a; while(scanf("%f",&a)!=EOF) //这个语句的意思就是用a来接收输入的数 //并以Ctrl+z结束整个程序 { if (a<0) a=-a; ...

台江县13585255212: 这是一个简单的C语言编程题,请用C语言编辑下.这几天要交,请您尽快回答谢谢啦.(用VC6.0软件编写) -
狐缸复方: #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STEP 20 //index: 0 - 狼,1-羊,2-菜,3-农夫,value:0-本岸,1-对岸 int a[MAX_STEP][4]; int b[MAX_STEP]; char *name[] = { "空手", "带狼", "带羊", "带菜" }...

台江县13585255212: 一道蛮简单的C编程题!
狐缸复方: //可以参考下面代码 #include &lt;stdio.h&gt; void fun(char *str,char s[]) { int i,j=0; for (i=0;s[i]!='\0';i++) if (i%2==0&amp;&amp;s[i]%2==0)//下标以及ASCII码值均为偶数 str[j++]=s[i]; str[j]='\0'; } int main() { char s[]="ABCDEFG123456",a[10]; fun(a,s); printf("%s\n",a); }

台江县13585255212: C语言:一道简单的编程题目,求求求大神!! -
狐缸复方: #include int main(){ int a, b, c; int res = 3; printf("请输入身高、收入、魅力值:"); scanf("%d %d %d", &a, &b, &c)...

台江县13585255212: 简单的C语言编程题目
狐缸复方: /* Note:Your choice is C IDE */#include "stdio.h"void main(){ int ch; printf ("请输入你要查询的型号:\n"); scanf ("%d",&ch); switch (ch) { case (537): printf ("537型号价格为3.50元"); break; case (538): printf ("538型号价格为5.50元"...

台江县13585255212: 一个简单的 C语言程序题,请高手解答、、
狐缸复方: #include<stdio.h> #include<string.h> void main() {char str[1000]; int i,j; printf("please input the numbe"); gets(str);

台江县13585255212: 简单的C语言编程题,请帮忙做一下 -
狐缸复方: 1)#include<stdio.h> int main() { int n; scanf("%d",&n); if(n%2==1)n++;else n+=2;printf("%d\n",n); system("pause");return 0; }2) #include<stdio.h> int main() { int n,m; scanf("%d %d",&n,&m); if(n%m==0)printf("%d是%d的倍数\n",n,m);else printf("%d不是%d的倍数\n",n,m); system("pause");return 0; }

台江县13585255212: ■■■■■■一个很简单的C语言编程问题■■■■
狐缸复方: 下面的程序是我自己编写,并在自己的电脑上运行过.有附图. #include<stdio.h> main() {int a,b,c,max; printf("please input a\n"); scanf("%d",&a); printf("please input b\n"); scanf("%d",&b); printf("please input c\n"); scanf("%d",&c); max=a; if(b>a) max=b; else {if(c>a) max=c; } printf("the max number is %d\n",max); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网