本文目录一览:
- 1、谁会c语言啊?
- 2、谁会用C语言编程 打印菱形(行=列=2n+1)
- 3、谁会做c语言啊,题目如下:
- 4、你们的c语言都是在哪里学的?
- 5、谁会用C语言 写“定义函数返回两个数中较大的数,在主函数中调用并输出。编写主函数调用该函数”。
谁会c语言啊?
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
struct time /*出版时间结构体*/
{
int year;
int month;
int day;
};
struct data /*图书数据结构体*/
{
int num;
char bname[20];
char wname[15];
char clanum[15];
char pubcom[10];
struct time pubtime;
float price;
}books[20],book;
void face() /*程序主界面函数*/
{
system("cls");
printf("\n ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf(" ┃ ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 图 书 信 息 管 理 系 统 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 1.图书数据输入 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 2.图书数据浏览 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 3.图书数据查找 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 4.图书数据排序 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 5.图书数据修改 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 6.图书数据删除 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 7.退出系统 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ (Alpha Ver 0.1)┃\n");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf(" 请选择操作:");
}
int days(int year,int month) /*判断年月,返回输入时月份最大天数限制*/
{
int day2,loop=0;
if(year%4==0year%100!=0||year%400==0)
loop=1;
switch(month)
{
case 4:
case 6:
case 9:
case 11:
{
day2=30;
return(day2);
}
break;
case 2:
{
if(loop==1)
{
day2=29;
return(day2);
}
else
{
day2=28;
return(day2);
}
break;
}
break;
default :
{
day2=31;
return(day2);
}
break;
}
}
void input() /*图书信息输入函数*/
{
FILE *fp,*fp1;
struct data t;
char ch;
int day1,count,loop,i;
float temp;
do
{
system("cls");
fp=fopen("book.dat","ab");
if(fp==NULL)
{
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法创建!");
getchar();
return;
}
do /*判断登录号是否重复及是否小于0*/
{
fp1=fopen("book.dat","rb");
loop=0;
fseek(fp1,0,2);
count=ftell(fp1)/sizeof(struct data);
fclose(fp1);
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:");
scanf("%d",book.num);
getchar();
for(i=0;icount;i++)
{
fp1=fopen("book.dat","rb");
fseek(fp1,i*(sizeof(struct data)),0);
fread(t,sizeof(struct data),1,fp1);
fclose(fp1);
if(book.num=0)
{
loop=1;
break;
}
if(book.num==t.num)
{
loop=1;
break;
}
}
}while(loop!=0);
printf("\n\t\t\t2.图 书 名:");
scanf("%s",book.bname);
printf("\n\t\t\t3.作 者 名:");
scanf("%s",book.wname);
printf("\n\t\t\t4.分 类 号:");
scanf("%s",book.clanum);
printf("\n\t\t\t5.出版单位:");
scanf("%s",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:");
scanf("%d",book.pubtime.year);
getchar();
while(book.pubtime.year2006||book.pubtime.year=0) /*判断年份是否超出界限,超出就重新输入正确值*/
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:");
scanf("%d",book.pubtime.year);
getchar();
}
printf("\t\t\t 月:");
scanf("%d",book.pubtime.month);
getchar();
while(book.pubtime.month12||book.pubtime.month=0) /*判断月份是否超出界限,超出就重新输入正确值*/
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:");
scanf("%d",book.pubtime.month);
getchar();
}
printf("\t\t\t 日:");
scanf("%d",book.pubtime.day);
getchar();
day1=days(book.pubtime.year,book.pubtime.month); /*计算输入年月后,当月的天数最大值*/
while(book.pubtime.dayday1||book.pubtime.day=0) /*判断天数是否超出界限,超出就重新输入正确值*/
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:%d",book.pubtime.month);
printf("\n\t\t\t 日:");
scanf("%d",book.pubtime.day);
getchar();
}
do /*判断价格是否为0和负值*/
{
loop=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:%d",book.pubtime.month);
printf("\n\t\t\t 日:%d",book.pubtime.day);
printf("\n\n\t\t\t7.价 格:");
scanf("%f",temp);
book.price=temp;
if(book.price=0)
{
loop=1;
}
}while(loop!=0);
fwrite(book,sizeof(struct data),1,fp);
fclose(fp);
printf("\n\t\t\t\t\t\t是否继续输入数据(Y or N)?:");
ch=getch();
}while(ch=='y'||ch=='Y');
system("cls");
getchar();
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息输入结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void output()
{
FILE *fp;
int count,i;
char ch;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
count=ftell(fp)/sizeof(struct data); /*读取文件里的记录条数*/
rewind(fp);
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
for(i=0;icount;i++)
fread(books[i],sizeof(struct data),1,fp); /*将文件中的数据读取到内存中*/
fclose(fp);
for(i=0;icount;)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",books[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",books[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",books[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",books[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",books[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",books[i].pubtime.year,books[i].pubtime.month,books[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",books[i].price);
if(i==0count==1) /*当记录只有1条时显示菜单选项*/
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count1) /*记录大于1条*/
{
if(i==0) /*首页的显示菜单*/
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1) /*末页的显示菜单*/
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else /*中间页的显示菜单*/
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1) /*记录不为末页时向下翻页*/
i++;
else /*记录为末页时的下翻处理,防止超出界限*/
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0) /*记录不为首页时向上翻页*/
i--;
else /*记录为首页时的上翻处理,防止超出界限*/
{
getchar();
getchar();
}
}
}
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息浏览结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void find()
{
FILE *fp;
struct data temp[20];
int count,i,n;
char ch,ch1,ch2,cha[20];
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;in;i++)
fread(books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
do
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t1.按图书名查询");
printf("\n\n\n\t\t\t2.按作者名查询");
printf("\n\n\n\t\t\t3.退出查询");
printf("\n\n\n\t\t\t\t请选择相应的操作:");
ch1=getchar();
getchar();
if(ch1=='1')
{
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入查询的图书名:");
scanf("%s",cha); /*输入查询内容*/
getchar();
for(i=0;in;i++)
{
if(strstr(books[i].bname,cha)) /*查询*/
{
temp[count]=books[i]; /*将找到匹配数据放入临时变量*/
count++; /*统计查找到的记录条数*/
}
}
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t\t未查找到相关数据!!!");
printf("\n\n\n\n\n\t\t\t\t\t\t是否继续查询?(Y or N):");
ch2=getchar();
getchar();
}
}while(count==0ch2=='y'||ch2=='Y');
for(i=0;icount;) /*浏览匹配数据*/
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",temp[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",temp[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",temp[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",temp[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",temp[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",temp[i].pubtime.year,temp[i].pubtime.month,temp[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",temp[i].price);
if(i==0count==1)
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count1)
{
if(i==0)
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1)
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1)
i++;
else
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0)
i--;
else
{
getchar();
getchar();
}
}
}
}
if(ch1=='2')
{
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入查询的作者名:");
scanf("%s",cha); /*输入查询内容*/
getchar();
for(i=0;in;i++)
{
if(strstr(books[i].wname,cha)) /*数据比较*/
{
temp[count]=books[i]; /*将找到匹配数据放入临时变量*/
count++; /*统计查找到的记录条数*/
}
}
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t\t未查找到相关数据!!!");
printf("\n\n\n\n\n\t\t\t\t\t\t是否继续查询?(Y or N):");
ch2=getchar();
getchar();
}
}while(count==0ch2=='y'||ch2=='Y');
for(i=0;icount;) /*浏览匹配数据*/
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",temp[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",temp[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",temp[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",temp[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",temp[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",temp[i].pubtime.year,temp[i].pubtime.month,temp[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",temp[i].price);
if(i==0count==1)
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count1)
{
if(i==0)
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1)
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1)
i++;
else
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0)
i--;
else
{
getchar();
getchar();
}
}
}
}
}while(ch1!='3');
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息查询结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void sort()
{
FILE *fp;
int n,i,j;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;in;i++)
fread(books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
for(i=0;in-1;i++) /*排序*/
{ for(j=0;j(n-1)-i;j++)
{
if(books[j].numbooks[j+1].num)
{
book=books[j];
books[j]=books[j+1];
books[j+1]=book;
}
}
}
fp=fopen("book.dat","wb"); /*将排序内容重新写入文件*/
for(i=0;in;i++)
fwrite(books[i],sizeof(struct data),1,fp);
fclose(fp);
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\n\t\t\t\t已按图书登录号排序完毕!!!");
getchar();
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息排序结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void edit()
{
FILE *fp,*fp1;
struct data temp[20];
int i,n,count,k[20],day1,loop,count1,j;
float t1;
char cha[20],ch,ch1,ch2;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;in;i++)
fread(books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入要修改的图书名:");
scanf("%s",cha);
getchar();
for(i=0;in;i++)
{
if(strstr(books[i].bname,cha))
{
temp[count]=books[i]; /*源代码太长发不完,你要的话留下Email和悬赏分偶跟你发过去 */
k[count]=i;
count++;
}
}
谁会用C语言编程 打印菱形(行=列=2n+1)
我会,具体代码如下:#include stdio.hvoid main()
{
int i;
int j;
int k; for(i=0;i=3;i++)
{
for(j=0;j=2-i;j++)
print(" ");
}
for(k=0;k=2*i;k++)
printf("*");
print("\n");
}
for(i=0;i=2;i++)
{
for(j=0;j=i;j++)
printf("");
for(k=0;k4-2*i;k++)
printf("*");
printf("\n");
}
谁会做c语言啊,题目如下:
回答1楼的:
可以把数组设置为全局变量.
回答楼主:
今天下班了,改天帮你写
==========补充回答===========
回答1楼:
还有一种方式能够同时返回2个数组,其实严格的说是改变2个数组的内容.那就是把数组当作指针传递到处理函数中,这样你在处理函数里面可以任意改变数组的内容,在函数外面也能访问到改变后的数据哦.不过有一个缺点,就是处理函数不会知道数组的长度,容易内存溢出
回答楼主:
以下是实现文件,注释和使用方法也在里面,你放到你的编译器里面测试一下吧
/*********以下是C文件内容************/
/*使用方法:在提示后面输入2个数字,之间用空格或者回车隔开,如1 2
如果不想输入了,则输入2个负数,如 -1 -1
因为只是简单的功能实现,所以未做错误输入判断。所以如果你输入字母,可能会在屏幕上出现乱七八糟的内容
*/
#include stdio.h
/*提供函数memset,如果你把那个函数删除,这个头文件不要了*/
#include string.h
/*最大数,你要求的是100,我测试时候是10,你改这里就可以了*/
#define MAXNUM 10
int chengji[MAXNUM];
int xuehao[MAXNUM];
int loop = 0; /*记录输入了多少数据*/
void ReadDat()/*获取数据*/
{
int i;
int result;
for(i = 0;iMAXNUM;i++)
{
printf("please enter your number and score:");
result = scanf("%d %d",xuehao[i],chengji[i]);
if(xuehao[i] 0 chengji[i] 0) /*如果输入的数字都是负数,则跳出循环,不接受输入*/
{
xuehao[i] = 0;
chengji[i] = 0;
break;
}
}
loop = i;
return ;
}
void jsSort() /*排序函数*/
{
int i;
int j;
int temp;
for(i=0;iloop;i++)
{
for(j=i;jloop;j++)
{
if(chengji[i] chengji[j])/*从大到小排序。如果用则是从小到大排序。*/
{
temp = chengji[i];
chengji[i] = chengji[j];
chengji[j] = temp ;
temp = xuehao[i];
xuehao[i] = xuehao[j];
xuehao[j] = temp ;
}
}
}
return;
}
void WriteDat()
{
int i;
printf("xuehao\tchengji\n");/*打印标题*/
for(i=0;iloop;i++)
{
printf("%-6d\t%-7d\n",xuehao[i],chengji[i]);/*左对齐输出结果,如果不要-,则是右对齐输出*/
}
return;
}
int main()
{
memset(chengji,0,sizeof(chengji));/*将数组chengji数值全部设置为0*/
memset(xuehao,0,sizeof(xuehao));
ReadDat();
jsSort();
WriteDat();
return 0;
}
/**********以上是C文件内容************/
你们的c语言都是在哪里学的?
中国大学MOOC,手机APP和网页版的都可以。
有网易邮箱就用网易邮箱登陆。
没有的话可以注册一个账号。
里面有很多课程。
至于学习C语言,我比较推荐浙大的翁恺老师讲的:
“程序设计入门---C语言”,
我就是听的这门课,讲的很好。
希望对你有帮助
谁会用C语言 写“定义函数返回两个数中较大的数,在主函数中调用并输出。编写主函数调用该函数”。
#include stdio.h
int maxnum(int a, int b)
{
if(ab)return a;
else return b;
}
int main()
{
int i,j;
printf("请输入两个整数:\n");
scanf("%d %d",i,j);
printf("较大的数是:%d\n",maxnum(i,j));
return 0;
}
请输入两个整数:
4 9
较大的数是:9
请按任意键继续. . .