首页技术c语言100行代码大全(c语言必背100代码)

c语言100行代码大全(c语言必背100代码)

编程之家2026-06-07691次浏览

大家好,今天来为大家解答c语言100行代码大全这个问题的一些问题点,包括c语言必背100代码也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

c语言100行代码大全(c语言必背100代码)

求100行左右的代码(C语言,c++,数据结构编写的均可)

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#define N 10

struct library{

int num;

c语言100行代码大全(c语言必背100代码)

char book_name[30];

char writer[30];

char sort_num[3];

char pub_company[30];

char pub_time[30];

char prise[30];

c语言100行代码大全(c语言必背100代码)

};

typedef struct library LIB;/*结构体的定义用于存放书籍及借书的信息*/

LIB lib[N];

FILE*fp; int all=0;

int menu(void);

void input(void);

void output(void);

void save(void);

void del(void);

void search(void);

void xiugai(void);

main()

{

for(;;)

{

switch(menu()){

case 1:input();break;

case 2:output();break;

case 3:save();break;

case 4:search();break;

case 5:xiugai();break;

case 6:del();break;

case 7:sort();break;

case 0:exit(1);break;

}/*SWITCH定义函数输出*/

}

}

int menu(void)

{

char m[3];

int n; printf("*********************WELCOME**********************\n\n\n\n\n");

printf("\t\t\t-----图书信息管理系统----\n");

printf("\t\t1:输入\n");

printf("\t\t2:输出\n");

printf("\t\t3:保存\n");

printf("\t\t4:查找\n");

printf("\t\t5:修改\n");

printf("\t\t6:删除\n");

printf("\t\t7:统计\n");

printf("\t\t0:退出\n");

printf("\t\tplease choose a operation(0-6):\n");

scanf("%s",m);

n=atoi(m);

return(n);

}/*主要界面*/

void input(void)

{

int i;

char m[3];

for(i=all;i<N;i++)

{

all++;

printf("请输入信息:\n");

printf("\t\t号码:\n");

scanf("%d",&lib[i].num);

printf("\t\t书名:\n");

scanf("%s",lib[i].book_name);

printf("\t\t作者:\n");

scanf("%s",lib[i].writer);

printf("\t\tsort_num:\n");

scanf("%s",lib[i].sort_num);

printf("\t\t出版商:\n");

scanf("%s",lib[i].pub_company);

printf("\t\t出版时间:\n");

scanf("%s",lib[i].pub_time);

printf("\t\t价格:\n");

scanf("%s",lib[i].prise);

a: printf("\t\tyes/哦了?\n");

printf("\t\t1:yes\n");

printf("\t\t2:no\n");

scanf("%s",m);

if(atoi(m)==1)

continue;

else if(atoi(m)==2)

return;

else

{

printf("\t\t错误!\n");

goto a;

}/*输入条件查找*/

}

}

void output(void)

{

int i;

for(i=0;i<all;i++)

{

printf("\t\t%d\n",lib[i].num);

printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);

printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);

}

}/*输出书名作者出版时间价格等*/

void save(void)

{

int i;

if((fp=fopen("file.c","wb"))==NULL)

{

printf("can not open the file");

exit(1);

}

for(i=0;i<all;i++)

{

if(fwrite(&lib[i],sizeof(LIB),1,fp)!=1)

{

printf("can not write!");

exit(1);

}

}/*条件不符合时拒绝存储*/

fclose(fp);

}

void search(void)

{

int i,flag;

char m[3];

char name[30];

printf("\t\t请选择您的存储方式:\n");

printf("\t\t1:按书名!\n");

printf("\t\t2:按作者!\n");

scanf("%s",m);

i=atoi(m);

switch(i)

{

case 1:{

printf("\t\t请输入书名:\n");

scanf("%s",name);

flag=0;

for(i=0;i<N;i++)

{

if(strcmp(name,lib[i].book_name)==0)

{

printf("\t\t%d\n",lib[i].num);

printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);

printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);

flag=1;break;

}

}

if(flag==0)

printf("\t\t没有这本书!\n");

}

