今天给各位分享c语言程序设计婚配代码的知识,其中也会对c语言程序设计程序代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言程序设计:各位大神帮忙填一下中间的代码,急急急,谢谢各位大佬2、C语言程序设计:c=m!/(n!*(m-n)!)3、C语言程序设计4、c语言 程序设计题 求代码 数组相关5、求完整C语言程序设计报告!!6、C语言程序设计 设计一个程序,输入三个整数,求它们的和及平均数。
C语言程序设计:各位大神帮忙填一下中间的代码,急急急,谢谢各位大佬
对字符串1判断是否结束,赋值给str2
while(*str1!=’\0′)
{
*str2++ = *str1++;
}
C语言程序设计:c=m!/(n!*(m-n)!)
C(n,m)=n!/(m!*(n-m)!),C(n,m)=p1a1-b1-c1p2a2-b2-c2…pkak-bk-ck,n=10,000,000
[cpp]
#includecstdio
constintmaxn=1000000;
#includevector
usingnamespacestd;
boolarr[maxn+1]={false};
vectorintproduce_prim_number()
{
vectorintprim;
prim.push_back(2);
inti,j;
for(i=3;i*i=maxn;i+=2)
{
if(!arr[i])
{
prim.push_back(i);
for(j=i*i;j=maxn;j+=i)
arr[j]=true;
}
}
while(imaxn)
{
if(!arr[i])
prim.push_back(i);
i+=2;
}
returnprim;
}
//计算n!中素数因子p的指数
intcal(intx,intp)
{
intans=0;
longlongrec=p;
while(x=rec)
{
ans+=x/rec;
rec*=p;
}
returnans;
}
//计算n的k次方对m取模,二分法
intpow(longlongn,intk,intM)
{
longlongans=1;
while(k)
{
if(k1)
{
ans=(ans*n)%M;
}
n=(n*n)%M;
k=1;
}
returnans;
}
//计算C(n,m)
intcombination(intn,intm)
{
constintM=10007;
vectorintprim=produce_prim_number();
longlongans=1;
intnum;
for(inti=0;iprim.size()prim[i]=n;++i)
{
num=cal(n,prim[i])-cal(m,prim[i])-cal(n-m,prim[i]);
ans=(ans*pow(prim[i],num,M))%M;
}
returnans;
}
intmain()
{
intm,n;
while(~scanf(“%d%d”,m,n),mn)
{
printf(“%d\n”,combination(m,n));
}
return0;
}
扩展资料
C语言N项规律数和
#include”stdio.h”
#include”stdlib.h”
main()
{
intk=1,m=2;
intn,i,j;
scanf(“%4d”,n);
j=1;
printf(“%4d”,k);
for(i=1;in;i++)
{
if(k==m)
{
j=-1;
m=m+1;
}
elseif(k==1)
{
j=1;
k=k+j;
printf(“%4d”,k);
}
printf(“\n”);
}
}
C语言程序设计
第三题代码如下#include “stdio.h”
struct t{
char tt[6];
}m[5]={{“rrrrr”},{“rrrrr”},{“rrrrr”},{“rrrrr”},{“rrrrr”}};
typedef struct t t;
void prin(int i){
switch(i){
case 0:printf(“甲”);break;
case 1:printf(“乙”);break;
case 2:printf””丙”);break;
case 3:printf(“丁”);break;
case 4:printf(“戊”);break;
} }
void print(t m[]){
for(int i=0;i5;i++){
prin(i);
for(int j=0;j5;j++){
if(m[i].tt[j]!=’r’)
printf(“%c”,m[i].tt[j]);
else
printf(” “);
}
printf(“\n——-\n”);
}
}
void main(){
int i=0,j=0,k=0,w=0,n=0,s=0;
for(i=0;i5;i++){
m[i].tt[4]=’e’;
for(j=0;j5;j++){
m[j].tt[3]=’d’;
for(k=0;k5;k++){
m[k].tt[2]=’c’;
for(w=0;w5;w++){
m[w].tt[1]=’b’;
for(s=0;s5;s++){
m[s].tt[0]=’a’;
n++;
if(m[0].tt[0]==’a’)
n–;
else if(m[1].tt[1]==’b’)
n–;
else if(m[2].tt[2]==’c’)
n–;
else{
printf(“方案%d:\n”,n);
print(m);
}
m[s].tt[0]=’r’;
}
m[w].tt[1]=’r’;
}
m[k].tt[2]=’r’;
}
m[j].tt[3]=’r’;
}
m[i].tt[4]=’r’;
}
printf(“共有方案%d\n”,n);
} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~省略~~~~~~~~~~
c语言 程序设计题 求代码 数组相关
#includestdio.h
main()
{ int a[8]={1,2,3,4,5,6,7,8},i,j,k;
for(i=0;i8;i++)
printf(“%d\t”,a[i]);
printf(“\n”);
for(i=0;i3;i++){
k=a[0];
for(j=1;j8;j++)
a[j-1]=a[j];
a[7]=k;
}
for(i=0;i8;i++)
printf(“%d\t”,a[i]);
}
如图所示,望采纳。。。。。。
求完整C语言程序设计报告!!
C语言课程设计报告–学生成绩管理系
C语言课程设计报告:
学生成绩管理系统
系统需求
一、 当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息.
二、学生成绩查询: 输入一个学号, 在文件中查找此学生, 若找到则输出此学生的全部信息和成绩; 若找不到则输出查找失败的信息. 同时也可以全部把各科的平均成绩,最高和最低分输出。
三、新生插入 :通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来。
四、输出全部学生信息和全部学生成绩。
五、退出系统.
六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。
总体设计
一、 仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)
1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。
2、查询模块:可用stu *lookdata(stu *p1) 来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。
3、插入模块:可用insert( )函数来实现。其中通过学号的大小来比较的,并且以此来排序。
4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage() 、 maverage() 、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。
5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
二、系统主模块结构图:
详细设计
一、 界面设计
此系统界面采用图形和数字化菜单设计。
主界面设计如下:
学生成绩管理系统
请选择相应的数字执行相应的功能:
1:是否输入其他数据
2:查看数据
3:插入数据
4:查找数据
5:更新数据
6:保留数据
7:显示或打印数据
8:语文成绩状况
9:数学成绩状况
10:英语成绩状况
11:计算机成绩状况
12:?
13:退出系统
二、 数据结构设计:
程序设计中用到的结构体类型:
学生信息结构体类型:
typedef struct student{
char name[MAX];
int num[MAX];
char sex[MAX];
int chinese;
int mathematic;
int english;
int computer;
struct student *next;
}
程序代码:
//原始密码是123456
#include”stdio.h”
#include”stddef.h”
#include”stddef.h”
#include”string.h”
#define MAX 10
typedef struct student{ /*定义结构体*/
char name[MAX]; /*姓名*/
int num[MAX]; /* 学号*/
char sex[MAX]; /*性别*/
int chinese; /*语文*/
int mathematic; /* 数学*/
int english; /*英语*/
int computer; /*计算机*/
struct student *next; /*结构体指针*/
}stu;
stu *head; /*头指针*/
void print() /*显示或打印函数*/
{
system(“cls”);
printf(“\t\t\tScore Manage System\n”); /*成绩管理系统*/
printf(“1Enter Record\t”); /*输入数据*/
printf(“2Display\t”); /*显示*/
printf(“3Insert\t”); /*插入数据*/
printf(“4Quest\t”); /*访问数据*/
printf(“5Update\t”); /*以前数据*/
printf(“6Save\t”); /*保留数据*/
printf(“7Fresh\t”); /*更新数据*/
printf(“8Chinese Average\t”); /*语文平均成绩*/
printf(“9Math Average\t”); /*数学平均成绩*/
printf(“10English Average\t”); /*英语平均成绩*/
printf(“11Computer Average\t”); /*计算机平均成绩*/
printf(“12Quit\t\n”); /*退出*/
}
void cin(stu *p1) /*输入相关数据的函数*/
{ printf(“Enter name:\n”);
scanf(“%s”,p1-name);
printf(“Enter num:\n”);
scanf(“%d”,p1-num);
printf(“Enter sex:\n”);
scanf(“%s”,p1-sex);
printf(“Enter score:\n”);
printf(“Enter chinese:\n”);
scanf(“%d”,p1-chinese);
printf(“Enter math:\n”);
scanf(“%d”,p1-mathematic);
printf(“Enter English:\n”);
scanf(“%d”,p1-english);
printf(“Enter Computer:\n”);
scanf(“%d”,p1-computer);
}
stu *cindata() /*其他数据是否继续输入的函数*/
{ stu *p1,*p2;
int i=1;
char ch;
p1=(stu *)malloc(sizeof(stu));
head=p1;
while(i)
{
cin(p1);
printf(“Do you Want to Continue?yes or no”); /*是否继续输入数据*/
ch=getchar();
ch=getchar();
if(ch==’n’||ch==’N’)
{ i=0;
p1-next=NULL;
}
else
{ p2=p1;
p1=(stu *)malloc(sizeof(stu));
p2-next=p1;
}
}
return(p1-next);
}
stu *lookdata(stu *p1) /*查看数据的函数*/
{
while(p1!=NULL)
{ printf(“Num:%d\t”,p1-num);
printf(“Name:%s\t”,p1-name);
printf(“Sex:%s\t”,p1-sex);
printf(“\n”);
printf(“Chinese:%d\t”,p1-chinese);
printf(“Math:%d\t”,p1-mathematic);
printf(“English:%d\t”,p1-english);
printf(“Computer:%d\t”,p1-computer);
printf(“\n”);
p1=p1-next;
}
return p1;
}
void insert() /*通过比较学号来插入数据的函数*/
{ stu *p1,*p3,*p2;
char ch;
p1=head;
p3=(stu *)malloc(sizeof(stu));
p3-next=NULL;
if(head==NULL){ head=p3; return;}
cin(p3);
while(p1!=NULL(p1-nump3-num)) /*通过学号的比较来插入*/
{ p2=p1;p1=p1-next;}
if(p2==head) {p3-next=head; head=p3; return;}
p3-next=p1;
p2-next=p3;
}
find(stu *p2) /*通过姓名查找查看数据的函数*/
{ char name[20];
int b=0;
printf(“Enter the name of the student you want to find:”); /*通过姓名查看*/
scanf(“%s”,name);
while(p2!=NULL)
{if(strcmp(name,p2-name)==0)
{
printf(“The data you want has be found\n”);
printf(” Name:%s\t”,p2-name);
printf(“Num:%d\t”,p2-num);
printf(“sex%s\t”,p2-sex);
printf(“\n”);
printf(“Chinese:%d\t”,p2-chinese);
printf(“Math:%d\t”,p2-mathematic);
printf(“English:%d\t”,p2-english);
printf(“Computer:%d\t”,p2-computer);
printf(“\n”);
b=1;
}
else if(b==0)
printf(“sorry not find data!”);
p2=p2-next;
}
if(b==1)
{
print();
printf(“Find one\n”);}
else
{print();
printf(“Not find\n”);
}
}
void caverage() /*求各学生语文平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf(“not data!”);
else
{for(i=0;p1!=NULL;i++,p1=p1-next)
sum+=p1-chinese;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
{if(maxp1-chinese)
max=p1-chinese;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
if(minp1-chinese)
min=p1-chinese;
}
printf(“Chinese Average:%f”,aver);
printf(“Chinese Max:%f”,max);
printf(“Chinese Min:%f”,min);
}
void maverage() /*求各学生数学平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf(“not data!”);
else
{for(i=0;p1!=NULL;i++,p1=p1-next)
sum+=p1-mathematic;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
{if(maxp1-mathematic)
max=p1-mathematic;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
if(minp1-mathematic)
min=p1-mathematic;
}
printf(“Mathe Average:%f”,aver);
printf(“Mathe Max:%f”,max);
printf(“Mathe Min:%f”,min);
}
void eaverage() /*求各学生英语平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf(“not data!”);
else
{for(i=0;p1!=NULL;i++,p1=p1-next)
sum+=p1-english;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
{if(maxp1-english)
max=p1-english;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
if(minp1-english)
min=p1-english;
}
printf(“English Average:%f”,aver);
printf(“English Max:%f”,max);
printf(“English Min:%f”,min);
}
void comaverage() /*求各学生计算机平均分、最高和最低分成绩的函数*/
{ stu *p1;
int i;
float max=0.0,min=200.0;
float sum=0.0,aver=0;
p1=head;
if(p1==NULL)
printf(“not data!”);
else
{for(i=0;p1!=NULL;i++,p1=p1-next)
sum+=p1-computer;
aver=sum/i;
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
{if(maxp1-computer)
max=p1-computer;
}
p1=head;
for(i=0;p1!=NULL;i++,p1=p1-next)
if(minp1-computer)
min=p1-computer;
}
printf(“Computer Average:%f”,aver);
printf(“Computer Max:%f”,max);
printf(“Computer Min:%f”,min);
}
update(stu *p2) /*通过姓名查找来更新数据*/
{
char name[10]; /*p2为指向结构体struct student的指针*/
int b=0;
printf(“Enter The Name”); /*输入姓名*/
scanf(“%s”,name);
while(p2!=NULL)
{if(strcmp(name,p2-name)==0)
{
printf(“Find you data\n”);
scanf(“Name:%s”,p2-name);
scanf(“Num:%s”,p2-num);
scanf(“Sex:%s”,p2-sex);
scanf(“Chinese:%d”,p2-chinese);
scanf(“Math:%d”,p2-mathematic);
scanf(“english:%d”,p2-english);
scanf(“Computer:%d”,p2-computer);
printf(“Success!”);
b=1;}
else if(b==0)
printf(“Sorry not Find data!”);
p2=p2-next;}
if(b==0)
{print();
printf(“Sorry not Find data!”);
}
else
{
print();
printf(“Finish!”);
}
}
save(stu *p2) /*保留数据函数*/
{
FILE *fp;
char file[10];
printf(“Enter file name”); /*输入文件名*/
scanf(“%s”,file);
fp=fopen(file,”w”);
while(p2!=NULL)
{
fprintf(fp,”%s”,p2-name);
fprintf(fp,”%s”,p2-num);
fprintf(fp,”%s”,p2-sex);
fprintf(fp,”%d”,p2-chinese);
fprintf(fp,”%d”,p2-mathematic);
fprintf(fp,”%d”,p2-english);
fprintf(fp,”%d”,p2-computer);
p2=p2-next;
}
fclose(fp);
}
char password[7]=”123456″; /*定义初始密码*/
void main() /*主函数*/
{ int choice;
stu *p2;
char s[8];
int flag=0,i; /*标志项*/
int n=3;
do{ printf(“Enter password:\n”);
scanf(“%s”,s);
if(!strcmp(s,password)) /*进行密码匹配验证*/
{ printf(“PASS\n\n\n”);
flag=1;
break;
}
else{
printf(“Error Enter again:\n”);
n–;
}
}
while(n0);
if(!flag)
{printf(“you have Enter 3 times!”); /*输入密码超过了3次!!*/
exit(0); /*自动退出*/
}
/*密码验证成功后进入的界面*/
printf(“~~~~~~~~~~\t\t\t~~~~~~~~~~~~\n”); /*操作界面*/
printf(“\t\tWelcom to the Mis\n”);
printf(“Author:—–\tClass:——\tNum:——\n”); /*作者,班级和号码*/
printf(“Adress:HG\n”); /*地址*/
printf(“%%%%%%%%%%%%%%%%%%%%%%%%%%%\n”);
printf(“\t\tEnter OP:\n”);
printf(“\n\n\n\n”);
printf(“==============\t\t==============\n”);
printf(“==============\t\t==============\n”);
printf(“\t\tEnter the MIS yes or no\n”); /*问进入系统与否*/
scanf(“%d”,choice);
if(choice==’n’||choice==’N’)
exit(1);
print();
while(1)
{
printf(“Enter choice:”);
scanf(“%d”,i);
if(i1||i13)
{
printf(“Enter num from 1 to 13:\n”); /*再从1-13中进行选择*/
exit(1);
}
switch(i)
{ case 1:
p2=cindata(); /*其他数据是否继续输入的函数*/
break;
case 2:
p2=lookdata(head); /*查看数据的函数*/
break;
case 3:
insert(); /*通过比较学号来插入数据的函数*/
break;
case 4:
find(head); /*通过姓名查找查看数据的函数*/
break;
case 5:
update(head); /*通过姓名查找来更新数据*/
break;
case 6:
save(head); /*保留数据函数*/
break;
case 7:
print(); /*显示或打印函数*/
break;
case 8:
caverage(); /*求各学生语文平均分、最高和最低分成绩的函数*/
break;
case 9:
maverage(); /*求各学生数学平均分、最高和最低分成绩的函数*/
break;
case 10:
eaverage(); /*求各学生英语平均分、最高和最低分成绩的函数*/
break;
case 11:
comaverage(); /*求各学生计算机平均分、最高和最低分成绩的函数*/
break;
case 12:
; /*空操作*/
case 13:
exit(1); /*退出*/
break;
}
scanf(“%d”,i);
}
}
程序中出现的问题及解决方法
问题一、学生初始信息模块:
其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。当正确输入存在的学生学号,系统进行判断时,提示不存在此学生。
解决办法及步骤:
1、一个个输出所有的学生的学号,检查文件中是否有此学生,发现有。
2、既然有此学生,那么检查循环判断是否有此学生的语句发现没有错
3、输出用于循环检查语句中的学生信息,发现乱码
4、仔细分析乱码的原因,最后发现是变量的类型错误,错将学生类型的结构体指针变量定义为了其他类型的指针变量。
问题二、查询模块:
可用stu *lookdata(stu *p1) 来实现。找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。当正确输入查找信息时,系统却不能够得到所要查找的学生信息以及学生的语文、数学、英语和计算机的成绩。
解决办法及步骤:
1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入查找信息看能否得到所要查找的学生信息以及学生的语文、数学、英语和计算机的成绩。
2、检查当我们在输入查找信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入查找信息。
问题三、插入模块:
可用insert( )函数来实现。其中通过学号的大小来比较的,并且以此来排序。当我们输入插入信息时,系统却提示插入不进数据。
解决办法及步骤:
1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入插入信息看能否插入进去得到所要插入的学生信息以及学生的语文、数学、英语和计算机的成绩。
2、检查当我们在输入插入信息时,看是否我们输入的插入信息有
C语言程序设计 设计一个程序,输入三个整数,求它们的和及平均数。
文件内容如下:
#include stdio.h
// 求和
int sum(int a, int b, int c){
int sum = a+b+c;
return sum;
}
// 求平均值
int avg(int a, int b, int c){
int avg = sum(a, b, c)/3;
return avg;
}
// 读取键盘输入的数字
int scan(){
int a = 0;
scanf(“%d”,a);
return a;
}
int main(){
printf(“请输入要进行计算的三个数:\n”);
int nums[] = {0,0,0};
int index = 0;
for(index;index3;index++){
nums[index] = scan();
}
printf(“您输入的三个数分别是:”);
int i = 0;
for(i;i3;i++){
printf(“%d “,nums[i]);
}
printf(“\n其中和是: %d \n”,sum(nums[0], nums[1], nums[2]));
printf(“平均数是: %d \n”,avg(nums[0], nums[1], nums[2]));
return 0 ;
}
c语言程序设计婚配代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言程序设计程序代码、c语言程序设计婚配代码的信息别忘了在本站进行查找喔。