一道C语言课程设计题目,求大老解答 求高人解决一道C语言课程设计题目

作者&投稿:竹磊 (若有异议请与网页底部的电邮联系)

首先,你应该把实际的问题抽象成一个能够用数据表示出来的问题(数据结构部分),

  1. 这个题目中包括,单词,相同单词的数量,相同单词分别占各自文章单词总数的百分比,至于相同单词出现的次数,这个和相同单词出现的数量有什么不同,表示暂时没看出来,

  2. 你可以定义一个结构体VocabularyInfo,记录单词,单词在本文章出现的次数,也就是相同单词的数量,

  3. 定义一个链表,将不同的单词链接起来,便于后续的查找,这样每篇文章中的单词就可以被统计出来

  4. 获取两篇文章的单词总数,然后计算相关的数据,

  5. 把较为复杂的问题,化解为简单的,较小的问题进行处理。



这个具体的话还是要看你想做什么的,你熟悉什么的。

一道大一c语言课程设计的题目,求大神~

免费给你一个,自己改改
#include
#include
#include
struct Student
{
char xuehao[100];
char name[100];
char sex[100];
int age;
float score;

};
void menu(int *n)
{
printf("*********************************************
");
printf("1.创建数据
");
printf("2.添加数据
");
printf("3.删除数据
");
printf("4.查找数据
");
printf("5.按成绩进行排序
");
printf("6.退出
");
printf("*********************************************
");
printf("请输入数字1-6:");
scanf("%d",n);
}
void scanfstudent(struct Student * p,int len)//输入学生的信息 学号 姓名 性别 年龄 得分
{
int i;
for(i = 0; i < len; i++)
{
printf("请输入第%d学生的信息:
",i+1);
printf("学号:");
scanf("%s",p[i].xuehao);
printf("姓名:");
scanf("%s",p[i].name);
printf("性别:");
scanf("%s",p[i].sex);
printf("年龄:");
scanf("%d",&p[i].age);
printf("得分:");
scanf("%f",&p[i].score);
printf("
");
}

}

void printfstudent(struct Student *p,int len)//对学生的信息进行输出
{
int i;
printf("学号姓名性别年龄分数

");

for (i = 0; i < len; i++)
{
printf("%s",p[i].xuehao);
printf("%s",p[i].name);
printf("%s",p[i].sex);
printf("%d",p[i].age);
printf("%.2f
",p[i].score);


}
}
void createdata(struct Student *p,int *len)
{
int n;

printf("请输入要创建数组的长度:");
scanf("%d",&n);
scanfstudent(p,n);
*len = n;
printfstudent(p,*len);

}
void add(struct Student *p,int *len)//增加一个学生的信息。并且按照顺序排列
{
// int i,j;

//int pos = 0;
int c = 1;
while(c == 1)
{
int mylen = *len;
struct Student st;
printf("请输入要添加学生的信息:
");
printf("学号:");
scanf("%s",st.xuehao);
printf("姓名:");
scanf("%s",st.name);
printf("性别:");
scanf("%s",st.sex);
printf("年龄:");
scanf("%d",&st.age);
printf("得分:");
scanf("%f",&st.score);
printf("
");

p[mylen] = st;
*len = mylen+1;
printfstudent(p,*len);
printf("
");
printf("是否继续添加?输入:
1.继续
2.退出
");
scanf("%d",&c);
}
}
void Sort(struct Student *p,int len)//按照分数从大到小排列选择排序法
{
struct Student st;
int i,j;
for(i = 0; i < len - 1; i++)
{
for(j = i + 1 ; j < len; j++)
if(p[i].score < p[j].score)
{
st = p[i];
p[i] = p[j];
p[j] = st;

}
}
printfstudent(p,len);
}

/*if(myp->score >= p[0].score)//
{

for(i = mylen; i > 0 ; i--)
p[i] = p[i-1];
p[0] = *myp;

}
else if(myp->score <= p[mylen-1].score)
{
p[mylen] = *myp;
}
*/
//else
//{
/*for(i = 0; i < mylen; i++)
{
if(myp->score >= p[i].score)
break;
}
pos = i;
for(j = mylen; j > pos; j--)
{
p[j] = p[j-1];
}
p[pos] = *myp;



*len = mylen+1;



}*/
void del(struct Student *p,int *len)//删除学生的信息
{
int i,j;
char p1[1024];
int c = 1;
while(c == 1)
{
int mylen=*len;
printf("请输入要删除学生的学号:");
scanf("%s",p1);
for(i = 0; i < *len; i++)
{
if(strcmp(p[i].xuehao,p1)==0)
break;
}
if(i == 0)//删除的是第一个元素
{
for(j = 0; j < (*len)-1; j++)
p[j] = p[j+1];
}
else if(i>0 && i<(*len)-1)//删除中间的元素
{

for(j = i;j<(*len) -1;j++)
p[j] = p[j+1];



}
else if(i == (*len)-1)
;
else
printf("error,学号输入有误!
");
*len =mylen-1;//数组长度减少一个
printfstudent(p,*len);
printf("
");
printf("是否继续删除?输入:
1.继续
2.退出
");
scanf("%d",&c);
}
}

void serch(struct Student *p,int len)//按学号或者姓名查找学生信息
{


int i,j;
int flat = 0;
char num[100];
char name1[100];
printf("请输入1或2,1按学号查找,2按姓名查找:");
scanf("%d",&i);

if(i == 1)
{
printf("请输入要查找的学号:");
scanf("%s",num);
for(j = 0; j <len; j++)
{
if(strcmp(p[j].xuehao,num) == 0)

{
flat ++;

break;
}

}
if(!flat)
{
printf("学号输入有误!
");
}
else
{
printf("学号:%s,姓名:%s,性别:%s,年龄:%d,得分:%.2f
",p[j].xuehao,p[j].name,p[j].sex,p[j].age,p[j].score);
}
}
else if(i == 2)
{
flat = 0;
printf("请输入要查找的姓名:");
scanf("%s",name1);
for(j = 0; j <len; j++)
{
if(strcmp(p[j].name,name1) == 0)
{
flat ++;
printf("学号:%s,姓名:%s,性别:%s,年龄:%d,得分:%.2f
",p[j].xuehao,p[j].name,p[j].sex,p[j].age,p[j].score);
break;
}


}
if(!flat)
{
printf("姓名输入有误!
");
}
}
}
/*int main(void)
{

int len;
int c;
//char c;
//char xuehao11[1024];
//struct Student *p;
//静态构造结构数组
struct Student p[1024];

printf("请输入学生的个数:");
scanf("%d",&len);

//p = (struct Student*)malloc(sizeof(struct Student)*len);动态构造一个结构数组

scanfstudent(p,len);
Sort(p,len);
printfstudent(p,len);
do
{
struct Student st;


printf("
请输入增加的学生的信息:
");
printf("学号:");
scanf("%s",st.xuehao);
printf("姓名:");
scanf("%s",st.name);
printf("性别:");
scanf("%s",st.sex);
printf("年龄:");
scanf("%d",&st.age);
printf("得分:");
scanf("%f",&st.score);


//serch(p,len);

printf("
");
//printf("请输入要删除的学生的学号:");
printf("
");
//scanf("%s",xuehao11);
add(p,&st,&len);
//del(p,xuehao11,&len);删除一个学生的信息
printfstudent(p,len);
printf("是否继续添加?
1:是
2不添加
");
scanf("%d",&c);

}
while(c==1);


}*/
int main(void)
{
int n;
struct Student p[1024];
int len = 0;
while(1)
{
menu(&n);
switch(n)
{
case 1:createdata(p,&len);break;
case 2:add(p,&len);break;
case 3:del(p,&len);break;
case 4:serch(p,len);break;
case 5:Sort(p,len);break;
case 6:printf("谢谢您的使用!

");break;
default:printf("输入有误重新输入!

");break;
}
if(n == 6)
break;
}
return 0;
}

这个太多了!系统比较大

C语言问题
答:C语言课程设计是C语言程序设计课程的一个重要的环节。它是根据教学计划的要求,在老师指导下,对学生实施程序设计训练的必要过程,是对前期课堂教学效果的检验。其目标在于培养学生综合应用理论知识来分析和解决实际问题的能力。 通过本次课程,要求学生能够遵循软件开发过程的基本规范,应用结构化程序设计的方法,按照题目要求...

大学c语言设计,求解释程序段
答:C语言提供了一种用于多分支选择的switch语句, 其一般形式为:switch(表达式){ case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;} 其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, ...

求大神解答3道c语言的题目!急急急
答:9.20 *(ptr+y)就是a[y] 就是a[y]与8的比较,a[y]始终小于8,所以就是6 9.22 s[0]~s[5]分别为0(s[0]未初始化,初始值要看编译器对未初始局部变量处理方式而定),C,D,E,F,G,fun函数就是从G开始往前找到E,取E的下标 5.5 就如上面所说,sum是一个未初始化局部变量,...

大学C语言,课程设计,求大神解答。
答:include<stdio.h>#include<conio.h>int main(){ int a; double b; printf("您的工资为:"); scanf("%d",&a); if (a<=3500) b=0; else if (a>3500&&a<=5000) b=(a-3500)*0.03; else if (a>5000&&a<=8000) b=(a-3500)*0.10; else if (a...

c语言课程设计 一道题 请高手解答 不然挂科了 谢谢
答:你好:程序已经运行过,没有问题 不懂我们再讨论 include<stdio.h> struct people{ char index;int grade;}; //定义一个结构体,表示候选人,包含他的代号和得到的票数 main(){ char piao1,piao2,piao3;//分别代表一张票的第一位,第二位和第三位 people a={'a',0},b={'b',0},c=...

c语言题目,求1.2.3题答案,多谢大佬!
答:mygcd(a,b));printf("The LCM if %d\n",mylcm(a,b));return 0;}运行样例:(2)include "stdio.h"#include "math.h"int main(int argv,char *argc[]){double a,b,c,t,f;printf("Input 3 number(R:)...\n");scanf("%lf%lf%lf",&a,&b,&c);t = (t=b*b-4*a*c)>...

数据结构 课程设计C语言版 本人现..跪求一道课程设计答案 有哪..位的...
答:数据结构 课程设计C语言版 本人现..跪求一道课程设计答案 有哪..位的大仙帮帮我,现在只能给100分,完了追 题目:职工工资管理系统(编号、姓名、年龄、性别、基础工资、补贴工资、扣除工资、总工资){密码启动、修改模块、数据输入模块、数据插入模块、数据统计模块(分别统计基础工资、补贴... 题目:职工工资管理系统...

C语言课程设计
答:经过琢磨,听师姐,年长的学生的建议,但也获得了大量的书籍,和它做了一个不错的主意,不知道的真实意图 - 培养自学能力,一个良好的习惯开发一个程序来编辑C语言课程设计。我从来不相信车到山前必有路,他说,只是懒惰找借口偷懒的,我想是积极的,要把握一定要努力。 课程设计审查以来,到目前为止,我仍然感觉了很多,...

C语言课程设计问题!!!急!急!急!急!
答: scanf("%d,%d,%d",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) printf("These three number are compose triangle!\n");else printf("You input is error!\n");} 3、利用循环结构设计求5! : #include<stdio.h> main(){ int i=1,sum=1; while(i<=5) { sum...

求大神帮我解决一下几道C语言程序设计题
答:include <stdio.h>unsigned long factorial(unsigned int n){if(n<=1)return n;return n*factorial(n-1);}int main(int argc, char * argv[]){int i,num[10],n=0;float sum=0;printf("输入一个正整数n(n≤10):"); scanf("%d",&i);printf("%d! = %ld\n",i,factorial(i))...