c语言课程设计实例 一道C语言课程设计的题目,高手帮下忙哈!
一道C语言课程设计的题目,高手帮下忙哈!
一道C语言课程设计的题目,高手帮下忙哈!
#include<stdio.h>
int array[100];
int search(int *p,int n) 查询函式
{
int i,num;
printf("请输入要查询的值:");
scanf("%d",&num);
for(i=0;i<n;i++)
{
if(*p==num)break;查询
p++; 下一个
}
return i;
};
int del(int*p,int n)删除函式
{
int flag=0; 查询到要删除的元素则flag为1,否则为0
int i,num;
printf("请输入删除的值:");
scanf("%d",&num);
for(i=0;i<n;i++)
{
if(*p==num) 查询要删除的元素
{
flag=1;
break;
}
p++;
}
for(i;i<n;i++)将删除后的阵列中在删除的元素后的元素前移一位
{
*p=*(p+1);
p++;
}
return flag; 返回是否删除成功
};
int insert(int *p,int n)插入元素函式
{
int i,a,num;
printf("请输入要插入的数的下标:");
scanf("%d",&num);
printf("请输入要插入的数:");
scanf("%d",&a);
p+=n;指向阵列最后一个元素的下一位,
for(i=num;i<n;i++)
{
*p=*(p-1);将插入元素的后面元素后移一位,准备插入
p--; 移动下一个
}
*p=a; 插入要插入的元素
}
void sort(int *p,int n)排序函式,气泡排序法
{
int i,j,temp;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
if(p[i]>p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
main()
{
int a,temp=0;
int j,i=0;
printf("请输入阵列中的元素,输入'-1'结束n");
while(1)
{
scanf("%d",&temp);
if(temp==-1)break;
array[i]=temp;
i++;
}
printf("请输入你要进行的操作n1:查询元素n2:删除元素n3:插入元素n4:排序n");
scanf("%d",&temp);
switch(temp) 选择相关操作
{
case 1:
a=search(array,i);
if(a>=0&&a<i)printf("找到相应的元素其下标为:%dna",a);
else printf("没有找到n");
break;
case 2:
if(del(array,i))printf("删除成功na");
else printf("删除失败an");
break;
case 3:
insert(array,i);
for(j=0;j<i+1;j++)
printf("array[%d]:%dn",j,array[j]);
break;
case 4:
sort(array,i);
break;
}
}
程式也在vc++控制台执行通过!不懂得地方你提问,我回答!你可以在每个case语句下用printf函式输出阵列,检查其正确性!
一道大一c语言课程设计的题目,求大神
免费给你一个,自己改改
#include <stdio.h>
#include <malloc.h>
#include <string.h>
struct Student
{
char xuehao[100];
char name[100];
char sex[100];
int age;
float score;
};
void menu(int *n)
{
printf("ttt*********************************************n");
printf("ttttt1.建立资料n");
printf("ttttt2.新增资料n");
printf("ttttt3.删除资料n");
printf("ttttt4.查询资料n");
printf("ttttt5.按成绩进行排序n");
printf("ttttt6.退出n");
printf("ttt*********************************************n");
printf("请输入数字1-6:");
scanf("%d",n);
}
void scanfstudent(struct Student * p,int len)输入学生的资讯 学号 姓名 性别 年龄 得分
{
int i;
for(i = 0; i < len; i++)
{
printf("请输入第%d学生的资讯:n",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("n");
}
}
void printfstudent(struct Student *p,int len)对学生的资讯进行输出
{
int i;
printf("学号tt姓名tt性别tt年龄tt分数nn");

for (i = 0; i < len; i++)
{
printf("%stt",p[i].xuehao);
printf("%stt",p[i].name);
printf("%stt",p[i].sex);
printf("%dtt",p[i].age);
printf("%.2fn",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("请输入要新增学生的资讯:n");
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("n");
p[mylen] = st;
*len = mylen+1;
printfstudent(p,*len);
printf("n");
printf("是否继续新增?输入:n1.继续n2.退出n");
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,学号输入有误!n");
*len =mylen-1;阵列长度减少一个
printfstudent(p,*len);
printf("n");
printf("是否继续删除?输入:n1.继续n2.退出n");
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("学号输入有误!n");
}
else
{
printf("学号:%s,姓名:%s,性别:%s,年龄:%d,得分:%.2fn",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,得分:%.2fn",p[j].xuehao,p[j].name,p[j].sex,p[j].age,p[j].score);
break;
}
}
if(!flat)
{
printf("姓名输入有误!n");
}
}
}
/*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("n请输入增加的学生的资讯:n");
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("n");
printf("请输入要删除的学生的学号:");
printf("n");
scanf("%s",xuehao11);
add(p,&st,&len);
del(p,xuehao11,&len);删除一个学生的资讯
printfstudent(p,len);
printf("是否继续新增?n1:是n2不新增n");
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("谢谢您的使用!nn");break;
default:printf("输入有误重新输入!nn");break;
}
if(n == 6)
break;
}
return 0;
}
C语言课程设计的问题
你没希望了~!~
求高手解决C语言课程设计题目
其实这个课程设计不难做的啦,以前我的很多课程设计都是来这里找:免费文件网dian.。找到像似的然后改改即可。
求c语言课程设计的主题
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的第二和第三位数字是相同的;乙说:牌照的第三和第四位数字是正序相邻的,且第四位数字是一个整数的平方; 丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。
问题分析:
按照题目意思首先先假设出四个不相等的整数,然后找出这样的一个整数,使得它的平方等于第四个数,再找出这样一个数,使得这个整数的平方等于这个车牌号码,最后只需要判断该车牌号码是不是它的平方。
流程图
程式程式码
#include<stdio.h>
void main()
{
int i,j,k,m,n,q;
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
for(m=0;m<=9;m++)
{
if(j==k&&m==k+1)
{
for(n=0;n<=9;n++)
{
if(m==n*n)
{
for(q=0;q<100;q++)
{
if(i*1000+j*100+k*10+m==q*q)
printf("i=%d,j=%d,k=%d,m=%dn",ai,j,k,m)
}
}
}
}
}
}
}
}
}
C语言课程设计的错误
goto end;
end:不要分号吧
fclose(fp);前面的(fp=fopen("stud.txt","r"))==NULL成立就会跳到这里来,那就是fclose(NULL);这样不行吧
求助,那个高手帮一下忙,c语言课程设计
#include <iostream>
using namespace std;
#define N 10
struct student{
int num[10];
char name[25];
char sex;
int age;
float score[3];
};
int main()
{ student myclass[N];
myclass[0].num[10]={"2004546"};
myclass[0].name[25]={"zhenyu"};
myclass[0].sex="M";
myclass[0].age=13;
myclass[0].score[3]={"98","94","96"};
return 0;
}
我的答案不是最终的,但是这道题似乎不是很难啊
关于C语言课程设计的问题
可以在每次输入时,申请一块空间
struct employee *buff;
buff = (struct employee *)malloc(sizeof(struct employee));
这样不需要就可以有多少人输入多少人的资讯
求高人帮做一道C语言课程设计题
貌似有点多。。
C语言课程设计
自己编了一个不是太符合要求,演算法也很笨,但是勉强可以做出来
楼主可以看看= =注释我也写了
#include<stdio.h>
void main()
{
int year,month;定义年月
int run,num,x,y,i;辅助变数
int cun[4];辅助阵列,用来储存输入月份及其相邻月份相距1980.1的天数
char c;
printf("please input a year number and month number:");
scanf("%d%c%d",&year,&c,&month);输入请用题目上相同的输入方式
run=(year-1980)/4+1;计算闰年个数
num=run*366+(year-1980-run)*365;计算天数
if((year%4==0||year%400==0)&&year!=1980)考虑闰年,因为发现1980在这里会多计算一次闰年,所以排除了
switch(month)
{
case 1:{cun[0]=num-31;cun[1]=num;cun[2]=num+31;cun[3]=num+60;break;}
case 2:{cun[0]=num;cun[1]=num+31;cun[2]=num+60;cun[3]=num+91;break;}
case 3:{cun[0]=num+31;cun[1]=num+60;cun[2]=num+91;cun[3]=num+121;break;}
case 4:{cun[0]=num+60;cun[1]=num+91;cun[2]=num+121;cun[3]=num+152;break;}
case 5:{cun[0]=num+91;cun[1]=num+121;cun[2]=num+152;cun[3]=num+182;break;}
case 6:{cun[0]=num+121;cun[1]=num+152;cun[2]=num+182;cun[3]=num+213;break;}
case 7:{cun[0]=num+152;cun[1]=num+182;cun[2]=num+213;cun[3]=num+244;break;}
case 8:{cun[0]=num+182;cun[1]=num+213;cun[2]=num+244;cun[3]=num+274;break;}
case 9:{cun[0]=num+213;cun[1]=num+244;cun[2]=num+274;cun[3]=num+305;break;}
case 10:{cun[0]=num+244;cun[1]=num+274;cun[2]=num+305;cun[3]=num+335;break;}
case 11:{cun[0]=num+274;cun[1]=num+305;cun[2]=num+335;cun[3]=num+366;break;}
case 12:{cun[0]=num+305;cun[1]=num+335;cun[2]=num+366;cun[3]=num+397;}
}
else switch(month)
{
case 1:{cun[0]=num-31;cun[1]=num;cun[2]=num+31;cun[3]=num+59;break;}
case 2:{cun[0]=num;cun[1]=num+31;cun[2]=num+59;cun[3]=num+90;break;}
case 3:{cun[0]=num+31;cun[1]=num+59;cun[2]=num+90;cun[3]=num+120;break;}
case 4:{cun[0]=num+59;cun[1]=num+90;cun[2]=num+120;cun[3]=num+151;break;}
case 5:{cun[0]=num+90;cun[1]=num+120;cun[2]=num+151;cun[3]=num+181;break;}
case 6:{cun[0]=num+120;cun[1]=num+151;cun[2]=num+181;cun[3]=num+212;break;}
case 7:{cun[0]=num+151;cun[1]=num+181;cun[2]=num+212;cun[3]=num+243;break;}
case 8:{cun[0]=num+181;cun[1]=num+212;cun[2]=num+243;cun[3]=num+273;break;}
case 9:{cun[0]=num+212;cun[1]=num+243;cun[2]=num+273;cun[3]=num+304;break;}
case 10:{cun[0]=num+243;cun[1]=num+273;cun[2]=num+304;cun[3]=num+334;break;}
case 11:{cun[0]=num+273;cun[1]=num+304;cun[2]=num+334;cun[3]=num+365;break;}
case 12:{cun[0]=num+304;cun[1]=num+334;cun[2]=num+365;cun[3]=num+396;}
}
输出前一个月
x=month-1;
y=year;
if(x==0){y=year-1;x=12;}
printf("%d.%dn",y,x);年月
printf("SUtMOtTUtWEtTHtFRtSAn");
x=cun[1]-cun[0];
y=(cun[0]-5)%7;
for(i=0;i<y;i++)printf(" t");
for(i=1;i<=x;i++)
{
printf("%dt",i);
if((i==7-y)||((i-(7-y))%7==0))printf("n");
}
printf("n==================================n");
输出当月
x=month;
y=year;
printf("%d.%dn",y,x);年月
printf("SUtMOtTUtWEtTHtFRtSAn");
x=cun[2]-cun[1];
y=(cun[1]-5)%7;
for(i=0;i<y;i++)printf(" t");考虑第一行的空格
for(i=1;i<=x;i++)
{
printf("%dt",i);
if((i==7-y)||((i-(7-y))%7==0))printf("n");星期换行
}输出之后的日期
printf("n==================================n");
输出后一个月
x=month+1;
y=year;
if(x==13){y=year+1;x=1;}
printf("%d.%dn",y,x);年月
printf("SUtMOtTUtWEtTHtFRtSAn");
x=cun[3]-cun[2];
y=(cun[2]-5)%7;
for(i=0;i<y;i++)printf(" t");
for(i=1;i<=x;i++)
{
printf("%dt",i);
if((i==7-y)||((i-(7-y))%7==0))printf("n");
}
printf("n==================================n");
}