数字c语言代码大全,C语言代码大全

44cb7578e1df5412b94317daaa3307ba.gifC语言代码大全

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

20

积分

还剩页未读,继续阅读

关 键 词:C语言源代码大全

c语言代码大全

资源描述:

乘法口诀表

#include #include void main(void)

{

int i,j,x,y;

clrscr();

printf("\n\n * * * 乘法口诀表 * * * \n\n");

x=9;

y=5;

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

{

gotoxy(x,y);

printf("%2d ",i);

x+=3;

}

x=7;

y=6;

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

{

gotoxy(x,y);

printf("%2d ",i);

y++;

}

x=9;

y= 6;

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

{

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

{

gotoxy(x,y);

printf("%2d ",i*j);

y++;

}

y-=9;

x+=3;

}

printf("\n\n");

}

用一维数组统计学生成绩

#include void main()

{

char SelectKey,CreditMoney,DebitMoney;

while(1)

{

do{

clrscr();

puts("=========================");

puts("| Please select key: |");

puts("| 1. Quary |");

puts("| 2. Credit |");

puts("| 3. Debit |");

puts("| 4. Return |");

puts("=========================");

SelectKey = getch();

}while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' &&

SelectKey!='4' );

switch(SelectKey)

{

case '1':

clrscr();

puts("================================");

puts("| Your balance is $1000. |");

puts("| Press any key to return... |");

puts("================================");

getch();

break;

case '2':

do{

clrscr();

puts("==================================");

puts("| Please select Credit money: |");

puts("| 1. $50 |");

puts("| 2. $100 |");

puts("| 3. Return |");

puts("==================================");

CreditMoney = getch();

}while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' );

switch(CreditMoney)

{

case '1':

clrscr();

puts("=========================================");

puts("| Your Credit money is $50,Thank you! |");

puts("| Press any key to return... |");

puts("=========================================");

getch();

break;

case '2':

clrscr();

puts("==========================================");

puts("| Your Credit money is $100,Thank you! |");

puts("| Press any key to return... |");

puts("==========================================");

getch();

break;

case '3':

break;

}

break;

case '3':

do{

clrscr();

puts("====================================");

puts("| Please select Debit money: |");

puts("| 1. $50 |");

puts("| 2. $100 |");

puts("| 3. $500 |");

puts("| 4. $1000 |");

puts("| 5. Return |");

puts("====================================");

DebitMoney = getch();

}while( DebitMoney!='1' && DebitMoney!='2' && DebitMoney!='3' &&DebitMoney!='4' && DebitMoney!='5' );

switch(DebitMoney)

{

case '1':

clrscr();

puts("===========================================");

puts("| Your Debit money is $50,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '2':

clrscr();

puts("===========================================");

puts("| Your Debit money is $100,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '3':

clrscr();

puts("===========================================");

puts("| Your Debit money is $500,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '4':

clrscr();

puts("===========================================");

puts("| Your Debit money is $1000,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '5':

break;

}

break;

case '4':

clrscr();

puts("================================");

puts("| Thank you for your using! |");

puts("| Good bye! |");

puts("================================");

return;

}

}

模拟ATM(自动柜员机)界面

#include void main()

{

int Password=0,Number=0,price=58,i=0;

while( Password != 1234 )

{

if( i >= 3 )

return;

i++;

puts("Please input Password: ");

scanf("%d",&Password);

}

i=0;

while( Number!=price )

{

do{

puts("Please input a number between 1 and 100: ");

scanf("%d",&Number);

printf("Your input number is %d\n",Number);

}while( !(Number>=1 && Number<=100) );

if( Number >= 90 )

{

printf("Too Bigger! Press any key to try again!\n");

}

else if( Number >= 70 && Number < 90 )

{

printf("Bigger!\n");

}

else if( Number >= 1 && Number <= 30 )

{

printf("Too Small! Press any key to try again!\n");

}

else if( Number > 30 && Number <= 50 )

{

printf("Small! Press any key to try again!\n");

}

else

{

if( Number == price )

{

printf("OK! You are right! Bye Bye!\n");

}

else if( Number < price )

{

printf("Sorry,Only a little smaller! Press any key to try again!\n");

}

else if( Number > price )

{

printf(" Sorry, Only a little bigger! Press any key to try again!\n");

}

getch();

}

}

用二维数组实现矩阵转置

/* 用二维数组实现矩阵的转置 */

#include #define ROW 3

#define COL 4

main()

{

int matrixA[ROW][COL],matrixB[COL][ROW];

int i,j; clrscr();

printf("Enter elements of the matrixA,");

printf("%d*%d:\n",ROW,COL);

for( i=0; imax)/* 保存至row行的最小数 */

min=max;

}

printf("The minimum of maximum number is %d\n",min);

for(max=a[0][0],row=0;rowa[row][col])

min=a[row][col];

if(max0)

{

/*a[i]与a[high]交换,随之high减1*/

t=a[i];

a[i]=a[high];

a[high]=t;

high--;

}

else if(a[i]==0)

i++; /* 掠过该元素 */

else

{

/*a[i]与a[low]交换,随之low增1, i增1*/

t=a[i];

a[i]=a[low];

a[low]=t;

low++;

i++;

}

}

}

int s[]={8,4,0,-1,6,0,-5};

main()

{

int i;

clrscr();

printf("\n The arry before rest is:\n");

for(i=0;i16)

{

s[0]='\0'; /* 不合理的进制,置s为空字符串 */

return 0; /* 不合理的进制,函数返回0 */

}

buf[i]='\0';

do

{

buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/

n/=d;

}while(n);

/* 将译出在工作数组中的字符串复制到s */

for(j=0;(s[j]=buf[i])!='\0';j++,i++);

/* 其中控制条件可简写成s[j]=buf[i] */

return j;

}

/* 主函数用于测试函数 trans() */

main()

{

unsigned int num = 253;

int scale[]={2,3,10,16,1};

char str[33];

int i;

clrscr();

for(i=0;i(%d) Error! \n",num,scale[i]);

}

printf("\n Press any key to quit...\n");

getch();

}

判断回文数

/* 函数circle用于判断正整数n的d进制数表示形式是否是回文数 */

int circle(int n, int d)

{

int s=0,m=n;

while(m)

{

s=s*d+m%d;

m/=d;

}

return s==n;

}

/* main函数用于测试circle函数 */

int num[]={232,27,851};

int scale[]={2,10,16};

main()

{

int i,j;

clrscr();

for(i=0;i(%d) is a Circle Number!\n",num[i],scale[j]);

else

printf("%d -> (%d) is not a Circle Number!\n",num[i],scale[j]);

printf("\n Press any key to quit...\n");

getch();

}

求解钢材切割的最佳订单

#include #define N 20

#define DELTA 2

int bestlen;

int bestsele[N];

int sele[N];

int n;

int orderlen[N];

int total;

main()

{

int i;

clrscr();

printf("\n Please enter total length of the steel:\n");/* 输入钢材总长

*/

scanf("%d",&total);

printf("\n Please enter number of order:\n"); /* 输入定单数 */

scanf("%d",&n);

printf("\n Please enter the orders:\n"); /* 输入各定单 */

for(i=0;i*yp) /* 通过指向变量的指针引用变量的值 */

{

t=*xp; /* 通过指向变量的指针引用变量的值 */

*xp=*yp;/* 通过指向变量x的指针xp,引用变量x的值 */

*yp=t; /* 通过指向变量y的指针yp,引用变量y的值 */

}

if(*xp>*zp) /* 通过指向变量的指针,引用变量的值 */

{

t=*xp; /* 通过指向变量x的指针xp,引用变量x的值 */

*xp=*zp;/* 通过指向变量x的指针xp,引用变量x的值 */

*zp=t; /* 通过指向变量z的指针zp,引用变量z的值 */

}

if(*yp>*zp) /* 通过指向变量的指针,引用变量的值 */

{

t=*yp; /* 通过指向变量的指针,引用变量的值 */

*yp=*zp;/* 通过指向变量y的指针yp,引用变量y的值 */

*zp=t;/* 通过指向变量z的指针zp,引用变量z的值 */

}

printf("x = %d\ty = %d\tz = %d\n",x,y,z);

printf("\nPress any key to quit...\n");

getch();

}

阿拉伯数字转换为罗马数字

#include #define ROWS 4

#define COLS 4

int nums[ROWS][COLS]={{1000,1000,1000,1000},

{900,500,400,100},

{90,50,40,10},

{9,5,4,1}};

char *roms[ROWS][COLS]={{"m","m","m","m"},

{"cm","d","cd","c"},

{"xc","l","xl","x"},

{"ix","v","iv","i"}}; main(int argc,char *argv[ ])

{

int low,high;

char roman[25]; if(argc<2)

{ printf("Usage:roman decimal_number\n");/*运行程序需带整数参数*/

exit(0);

}

high=low=atoi(argv[1]);/*将第一个参数转换成整数*/

checknum(low);

if(argc>2)

{/*带两个参数*/

high=atoi(argv[2]);

checknum(high);

if(low>high)

{

low=high;

high=atoi(argv[1]);

}

}

else

low=1;

for(;low<=high;low++)

{

to_roman(low,roman);

printf("%d\t%s\n",low,roman);

}

} checknum(int val)/*检查参数合理性*/

{

if(val<1||val>9999)

{

printf("The number must be in range 1..9999.\n");

exit(0);

}

}

to_roman(int decimal,char roman[ ])/*将整数转换成罗马数字表示*/

{

int power,index;

roman[0]='\0';

for(power=0;power=nums[power][index])

{

strcat(roman,roms[power][index]);

decimal-=nums[power][index];

}

}

通讯录的输入输出

#include #define ZIPLEN 10

#define PHONLEN 15

/*struct addr类型定义*/ struct addr

{

char *name;/*姓名*/

char *address;/*地址*/

char zip[ZIPLEN];/*邮政编码*/

char phone[PHONLEN];/*电话号码*/

}; main()/*本主函数示意上述输入输出函数的用法*/

{

struct addr p[100];

int i,j;

clrscr();

for(i=0;readaddr(p+i);i++);

for(j=0;jname=(char *)malloc(len+1);/*申请存贮姓名的空间*/

strcpy(dpt->name,buf);

}

else return 0;/*Ctrl+Z结束输入*/

printf("Please input the Address:\n");/*输入地址*/

if(scanf("%s",buf)==1)

{

len=strlen(buf);

dpt->address=(char *)malloc(len+1);/*申请存贮地址的空间*/

strcpy(dpt->address,buf);

}

else

{/*Ctrl+Z结束输入*/

free(dpt->name);/*释放存贮姓名的空间*/

return 0;

}

printf("Please input the Zip code:\n");/*输入邮编*/

if(scanf("%s",buf)==1)

strncpy(dpt->zip,buf,ZIPLEN-1);

else

{

free(dpt->name);/*释放存贮姓名的空间*/

free(dpt->address);/*释放存贮地址的空间*/

return 0;/*Ctrl+Z结束输入*/

}

printf("Please input the Phone number:\n");/*输入电话号码*/

if(scanf("%s",buf)==1)

strncpy(dpt->phone,buf,PHONLEN-1);

else

{

free(dpt->name);

free(dpt->address);

return 0;/*Ctrl+Z结束输入*/

}

return 1;

} /* 函数writeaddr用于输出通讯录 */

int writeaddr(struct addr*dpt)

{

printf("Name : %s\n", dpt->name);/*输出姓名*/

printf("Address : %s\n", dpt->address);/*输出地址*/

printf("Zip : %s\n", dpt->zip);/*输出邮编*/

printf("Phone : %s\n\n", dpt->phone);/*输出电话号码*/

}

扑克牌的结构表示

enum suits{CLUBS,DIAMONDS,HEARTS,SPADES};

struct card

{

enum suits suit;

char value[3];

};

struct card deck[52];

char cardval[][3]=

{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

char suitsname[][9]={"CLUBS","DIAMONDS","HEARTS","SPADES"}; main()

{

int i,j;

enum suits s;

clrscr();

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

for(s=CLUBS;s<=SPADES;s++)

{

j=i*4+s;

deck[j].suit=s;

strcpy(deck[j].value,cardval[i]);

}

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

printf("(%s%3s)%c",suitsname[deck[j].suit],deck[j].value,j%

4==3?'\n':'\t');

puts("\nPress any key to quit...");

getch();

}

用“结构”统计学生成绩

#include #define N 200

#define SCORES 5

#define NUMLEN 10

struct std_type{

char no[NUMLEN];/*学号*/

char *name;/*名字符串指针*/

int scores[SCORES];/*五门功课的成绩*/

};

struct std_type students[N];

int order[N];

int total[N]; /*[函数]输入一个学生信息函数*/

int readastu(struct std_type *spt)

{

int len,j;

char buf[120];/*输入字符串的缓冲区*/ printf("\nNumber : ");/*输入学号

*/

if(scanf("%s",buf)==1)

strncpy(spt->no,buf,NUMLEN-1);

else

return 0;/*Ctrl+Z结束输入*/

printf("Name : ");/*输入姓名*/

if(scanf("%s",buf)==1)

{

len=strlen(buf);

spt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/

strcpy(spt->name,buf);

}

else return 0;/*Ctrl+Z结束输入*/

printf("Scores : ");/*输入成绩*/

for(j=0;jscores+j)!=1)

break;

if(j==0)/*一个成绩也未输入*/

{

free(spt->name);/*释放存贮姓名的空间*/

return 0;

}

for(;jscores[j]=0;

return 1;

} /*[函数]输出一个学生信息的函数*/

int writeastu(struct std_type *spt)

{

int i; printf("Number : %s\n",spt->no);/*输出学号*/

printf("Name : %s\n",spt->name);/*输出姓名*/

printf("Scores : ");/*输出成绩*/

for(i=0;iscores[i]);

printf("\n\n");

} main()

{

int n,i,j,t; clrscr();

for(n=0;readastu(students+n);n++);

/*采用冒泡法对学生信息数组排序*/

for(i=0;istruct ele{

int no;

struct ele *link;

}

main()

{

int n,m,i;

struct ele *h,*u,*p;

clrscr();

printf("Please input n&m:\n");

scanf("%d%d",&n,&m);/*输入n和m*/

h=u=(struct ele *)malloc(sizeof(struct ele));/*形成首表元*/

h->no=1;

for(i=2;i<=n;i++)/*形成其余的n-1个表元*/

{

u->link=(struct ele *)malloc(sizeof(struct ele));

u=u->link;

u->no=i;/*第i个表元置编号i*/

}

u->link=h;/*末表元后继首表元,形成环*/

puts("\nThe numbers of who will quit the cycle in turn are:");

while(n)

{

for(i=1;ilink;

p=u->link;/*p指向第m个表元*/

u->link=p->link;/*第m个表元从环中脱钩*/

printf("%4d",p->no);

free(p);/*释放第m个表元占用的空间*/

n--;

}

printf("\n\n Press any key to quit...\n");

getch();

}

学生成绩管理程序

/*

学生成绩管理程序

编制一个统计学生考试分数的管理程序。

设学生成绩已以一个学生一个记录的形式存储在文件中,

每位学生记录包含的信息有:姓名,学号和各门功课的成绩。

程序具有以下几项功能:求出各门课程的总分,平均分,按姓名,

按学号寻找其记录并显示,浏览全部学生成绩和按总分由高到低显示学生信息等

*/ #include #define SWN 3 /* 课程数 */

#define NAMELEN 20 /* 姓名最大字符数 */

#define CODELEN 10 /* 学号最大字符数 */

#define FNAMELEN 80 /* 文件名最大字符数 */

#define BUFLEN 80 /* 缓冲区最大字符数 */

/* 课程名称表 */

char schoolwork[SWN][NAMELEN+1] = {"Chinese","Mathematic","English"};

struct record

{

char name[NAMELEN+1]; /* 姓名 */

char code[CODELEN+1]; /* 学号 */

int marks[SWN]; /* 各课程成绩 */

int total; /* 总分 */

}stu; struct node

{

char name[NAMELEN+1]; /* 姓名 */

char code[CODELEN+1]; /* 学号 */

int marks[SWN]; /* 各课程成绩 */

int total; /* 总分 */

struct node *next; /* 后续表元指针 */

}*head; /* 链表首指针 */ int total[SWN]; /* 各课程总分 */

FILE *stfpt; /* 文件指针 */

char stuf[FNAMELEN]; /* 文件名 */ /* 从指定文件读入一个记录 */

int readrecord(FILE *fpt,struct record *rpt)

{

char buf;

int i;

if(fscanf(fpt,"%s",buf)!=1)

return 0; /* 文件结束 */

strncpy(rpt->name,buf,NAMELEN);

fscanf(fpt,"%s",buf);

strncpy(rpt->code,buf,CODELEN);

for(i=0;imarks[i]);

for(rpt->total=0,i=0;itotal+=rpt->marks[i];

return 1;

}

/* 对指定文件写入一个记录 */

writerecord(FILE *fpt,struct record *rpt)

{

int i;

fprintf(fpt,"%s\n",rpt->name);

fprintf(fpt,"%s\n",rpt->code);

for(i=0;imarks[i]);

return ;

} /* 显示学生记录 */

displaystu(struct record *rpt)

{

int i;

printf("\nName : %s\n",rpt->name);

printf("Code : %s\n",rpt->code);

printf("Marks :\n");

for(i=0;imarks[i]);

printf("Total : %4d\

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:C语言代码大全

链接地址:https://www.renrendoc.com/p-15259130.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值