case 2:{

printf("\t\t请输入作者:\n");

scanf("%s",name);

flag=0;

for(i=0;i<N;i++)

{

if(strcmp(name,lib[i].writer)==0)

{

printf("\t\t%d\n",lib[i].num);

printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);

printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);

flag=1;break;

}

}

if(flag==0)

printf("\t\t没有这个作者!\n");

}

}/*查找图书按书名或作者并输出*/

}

void xiugai(void)

{

int i,flag;

char name[30],n[3];

printf("\t\t请输入要修改的书名:\n");

scanf("%s",name);/*修改书名*/

flag=0;

for(i=0;i<N;i++)

{

if(strcmp(name,lib[i].book_name)==0)

{

printf("\t\t%d\n",lib[i].num);

printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);

printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);

printf("\t\tplease input xiugai's the informations:\n");

printf("\t\tnum:\n");

scanf("%d",&lib[i].num);

printf("\t\tbook_name:\n");

scanf("%s",lib[i].book_name);

printf("\t\twriter:\n");

scanf("%s",lib[i].writer);

printf("\t\tsort_num:\n");

scanf("%s",lib[i].sort_num);

printf("\t\tpub_company:\n");

scanf("%s",lib[i].pub_company);

printf("\t\tpub_time:\n");

scanf("%s",lib[i].pub_time);

printf("\t\tprise:\n");

scanf("%s",lib[i].prise);

flag=1;break;

}

}/*增加图书*/

if(flag==0)

printf("\t\t没有找到啊!\n");

}

void del(void)

{

int i,j,flag;

char name[30];

printf("\t\t请输入要删除的书名:\n");

scanf("%s",name);

flag=0;

for(i=0;i<N;i++)

{

if(strcmp(name,lib[i].book_name)==0)

{

printf("\t\t%d\n",lib[i].num);

printf("%s\t\t%s\t\t%s\n",lib[i].book_name,lib[i].writer,lib[i].sort_num);

printf("%s\t\t%s\t\t%s\n",lib[i].pub_company,lib[i].pub_time,lib[i].prise);

for(j=N;j>i;j--)

{

lib[j-1].num=lib[j].num;

strcpy(lib[j-1].book_name,lib[j].book_name);

strcpy(lib[j-1].writer,lib[j].writer);

strcpy(lib[j-1].sort_num,lib[j].sort_num);

strcpy(lib[j-1].pub_company,lib[j].pub_company);

strcpy(lib[j-1].pub_time,lib[j].pub_time);

strcpy(lib[j-1].prise,lib[j].prise);

flag=1;

printf("\t\t已经删除!\n");

break;

}

}

}

if(flag==0)

printf("\t\t没有这本书!\n");

}/*删除图书*/

c语言必背代码有哪些

1、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

兔子的规律为数列1,1,2,3,5,8,13,21....*/

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i<=20;i++)

{ printf("%12ld%12ld",f1,f2);

if(i%2==0) printf("

");/*控制输出,每行四个*/

f1=f1+f2;/*前两个月加起来赋值给第三个月*/

f2=f1+f2;/*前两个月加起来赋值给第三个月*/

}

}

2、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。*/

#include"math.h"

main()

{

intm,i,k,h=0,leap=1;

printf("

");

for(m=101;m<=200;m++)

{k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

{leap=0;break;}

if(leap)/*内循环结束后,leap依然为1,则m是素数*/

{printf("%-4d",m);h++;

if(h%10==0)

printf("

");

}

leap=1;

}

printf("

Thetotal is%d",h);

}

3、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程

找出1000以内的所有完数。*/

main()

{

static int k[10];

inti,j,n,s;

for(j=2;j<1000;j++)

{

n=-1;

s=j;

for(i=1;i<j;i++)

{if((j%i)==0)

{ n++;

s=s-i;

k[n]=i;

}

}

if(s==0)

{printf("%d is a wanshu:",j);

for(i=0;i<n;i++)

printf("%d,",k[i]);

printf("%d

",k[n]);

}

}

}

4、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,

请在空白处完善程序。*/

main()

{ int a[4][4],b[4][4],i,j;/*a存放原始数组数据,b存放旋转后数组数据*/

printf("input 16 numbers:");

/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/

for(i=0;i<4;i++)

for(j=0;j<4;j++)

{ scanf("%d",&a[i][j]);

b[3-j][i]=a[i][j];

}

printf("arrayb:

");

for(i=0;i<4;i++)

{ for(j=0;j<4;j++)

printf("%6d",b[i][j]);

printf("

");

}

}

5、/*编程打印直角杨辉三角形*/

main()

{int i,j,a[6][6];

for(i=0;i<=5;i++)

{a[i][i]=1;a[i][0]=1;}

for(i=2;i<=5;i++)

for(j=1;j<=i-1;j++)

a[i][j]=a[i-1][j]+a[i-1][j-1];

for(i=0;i<=5;i++)

{for(j=0;j<=i;j++)

printf("%4d",a[i][j]);

printf("

");}

}

6、/*通过键盘输入3名学生4门课程的成绩,

分别求每个学生的平均成绩和每门课程的平均成绩。

要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车

其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

#include<stdio.h>

#include<stdlib.h>

main()

{ float a[4][5],sum1,sum2;

inti,j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf("%f",&a[i][j]);

for(i=0;i<3;i++)

{sum1=0;

for(j=0;j<4;j++)

sum1+=a[i][j];

a[i][4]=sum1/4;

}

for(j=0;j<5;j++)

{ sum2=0;

for(i=0;i<3;i++)

sum2+=a[i][j];

a[3][j]=sum2/3;

}

for(i=0;i<4;i++)

{ for(j=0;j<5;j++)

printf("%6.2f",a[i][j]);

printf("

");

}

}

C语言代码,100以内随机加减乘除

刚写了个,在你的要求上还增加了循环答题,最后判断正确率。

#include<stdio.h>

int main(void)

{

int i= 0, a, b, ret, user_ret;

char symbol;//符号, 0(+), 1(-), 2(*), 3(/)

int count, right= 0;

srand(time(NULL));//随机种子

while(1){

a= rand()% 100;//随机取得数字1

b= rand()% 100;//随机取得数字2

symbol= rand()% 4;//随机取得运算符号

switch(symbol){//根据符号计算机先算出结果,并将数字转换成数学运算符号

case 0:{//加

ret= a+ b;//先算得结果

symbol='+';//符号

} break;

case 1:{//减

ret= a- b;

symbol='-';

} break;

case 2:{//乘

ret= a* b;

symbol='*';

} break;

case 3:{//除

ret= a/ b;

symbol='/';

}

}

printf("%d%c%d=", a, symbol, b);//输出公式给用户看

count= 0;//每道题重做次数都清0

while(1){

scanf("%d",&user_ret);

if(user_ret== ret){//判断用户回答与计算机结果是否相同

printf("回答正确\n");

right++;//正确数加1

break;//跳出内循环

}

printf("错误,再次输入:");

count++;//答错计数+1

if(count== 3){//连续错了3次

printf("正确答案是:%d\n", ret);

break;//跳出内循环

}

}

i++;//已答题数+1

printf("是否继续(y/n)?\n");

getchar();//吃掉缓冲区的换行符,不太保险的做法,正确做法应该fgets代替scanf

scanf("%c",&symbol);//接收用户的选择结果

if(symbol!='y'&& symbol!='Y')//如果不是输入的'Y'或'y'就退出,否则继续下一题.

break;

}

//计算结果,其中i是总共的出题数, right为做对数,

printf("练习结束,共做题%d,正确%d,正确率%.2f%%\n", i, right,(double)right/ i* 100);

return 0;

}

文章到此结束,如果本次分享的c语言100行代码大全和c语言必背100代码的问题解决了您的问题,那么我们由衷的感到高兴!

25战袍成就?25专辑成就异种虫?异形虫手机版下载