c语言程序代码

合集下载

顺序表c语言的程序代码

顺序表c语言的程序代码

//----------------------------线性表的动态分配顺序存储结构-------------------------# include "stdio.h"# include "malloc.h"# include "stdlib.h"# define M 5 //线性表存储空间的初始分配量# define N 2 //线性表存储空间的分配增量typedef struct {int *elem; //存储空间基址int length; //当前长度int listsize; //当前分配的存储容量(以sizeof(int)为单位)}SqList;int InitList(SqList *L) { // 构造一个空的线性表LL->elem=(int *)malloc(M*sizeof(int));if(!L->elem) // 存储分配失败exit(-2);L->length=0; // 空表长度为0L->listsize=M; // 初始存储容量return 1;}int IntPut(SqList *L) { //输入数据int i,e;printf ("请输入你要输入数据的个数:\n");scanf ("%d",&e);if (1>e||5<e) { //判断输入数据的个数是否合格,若不合格请重新输入do{printf ("你输入的数据有误!请重新输入:\n");scanf ("%d",&e);}while(1>e||5<e);}printf ("输入正确!\n请开始输入数据并用空格隔开:\n");for (i=0;i<e;i++) { //开始输入数据scanf ("%d",&L->elem[i]);L->length=L->length+1;}return 1;}int OutPut(SqList *L) { //输出数据int i;for (i=0;i<L->length;i++) {printf ("%d",L->elem[i]);printf ("\n");}return 1;}int Find(SqList *L) { //在顺序线性表L中查找第i个值,若找到,则打印出对应的值int i;printf ("请输入你要查找的数据序号:\n");scanf ("%d",&i);if (1>i||L->length<i) { //判断输入的序号是否合格,若不合格请重新输入do{printf ("你输入的数据有误!请重新输入:\n");scanf ("%d",&i);}while(1>i||L->length<i);}printf ("输入的序号正确!\n你输入的序号所对应的数据是:\n");printf ("%d\n",L->elem[i-1]); //打印出对应的值return 0;}int ListInsert(SqList *L) { // 在顺序线性表L的第i个元素之前插入新的元素e,// i的合法值为1≤i≤ListLength(L)+1 int *y,*q,*p,i,e;printf ("请输入你要插入的数据序号:\n");scanf ("%d",&i);if (1>i||(L->length+1)<i) { // 判断输入的序号是否合格,若不合格请重新输入do{printf ("你输入的数据有误!请重新输入:\n");scanf ("%d",&i);}while(1>i||(L->length+1)<i);}printf ("输入的序号正确!\n请输入你要插入的数据:\n");scanf ("%d",&e);if(L->length>=L->listsize) { // 当前存储空间已满,增加容量y=(int *)realloc(L->elem,(L->listsize+N)*sizeof(int));if(!y) // 存储分配失败exit(-2);L->elem=y; // 新基址L->listsize+=N; // 增加存储容量}q=&(L->elem[i-1]); // q为插入位置for(p=&(L->elem[L->length-1]);p>=q;--p) // 插入位置及之后的元素右移*(p+1)=*p;if(L->length>6){printf ("插入失败,线性表L已满!\n");return 1;}*q=e; // 插入e++L->length; // 表长增1return 1;}int ListDelete(SqList *L,int &e) { // 在顺序线性表L中删除第i个元素,并用e返回其值。

C语言代码大全

C语言代码大全

乘法口诀表#include <stdio.h>#include <conio.h>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 <stdio.h>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 <stdio.h> 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 <stdio.h>#define ROW 3#define COL 4main(){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; i<ROW; i++ ){for( j=0; j<COL; j++ ){scanf("%d",&matrixA[i][j]);}}for( i=0; i<ROW; i++ ){for( j=0; j<COL; j++ ){matrixB[j][i] = matrixA[i][j];}}printf("MatrixB,");printf("%d*%d:\n",COL,ROW);for( i=0; i<COL; i++ ){for( j=0; j<ROW; j++ ){printf("%8d",matrixB[i][j]);}printf("\n");}printf("\n Press Any Key to Quit... \n");getch();}求解二维数组的最大/最小元素#define MAXN 20int a[MAXN][MAXN];main(){int min, /* 存储最小值*/max; /* 存储最大值*/int row,col,n;clrscr();printf("Please input the order of the matrix:\n");/* 输入方阵的阶次*/ scanf("%d",&n);printf("Please input the elements of the matrix,\n from a[0][0] to a[%d][%d]:\n",n-1,n-1);for(row=0;row<n;row++)for(col=0;col<n;col++)scanf("%d",&a[row][col]);for(min=a[0][0],row=0;row<n;row++){/* 从每行选出最大数*/for(max=a[row][0],col=1;col<n;col++)/*从row行选出最大数*/if(max<a[row][col])max=a[row][col];if(min>max)/* 保存至row行的最小数*/min=max;}printf("The minimum of maximum number is %d\n",min);for(max=a[0][0],row=0;row<n;row++)/* 每行选出最小数*/for(min=a[row][0],col=1;col<n;col++)/* 从row行选出最小数*/ if(min>a[row][col])min=a[row][col];if(max<min)/*保存至row行的最大数*/max=min;}printf("The maximum of minimum numbers is %d\n",max);printf("\nPress any key to quit...\n");getch();}利用数组求前n个质数#define N 50main(){int primes[N];int pc,m,k; clrscr();printf("\n The first %d prime numbers are:\n",N);primes[0]=2;/*2是第一个质数*/pc =1;/*已有第一个质数*/m =3;/*被测试的数从3开始*/while(pc<N){/*调整m使它为下一个质数*/k=0;while(primes[k]*primes[k]<=m)if(m%primes[k]==0){/*m是合数*/m+=2;/*让m取下一个奇数*/k=1;/*不必用primes[0]=2去测试m,所以k从一开始*/}elsek++;/*继续用下一个质数去测试*/primes[pc++]=m;m+=2;/*除2外,其余质数均是奇数*/}/*输出primes[0]至primes[pc-1]*/for(k=0;k<pc;k++)printf("%4d",primes[k]);printf("\n\n Press any key to quit...\n ");getch();}编制万年历#include "stdio.h"long int f(int year,int month){/*f(年,月)=年-1,如月<3;否则,f(年,月)=年*/if(month<3) return year-1;else return year;} long int g(int month){/*g(月)=月+13,如月<3;否则,g(月)=月+1*/if(month<3) return month+13;else return month+1;} long int n(int year,int month,int day){/*N=1461*f(年、月)/4+153*g(月)/5+日*/return 1461L*f(year,month)/4+153L*g(month)/5+day;} int w(int year,int month,int day){/*w=(N-621049)%7(0<=w<7)*/return(int)((n(year,month,day)%7-621049L%7+7)%7);} int date[12][6][7];int day_tbl[ ][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};main(){int sw,leap,i,j,k,wd,day;int year;/*年*/char title[]="SUN MON TUE WED THU FRI SAT";clrscr();printf("Please input the year whose calendar you want to know: ");/*输入年*/scanf("%d%*c",&year);/*输入年份值和掠过值后的回车*/sw=w(year,1,1);leap=year%4==0&&year%100||year%400==0;/*判闰年*/for(i=0;i<12;i++)for(j=0;j<6;j++)for(k=0;k<7;k++)date[i][j][k]=0;/*日期表置0*/for(i=0;i<12;i++)/*一年十二个月*/for(wd=0,day=1;day<=day_tbl[leap][i];day++){/*将第i+1月的日期填入日期表*/date[i][wd][sw]=day;sw=++sw%7;/*每星期七天,以0至6计数*/if(sw==0) wd++;/*日期表每七天一行,星期天开始新的一行*/} printf("\n|==================The Calendar of Year %d=====================|\n|",year);for(i=0;i<6;i++){/*先测算第i+1月和第i+7月的最大星期数*/for(wd=0,k=0;k<7;k++)/*日期表的第六行有日期,则wd!=0*/wd+=date[i][5][k]+date[i+6][5][k];wd=wd?6:5;printf("%2d %s %2d %s |\n|",i+1,title,i+7,title);for(j=0;j<wd;j++){printf(" ");/*输出四个空白符*//*左栏为第i+1月,右栏为第i+7月*/for(k=0;k<7;k++)if(date[i][j][k])printf("%4d",date[i][j][k]);else printf(" ");printf(" ");/*输出十个空白符*/for(k=0;k<7;k++)if(date[i+6][j][k])printf("%4d",date[i+6][j][k]);else printf(" ");printf(" |\n|");}/*scanf("%*c");/*键入回车输出下一个月的日历*/}puts("=================================================================|");puts("\n Press any key to quit...");getch();}对数组元素排序rest(int a[], int n){int i,low,high,t; for(i=0,low=0,high=n-1;i<=high;) {if(a[i]>0){/*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;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);rest(s,sizeof(s)/sizeof(s[0]));printf("\n The arry after rest is:\n");for(i=0;i<sizeof(s)/sizeof(s[0]);i++)printf("%4d",s[i]);printf("\n Press any key to quit...\n");getch();}任意进制数的转换/* 函数trans将无符号整数n翻译成d(2<=d<=16)进制表示的字符串s */ #define M sizeof(unsigned int)*8int trans(unsigned n, int d, char s[]){static char digits[] ="0123456789ABCDEF"; /* 十六进制数字的字符*/char buf[M+1];int j, i = M;if(d<2||d>16){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<sizeof(scale)/sizeof(scale[0]);i++){if(trans(num,scale[i],str))printf("%5d = %s(%d)\n",num,str,scale[i]);elseprintf("%5d => (%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<sizeof(num)/sizeof(num[0]);i++)for(j=0;j<sizeof(scale)/sizeof(scale[0]);j++)if(circle(num[i],scale[j]))printf("%d -> (%d) is a Circle Number!\n",num[i],scale[j]);elseprintf("%d -> (%d) is not a Circle Number!\n",num[i],scale[j]);printf("\n Press any key to quit...\n");getch();}求解钢材切割的最佳订单#include <stdio.h>#define N 20#define DELTA 2int 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<n;i++)scanf("%d",&orderlen[i]);bestlen=0; /*最佳解用料的初值*/for(i=0;i<n;i++)sele[i]=bestsele[i]=0; /*置当前选择和最佳选择初值*/try(); /* 调用函数求解*/for(i=0;i<n;i++) /* 输出结果*/if(bestsele[i])printf("order %d length = %d\n",i+1,orderlen[i]);printf("\n Press any key to quit...");getch();}try(){int i,len;for(len=i=0;i<n;i++) /* 求当前选中的用料量*/if(sele[i])len+=orderlen[i]+DELTA;if(len-DELTA<=total) /* 注意最后一段可能不需要切割*/{if(bestlen < len){/* 找到一个更好的解*/bestlen = len;for(i=0;i<n;i++)bestsele[i]=sele[i];}for(i=0;i<n;i++) /* 对所有未选定单逐一作选中尝试循环*/if(!sele[i]){sele[i]=1; /* 做选中尝试*/try();sele[i]=0;}}}指向数组的指针main(){int x,y,z; /* 定义三个int型变量*/int *xp = &x, /* 定义指针变量xp,并赋值为x的地址,使xp指向x */ *yp = &y, /* 定义指针变量yp,并赋值为y的地址,使yp指向y */*zp = &z; /* 定义指针变量zp,并赋值为z的地址,使zp指向z */int t;clrscr();printf("\nPlease input x,y,z:\n");scanf("%d%d%d",xp,yp,zp); /* 通过变量的指针,为变量输入值*/ if(*xp>*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 <stdio.h>#define ROWS 4#define COLS 4int 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]);}}elselow=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<ROWS;power++)for(index=0;index<COLS;index++)while(decimal>=nums[power][index]){strcat(roman,roms[power][index]);decimal-=nums[power][index];}}通讯录的输入输出#include <stdio.h>#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;j<i;j++) writeaddr(p+j);puts("\n Press any key to quit...");getch();} /* 函数readaddr用于输入一个通信录函数*/int readaddr(struct addr *dpt){int len;char buf[120];/*输入字符串的缓冲区*/ printf("\nPlease input theName:\n");/*输入姓名*/if(scanf("%s",buf)==1){len=strlen(buf);dpt->name=(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 <stdio.h>#define N 200#define SCORES 5#define NUMLEN 10struct 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);elsereturn 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;j<SCORES;j++)if(scanf("%d",spt->scores+j)!=1)break;if(j==0)/*一个成绩也未输入*/{free(spt->name);/*释放存贮姓名的空间*/return 0;}for(;j<SCORES;j++)/*少数未输入的成绩用0分代之*/ spt->scores[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;i<SCORES;i++)printf("%4d",spt->scores[i]);printf("\n\n");} main(){int n,i,j,t; clrscr();for(n=0;readastu(students+n);n++);/*采用冒泡法对学生信息数组排序*/for(i=0;i<n;i++){order[i]=i;/*预置第i个输入的学生*/for(t=0,j=0;j<SCORES;j++)/*求第i个学生的总分*/t+=students[i].scores[j];total[i]=t;}/*冒泡排序*/for(i=0;i<n-1;i++)/*共扫视n-1遍*/for(j=0;j<n-1-i;j++)if(total[order[j]]<total[order[j+1]]){/*交换名次*/t=order[j];order[j]=order[j+1];order[j+1]=t;}for(j=0;j<n;j++)/*输出*/writeastu(students+order[j]);printf("\n Press any key to quit...\n");getch();}报数游戏#include <stdio.h>struct 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;i<m;i++)/*掠过m-1个表元*/u=u->link;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();}学生成绩管理程序/*学生成绩管理程序编制一个统计学生考试分数的管理程序。

一些简单的c语言程序代码

一些简单的c语言程序代码

由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。

/* expe 3-10 */#include <stdio.h>#include <math.h>void main(void){int mun,a,b,c,d;scanf("%d",&mun);a=mun / 1000; /*千位*/b=(mun % 1000) / 100; /*百位*/c=(mun % 100) / 10; /*十位*/d=(mun % 10); /*个位*/printf("千位数字为=%d\n",a);printf("百位数字为=%d\n",b);printf("十位数字为=%d\n",c);printf("个位数字为=%d\n",d);}由键盘任意输入3个数据,找出其中的最大数和最小数。

#include<stdio.h>void main(void){float a,b,c,k,g;/* k 小g 大*/printf ("请输入三个数");scanf("%f%f%f",&a,&b,&c);if (a < b){k = a;g = b;}else{k = b;g = a;}if (k < c)/*最小*/{ printf ("\n最小的数=%5.2f",k);}else{printf ("\n最小的数=%5.2f",c);}if (g > c)/*最大*/{printf ("\n最大的数=%5.2f",g);}else{printf ("\n最大的数=%5.2f",c);} }判断三角形的形状#include<stdio.h>#include<math.h>void main(void){printf("请输入三角形三边");float a,b,c,p,s,k1,k2,k3;scanf("%f%f%f",&a,&b,&c);while (a + b < c || b + c < a || a + c < b ){printf("不能构成三角形,请重新输入");scanf("%f%f%f",&a,&b,&c);}k1 = a * a;k2 = b * b;k3 = c * c;if (a == b && b == c && c ==a){printf("此三角形为等边三角形");}else if (a == b || b == c || c ==a){printf("此三角形为等腰三角形"); }else if ((k1 == b * b + c * c) || (k2 == a * a + c *c) || (k3 = a * a + b * b)){printf("此三角形为直角三角形");}else{printf("此三角形为一般三角形");} }九九乘法表整体#include <stdio.h>void main(void){int i,j;11for (i = 1;i < 10; i ++){for(j = 1;j < 10; j ++){printf("%5d",i * j);}printf("\n"); } }右半边#include <stdio.h>void main(void){int i,j;for (i = 1;i < 10; i ++){for(j = 1;j <= i; j ++){ printf("%5d",i * j);}printf("\n"); } }左半边#include <stdio.h>void main(void){int i,j;for (i = 1;i < 10;i ++)/*最外层循环*/ {for (j = 1;j < i; j++)/*打空格*/{ printf(" "); }for (j = 1;j <= 10 - i;j ++)/*计算*/{printf("%5d",j * i); }printf("\n"); } }打印菱形#include<stdio.h>void main(void){int i,j,k;for (i = 1;i <= 5;i ++){for (j = 0;j < 5 - i;j ++){printf(" ! "); }for (k = 1;k <= 2 * i - 1;k ++){printf(" * "); }printf("\n");}for (i = 4;i >= 0;i --){for (j = 4 - i;j > 0;j --){printf(" ! "); }for (k = 2 * i ;k >= 0;k --){ printf(" * ");}printf("\n"); } }找回文#include<stdio.h>#include<string.h>void main(void){char str[80];int i,j,iStrlenstr,iFlag;printf("请输入字符串\n");gets(str);iStrlenstr = strlen(str);for (i = 0 ,j = iStrlenstr - 1;i <= j ;i ++, j --){if (str[i] == str[j]){iFlag = 1; }else{iFlag = 0;break; }}if (iFlag == 1){printf("输入的是回文!\n"); }else{printf("输入的不是回文!\n"); }}找名字指针法/*不用查找函数,用指针的方法*/#include<stdio.h>void main(void)22{char str[10][80],a[80],*p[10],*q = NULL;int i, j,iFlag = 0;// int istrlenstr;printf("请输入名字\n");for ( i = 0 ; i < 10; i ++){gets(str[i]);}printf("请输入想查找的名字\n");gets(a);for (i = 0; i < 10; i ++){p[i] = str[i]; }q = a;for (i = 0; i < 10; i ++ ){iFlag = 0;j = 0;while(*(p[i] + j) && *(q + j)){if (*(p[i]+ j) != *(q + j)){break; }j++;}if (*(p[i] + j)== '\0' && *(q + j) == '\0'){ iFlag = 1;break; }}if (iFlag == 1)printf("FOUND ! 该名字的位置为%d",i);elseprintf("NOT FOUND !"); }/*利用指针给10个数排序*/#include<stdio.h>int main(void){int a[10],*p = NULL ,iTem;int i,j,iPos = 0;printf("请输入10个数\n");for (i = 0; i < 10; i ++){scanf("%d",&a[i]); }p = a;for(i = 0; i < 9; i ++){iPos = i;for (j = i + 1 ; j < 10 ;j ++){if (a[j]< a[iPos])iPos = j;}iTem = *(a + i);*(a + i) = *(a + iPos);*(a + iPos) = iTem;}printf("排序之后的为");for (i = 0; i < 10; i ++){printf("%4d",*(a + i)); }return 0; }/*名字排序,从大到小*/#include<stdio.h>#include<string.h>void main(void){char a[10][10],cTemp[10];int i,j,iMax;printf("输入十个学生姓名:\n");for(i = 0; i < 10; i ++){gets(a[i]);}for(i = 0;i < 10 ;i ++){iMax = i;for(j = i + 1;j < 10;j ++){if(strcmp(a[iMax],a[j]) < 0){iMax = j;}}33if(iMax != i){strcpy(cTemp,a[i]);strcpy(a[i],a[iMax]);strcpy(a[iMax],cTemp);}}printf("按照字典降序排序为:\n");for(i = 0;i < 10;i ++){puts(a[i]);} }/*查找并删除某字符*/#include<stdio.h>int main(){char str[80],*p = NULL,*q;char t;printf("请输入字符串:\n");gets(str);printf("请输入想要删除的字符:\n");t = getchar();p = str;q = str;for (p = str; *p != '\0'; p ++){if (*p != t){*q++ = *p; }}*q = '\0';puts(str);}函数作业(全部)/*交换器,引用全局变量*/方法一int a,b;void main(void){scanf("%d%d",&a,&b);fun();printf("a=%d,b=%d\n",a,b);}void fun(void){int c;c = a;a = b;b = c;}方法二#include<stdio.h>#define swap(x,y) {int tmp=x;x=y;y=tmp;}int main(){int x,y;printf("请输入两个数字\n");scanf("%d%d",&x,&y);swap(x,y);printf("交换之后的数字是\n");printf("%d\t%d\t",x,y);return 0;}/*用函数找最大公约数*/#include<stdio.h>int maxd(int,int);int main(){int a,b,d;printf("请输入两个整数\n");scanf("%d%d",&a,&b);d = maxd(a,b);printf("这两个数的最大公约数为:%d",d);return 0;}int maxd(int a,int b){int m,n,k;if(a<b)44{m = b;n = a;}else{m = a;n = b;}do{k = m%n;m = n;n = k;}while(n != 0);return(m);}/*用函数统计*/#include<stdio.h>int icount(char* );int main(){char str[80];int m = 0;printf("请输入字符串\n");gets(str);m = icount(str);printf("字符串中数字的个数有:%d",m);return 0;}int icount(char *p){int k = 0;while( *p != '/0'){if (*p >= '0' && *p <= '9')k ++;}return k;}/*排序函数*/#include<stdio.h>#include<string.h>void iSort (int[],int);int main(){int a[10];int i;printf("请输入10个整数\n");for (i = 0; i < 10 ; i ++){scanf("%d",&a[i]); }iSort(a,10);printf("从小到大排序为\n");for (i = 0; i < 10; i ++){ printf("%4d",a[i]); } }void iSort(int x[],int n){int i,j,t,iPos;for (i = 0; i < n - 1; i ++){iPos = i;for (j = i + 1; j < n; j ++){if (x[j] < x[iPos])iPos = j ;}if (iPos != i){t = x[i];x[i] = x[iPos];x[iPos] = t; } } }/*用函数找素数*/#include<stdio.h>int iPrime(int);int main(){int i,k = 0;55for (i = 1; i < 201; i += 2){k = iPrime(i);if (k == 1)printf("%d\n",i); } }int iPrime(int x){int a;for (a = 2; a <= x/2; a ++){if (x % a == 0)return 0;}return 1; }/*八进制转十进制*/#include<stdio.h>int iChange(char*);int main(){char s[10];int i,k;printf("请输入一个八进制的数");gets(s);k = iChange(s);printf("对应的十进制的数位=%d",k); }int iChange(char *x){char *p;int n = 0;p = x;for(;*p != '\0'; p ++){n = n * 8 + *p - '0'; } }/*用函数将矩阵转置规定是方阵*/#include<stdio.h>void change(int[][4]);int main(){int a[4][4],b[4][4]={0};int i,j;printf("请输入一个四阶矩阵\n");for (i = 0; i < 4; i ++){for (j = 0; j < 4 ;j ++){ scanf("%d",&a[i][j]); }}change(a);printf("转置过后的矩阵式\n");for (i = 0; i < 4; i ++){for (j = 0; j < 4 ;j ++){printf("%3d",a[i][j]);}printf("\n"); } }void change(int x[][4]){int i,j,t;for (i = 0;i < 4; i ++){for (j = 0; j < i; j ++){t = x[i][j];x[i][j] = x[j][i];x[j][i] = t; } } }/*判断是否是对称矩阵以4*4 的矩阵为例*/#include<stdio.h>int dui(int[][4]);int main(){int a[4][4],i,j,k = 0;printf("请输入一个四阶矩阵\n");for (i = 0; i < 4; i ++){66for (j = 0; j < 4 ;j ++){scanf("%d",&a[i][j]);}}k = dui(a);if (k == 1){printf("该矩阵为对称矩阵"); }else{printf("该矩阵不是对称阵");} }int dui(int x[][4]){int i,j,t = 0;for (i = 0;i < 4; i ++){for (j = 0; j < i; j ++){if (x[i][j] == x[j][i])t = 1;} }return t;}/*用函数求cos与sin*/#include<stdio.h>#include<math.h>float icos(float);float isin(float);int main() {float a,cosx,sinx;printf("请输入x\n");scanf("%f",&a);cosx = icos(a);sinx = isin(a);printf("cos(x)=%7.2f\n",cosx);printf("sin(x)=%7.2f\n",sinx);}float icos(float a){int n = 2;float t,k,fcos;k = 0;t = 1;do{t *= (-1) * a * a / (n *( n - 1));k += t;n += 2;}while (fabs(t) >= 1e-6);fcos = 1 + k;return fcos;}float isin(float a){float fsin;fsin=sqrt(1 - (double)icos(a) * (double)icos(a));return fsin;}/*int n = 3;float t,k,fsin;k = 0;t = 1;do{t *= (-1) * a * a / (n * (n - 1));k += t;n += 2;}while (fabs(t) >= 1e-6);fsin =1 + k;return fsin;*//*用函数分别统计26个字母的个数*/#include<stdio.h>void jishu(char str[]);int iCount1[26] = {0};void main(void){char str[80];77int i;printf("请输入字符串");gets(str);jishu(str);printf("26个大写字母的个数分别是\n");for (i = 0; i < 26; i ++){printf("%d\n",iCount1[i]);}}void jishu(char x[]){int i;for (i = 0; x[i] != '\0'; i ++){if (x[i] >= 'A' && x[i] <= 'Z'){iCount1[x[i] - 'A'] ++; } } }位运算/*地位字节按位取反*/#include<stdio.h>void main(void){unsigned int x;printf("请输入数据:");scanf("%d",&x);x = x ^ 0X00ff;printf("%x\n",x);} /*循环移位通过位或运算来实现循环的功能*/#include<stdio.h>void main(void){int a,n;printf("请输入一个整数:\n");scanf("%d",&a);printf("请输入移动的位数:\n");printf("注意:正数代表右移,负数代表左移");scanf("%d",&n);if(n > 0){a = ((a >> n) | (a << ((8 * sizeof(int)) - n)));//右移}if(n < 0){a = ((a << (- n)) | (a >> ((8 * sizeof(int)) - (-n))));//左移}printf("%u\n",a);}/*利用位异或运算加密*/#include<stdio.h>int main(){int stc,code,dst;dst = 0;//加密后code = 1234;//密码printf("请输入明文:\n");scanf("%d",&stc);dst = stc ^ code;printf("\n加密之后的文件是:%d\n",dst);return 0;}/*偶数为清零*/#include<stdio.h>void main(void){int a;printf("请输入");scanf("%d",&a);a = a & 0x5555;printf("%x\n",a);}/*十六进制转二进制*/#include<stdio.h>void main(void){int a,b[32],c = 1,i;scanf("%x",&a);for(i = 0; i < 32; i ++){88b[i] = (a & c) >> i;c <<= 1;}for(i = 31; i >= 0; i --){ printf("%d",b[i]); } }员工工资#include<stdio.h>#define N 1struct man{long ch;char nam[10];int year;float fareJB;float fareYJ;float fareYF;float fareBX;float fareSD;float fareSF;};void fare(struct man *p) {struct man *q;for(q=p;q<p+N;q++){q->fareYF=p->fareJB+p->fareYJ;q->fareSF=q->fareYF-q->fareBX-q->fareSD;}for(q=p;q<p+N;q++){printf("应发工资\t实发工资\n");printf("%5.2f\t%5.2f\n",q->fareYF,q->fareSF);} }void PRINTF(struct man *p){struct man *q=p;printf("职工工号\t姓名\t年龄\t基本工资\t业绩工资\t应发工资\t保险费\t\t水电费\t实发工资\t\n");for(q=p;q<p+N;q++){printf("%8d%10s\t%d\t%8.2f\t%8.2f\t%8.2f\t%8.2f\t%8.2f\t%8.2f\t",q->ch,q->nam,q->year,q->fareJB,q->fareYJ,q->fareYF,q->fareBX,q->fareSD,q->fareSF);} }void main(void){struct man person[N],*per;printf("输入员工信息");for(per=person;per<person+N;per++){gets(per->nam);scanf("%d%d%f%f%f%f",&per->ch,&per->year,&per->fareJB,&per->fareYJ,&per->fareBX,&per->fareSD);}fare(person);PRINTF(person);}部门销售情况管理程序#include<stdio.h>#define N 1struct bumen{long num;char name[20];float get[4];float ave;}a[N];void chazhao(struct bumen *p){long NUM;int i;printf("输入要查找的部门的代码:");scanf("%ld",&NUM);99printf("\n");for(i=0;i<N;i++){if((p+i)->num==NUM){break;}}printf("部门代码\t部门名称\t春季销售额\t 夏季销售额\t秋季销售额\t冬季销售额\t平均值\n");printf("%ld\t %6s\t\t%8.2lf\t%8.2lf\t%8.2 lf\t%8.2lf\t%8.2lf\t\n",p->num,p->name,p->get[0],p->get[1],p->get[2],p->get[3],p->ave);}void qiuave(struct bumen *p){int i,j;float sum=0;for(i=0;i<N;i++){for(j=0;j<4;j++){sum=sum+p[i].get[j];}p[i].ave=sum/4;} } void order(struct bumen *p){struct bumen *min,P;int i,j,k;for(i=0;i<N-1;i++){min=&p[i];for(j=i+1;j<N;j++){if(p[j].ave<min->ave)min=&p[j];}P=p[i];p[i]=*min;*min=P;}printf("部门代码\t部门名称\t春季销售额\t夏季销售额\t秋季销售额\t冬季销售额\t平均值\n");for(k=0;k<N;k++){printf("%ld\t %6s\t\t%8.2lf\t%8.2lf\t%8.2lf\t%8.2lf\t%8.2lf\t\n",p[k].num,p[k].name,p[k].get[0],p[k].get[1],p[k].get[2],p[k].get[3],p[k].ave);}}void main(void){int i,j,n,x;float t;printf("输入部门数据");for(i=0;i<N;i++){scanf("%ld",&a[i].num);scanf("%s",&a[i].name);for(j=0;j<4;j++){scanf("%f",&t);a[i].get[j]=t;}}printf("1.输入部门代码或部门名称,查找此部门的销售情况\n2.计算各部门的平均销售额。

C语言简单程序代码

C语言简单程序代码

C语言简单程序代码C语言程序 5-3#include<stdio.h> void main(){char ch;int b,s=0;while((ch=getchar())!='\n'){if(ch<='9'&&ch>='0'){ b=ch-'0';s=s+b;}}printf("%d",s);getchar();}5-4:#include<stdio.h> void main(){int a,b,i,s=0,n;scanf("%d,%d",&a,&b);n=a>b?b:a;for(i=1;i<=n;i++){if(a%i==0&&b%i==0)s=i;}printf("%d",s);getchar();}5-5:#include<stdio.h> void main() { char ch;while((ch=getchar())!='\n') { if(ch<='Z'&&ch>='A')ch=ch+32;printf("%c",ch);}}5-6:#include<stdio.h> void main() {int i,n;float a=1,b=2,s=0,t;scanf("%d",&n);for(i=1;i<=n;i++){s=s+b/a;b=a+b;a=b-a;}printf("%.4f",s); }5-7:#include<stdio.h> void main() {int a[10];int i,t,s;for(i=0;i<=9;i++)scanf("%d",&a[i]);s=a[0];for(i=1;i<=9;i++){if(a[i]>s)s=s;else s=a[i];}printf("%d",s); }1031:(统计单词)#include<stdio.h> void main() {int n=0,a=0;char ch;while((ch=getchar())!='\n'){if(ch==' ')a=0;else if(a==0){ n=n+1;a=1;}}printf("%d",n);}1042:(富翁问题)#include<stdio.h> void main() {int m,i,a=0,b=0;float s;s=0.1;scanf("%d",&m);for(i=1;i<=38;i++){a=a+m*i;s=2*s;b=b+s;if(a<b)break;}printf("%d",i+1); }1028:(素数)#include<stdio.h> void main(){int i,j,t,n=0;for(i=2;i<=200;i++){for(j=2;j<i;j++){ if(i%j==0) break;}if(j==i){ printf("%d",i);n=n+1;if(n%1==0)printf("\n");/*printf要受外面的if控制,否则n为30时隔了很多个数才有素数,搞到要连续换行*/}}}1035:(菱形)#include<stdio.h> void main(){int i,j,n,a;scanf("%d",&n);n=2*n+1;for(i=1;i<=n;i++){a=(n+1)/2;for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++)printf("*");printf("\n");}}1038:打印图案(只限数字1~9) #include<stdio.h> void main() {int i,j,n,a,b,e,f,g;char ch,d;ch='1';scanf("%d",&n);n=2*n-1;a=(n+1)/2;for(i=1;i<=n;i++){for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++){if(i<=a){ if((b=ch-'0')<=i){ printf("%c",ch);ch=ch+1;d=ch;}else{d=d-2;printf("%c",d); d=d+1;}}else{e=n-i+1;if((f=ch-'0')<=e) {printf("%c",ch); ch=ch+1;g=ch;}else{g=g-2;printf("%c",g); g=g+1;}}}ch='1';printf("\n");}}改进版:(适合所有数)#include<stdio.h> void main(){int i,j,n,a,b,e,f,g;int ch,d;ch=1;scanf("%d",&n);n=2*n-1;a=(n+1)/2;for(i=1;i<=n;i++){for(j=1;j<=(i<a?a-i:i-a);j++)printf(" ");for(j=1;j<=(i<=a?2*i-1:2*(n-i)+1);j++) {if(i<=a){ if((b=ch-0)<=i){ printf("%d",ch);ch=ch+1;d=ch;}else{d=d-2;printf("%d",d);d=d+1;}}else{e=n-i+1;if((f=ch-0)<=e){printf("%d",ch);ch=ch+1;g=ch;}else{g=g-2;printf("%d",g);g=g+1;}}}ch=1;printf("\n");}}1039#include<stdio.h> void main() {int a[10],i;for(i=0;i<=9;i++)scanf("%d ",&a[i]);for(i=9;i>=0;i--)printf(" %d",a[i]); }1040:(自制的)#include<stdio.h> void main(){int a[21],b=20,j,i,c=0;for(i=1;i<=20;i++)scanf("%d",&a[i]);for(i=1;i<=20;i++){for(j=i+1;j<=20;j++){if(a[i]==a[j]){ c=c++;break;}}}b=b-c;printf("%d",b); }#include<stdio.h> (别人的)void main(){int a[20],i,j,n=0; for(i=0;i<20;i++) scanf("%d",&a[i]); for(i=0;i<20;i++) {for(j=0;j<i;j++)if(a[i]==a[j]&&i!=j) {n++;break;}}printf("%d\n",20-n);}1062:#include<stdio.h> void main(){int a[3][4];int i,j,c,n=0;for(i=0;i<=2;i++) {for(j=0;j<=3;j++){scanf("%d",&a[i][j]);}}for(j=0;j<=3;j++) { for(i=0;i<=2;i++) {c=a[i][j];printf("%d ",c);n++;if(n%3==0)printf("\n");}}}冒泡排序:#include<stdio.h> void main(){int a[10];int i,j,t;for(i=0;i<=9;i++)scanf("%d",&a[i]);for(j=0;j<=8;j++){for(i=0;i<=(9-j);i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}for(i=0;i<=9;i++)printf("%d ",a[i]); }高精度计算:#include<stdio.h> void main(){char ch;int a[100],b[100],i=1,c[100],d[100],e=1,h,j,k; while((ch=getchar())!='\n'){a[i]=ch-'0';i++;}while((ch=getchar())!='\n') {b[e]=ch-'0';e++;}i--;e--;h=(i>e?i:e);d[h]=0;k=h;for(;h!=0;h--){ c[h]=(a[i]+b[e]+d[h])%10; d[h-1]=(a[i]+b[e])/10;i--;e--;if(e==0){b[1]=0;e++;}if(i==0){a[1]=0;i++;}}for(j=1;j!=(k+1);j++)printf("%d",c[j]); } 1121:#include<stdio.h>#include<string.h>void main(){char s[20];strcpy(s,"abcdefghijklmn");printf("%s",s);}1123:#include<stdio.h>#include<string.h>void main(){char s[50];printf("what's your name?");gets(s);printf("your name is ");printf("%s",s);}1122:#include<stdio.h> #include<string.h> void main() {char s1[100],s2[100],s3[100];gets(s1);gets(s2);gets(s3);strcat(s1,s2);printf("%s",s1);printf("%s",s3); }1050:#include<stdio.h> #include<string.h> void main() {char s1[100],s2[100];int i,j,a,b,p,c,d,n;gets(s1);gets(s2);a=strlen(s1);b=strlen(s2);p=1;i=0;j=0;while(p==1){if(s1[i]==s2[j]){ n=i;c=i;d=j;for(;d<=(b-1);d++){if(s1[c]==s2[d])c++;else break;}if(b==d)p=0;}i++;}printf("%d ",n+1); }1059:#include<stdio.h> int max(int m,int n) { int r;while((r=m%n)!=0){m=n;n=r;}return n;}void main(){int a,b,n;scanf("%d%d",&a,&b);printf("%d\n",max(a,b));}1083:#include<stdio.h> int fac(int n) {int s=1;while(n!=1){s=s*n;n--;}return s;}void main(){int n;scanf("%d",&n);printf("%d",fac(n));}1124:#include<stdio.h> int fl(int x){static int z=3,y=0;y++;z++;return(x+y+z); }void main(){int a=1,k;for(k=0;k<3;k++)printf("%4d",fl(a)); }。

C语言基础训练代码(10条)

C语言基础训练代码(10条)

C语言基础训练代码(10条)1. 输入两个整数,输出它们的和。

#include <stdio.h>int main() {int a, b, sum;scanf("%d%d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}2. 计算一个整数的阶乘。

#include <stdio.h>int main() {int n, i;long long fact = 1;scanf("%d", &n);for (i = 1; i <= n; ++i) {fact *= i;}printf("%d! = %lld\n", n, fact);return 0;}3. 输入三角形三边的长度,判断是否为直角三角形。

#include <stdio.h>int main() {double a, b, c;scanf("%lf%lf%lf", &a, &b, &c);if ((a*a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a))printf("是直角三角形\n");elseprintf("不是直角三角形\n");return 0;}4. 输入一个字符,判断它是否为大写字母。

#include <stdio.h>int main() {char ch;scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z')printf("%c是大写字母\n", ch);elseprintf("%c不是大写字母\n", ch);return 0;}5. 输入一个整数,判断它是否为素数。

c语言简短代码

c语言简短代码

c语言简短代码C语言是一种广泛应用于计算机编程领域的高级程序设计语言。

它具有简洁、高效、灵活等特点,被广泛应用于操作系统、嵌入式系统、游戏开发等领域。

下面将通过一段C语言简短代码来介绍C语言的基本语法和一些常用功能。

```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```以上代码是C语言中最简单的程序,被称为“Hello, World!”程序。

它的输出结果是在终端上显示一行字符:"Hello, World!"。

下面将逐步解析这段代码,让大家对C语言有一个初步的了解。

代码的第一行是一个预处理命令,`#include <stdio.h>`,该命令的作用是引入标准输入输出库的头文件,以便后续的`printf`函数能够正常使用。

头文件是C语言中用来包含函数原型和宏定义的文件,通过引入头文件,我们可以使用里面定义的函数和宏。

接下来,代码中的`int main()`是C语言程序的入口函数。

所有的C 程序都必须包含一个`main`函数,它是程序的起始点。

`int`表示`main`函数的返回值类型是整型,而`main`函数后面的`()`表示该函数没有参数。

`printf`是C语言中的一个输出函数,它的作用是将指定的字符串输出到终端。

在这个例子中,我们将字符串"Hello, World!\n"作为参数传给`printf`函数,`\n`表示换行符。

通过调用`printf`函数,我们可以在终端上输出我们想要的内容。

代码中的`return 0;`语句表示程序正常结束。

在C语言中,`return`语句用于结束函数的执行,并返回一个值。

在`main`函数中,`return 0;`表示程序执行成功,返回值为0。

通过以上的代码解析,我们可以看到C语言的基本语法结构。

C语言程序设计及程序代码

C语言程序设计及程序代码

C语言程序设计及程序代码C语言是一种广泛应用于程序设计的高级编程语言,它可以用于开发各种类型的应用程序,包括操作系统、嵌入式系统、游戏等。

C语言有着简洁、高效的特点,使得它成为了很多程序员的首选编程语言之一在C语言中,程序的核心是函数。

一个C程序由一个或多个函数组成,每个函数都是一组语句的集合。

函数可以接受参数并返回一个值。

C语言提供了丰富的库函数,可以方便地进行输入输出、数学运算、字符串操作等。

下面是一个简单的C语言程序示例,通过输入两个数并计算它们的和:```c#include <stdio.h>int maiint num1, num2, sum;printf("请输入第一个数:");scanf("%d", &num1);printf("请输入第二个数:");scanf("%d", &num2);sum = num1 + num2;printf("两个数的和为:%d\n", sum);return 0;```在上述程序中,首先我们在程序开始处包含了`<stdio.h>`头文件,它是C语言标准库中的一个输入输出函数库。

然后,我们定义了一个`main(`函数作为程序的入口。

在函数内部,我们声明了三个整型变量`num1`、`num2`和`sum`,用于存储用户输入的数以及计算结果。

接下来,在使用`printf(`函数输出提示信息后,我们使用`scanf(`函数接受用户输入的两个数并将其赋值给`num1`和`num2`变量。

然后,我们使用`sum = num1 + num2`语句计算两个数的和。

最后,我们使用`printf(`函数输出计算结果,并通过`return 0`语句结束程序。

通过这个简单的例子,我们可以看出C语言的基本语法结构是很简洁和易于理解的。

除了基本的输入输出操作,C语言还提供了丰富的语法和数据类型,可以进行循环、条件判断、数组、指针等操作,使得程序设计更加灵活和高效。

简单的c语言程序代码

简单的c语言程序代码

简单的c语言程序代码C语言是一种简单而强大的编程语言,广泛用于计算机科学和软件开发领域。

它的语法简洁明了,易于理解和学习。

在本文中,我们将介绍一些简单的C语言程序代码示例,以帮助初学者入门。

1. Hello, World!"Hello, World!"是编程中最简单的程序,它可以让我们在屏幕上输出一条简单的问候语。

以下是使用C语言编写的Hello World程序的示例代码:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```在这个示例中,我们使用了`stdio.h`头文件,其中包含了输入输出函数的定义。

`printf`函数用于将文本输出到屏幕上。

`int main()`是程序的主函数,程序从这里开始执行。

`return 0;`语句表示程序执行成功。

2. 计算两个数的和这个示例程序可以计算两个数的和,并将结果打印到屏幕上。

以下是示例代码:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d%d", &num1, &num2);sum = num1 + num2;printf("两个数的和是:%d", sum);return 0;}```在这个程序中,我们首先声明了三个整型变量`num1`、`num2`和`sum`。

`printf`函数用于显示提示信息,要求用户输入两个整数。

然后,使用`scanf`函数将用户输入的值存储在`num1`和`num2`中。

接下来,我们计算两个数的和,将结果存储在`sum`中,并使用`printf`函数将结果显示在屏幕上。

3. 判断一个数是否为正数下面是一个简单的程序示例,可以判断用户输入的数是否为正数。

初学C语言常用简单程序代码

初学C语言常用简单程序代码

初学C培言常用简单程序代码素数的筛选include <stdio.h>include <math.h>#define N 1000int main(int argc, char* argv[]){int i,j,num[N);for(i=0;i<N;i++) num[i]=i+1;for(i=1;i<(int)sqrt((double)N);i++) {if(num[i]){for(j=i+1 ;j<N;j++){if(num[j])if(num[j]%num[i]==0) num[j]=0;}}}for(i=1;i<N;i++)if(num[i])printf(" %d",num[i]);return 0;输出时分杪include <stdio.h>main()int x,s,t,d;scanf("%d",&x);s=x%60;t=(x/60)%60;d=(x/60)/60;printf(u%d Bt%d 分%(1 杪;d,t,s);)三个数的交换include <stdio.h>void main(){int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("The original number:a=%d,b=%d,c=%d\n",a,b,c);t=a,a=b,b=t;t=a,a=c,c=t;printf("afterswap:a=%d,b=%d,c=%d",a,b,c);1switch语句的运用include <stdio.h> main(){int a,m;printf("please input a number:"); scanf("%d",&a);switch(a/1O)case 10:case 9: m=5; break;case 8: m=4; break;case 7:m=3; break;case 6:m=2; break;default:m=1;Iprintf("m=%d",m);1圳断奇数和偶数include <stdio.h>main(){int x;printf("Please input a number:"); scanf("%d",&x);if(x%2==0)printff'this is a oushu!");elseprintf("this is a jishu!");)小写改大写,若是大写则不变include <stdio.h>main(){char c1,c2;printf("lnput a letter\n H);scanf("%c",&c1);c2=Ca<=c1 &&c1 <=,z,)?(c1 -,a,+,A,):c1; printf(,,%c,,,c2); getchar();return 0;输入一个数,输出这f数是几位数include <stdio.h>main()int x,n;prin廿("please input a number:"); scanf("%d",&x);n=O;while(x!=O){x=x/10;n++;!printf("%d",n);)输入一个数,圳Bi它是几位数,然后逆序输出#include<stdio.h>int main(){int num;int len = 0;int temp =0;printf("Please input a nu mberki");scanfC%d:&num);while((num % 10)!=0){temp = temp*10+(num%10);len++;num num/10;printfflength = %d\n",len);printfC'Reverse is %d", temp); }扌J印水仙花数include <stdio.h>main(){int x, a,b,c;for(x=100;x<=999;x++){a=x%10;b=(x/10)%10;c=x/1OO;if(x==a*a*a+b*b*b+c*c*c){printf("%5d;x);I}printf(,,\n u);判IO年include "stdio.h"main(){int k,flag,n=0;f _ag H (k %4s o )20Q (k %o o lr o )=(k %400s sif(f_ag)(p ﹁intf(=%5d=mn ++if(n%10£0)p 5-i f (M )pB-m n )沁r 3+5—7 —99+1S 3A#inc-udeAsidio.hviniSU 3Hsumur gf o﹁Tr-3=A匕2I:+2)( llA sum=sum+i*rp5-tf(=sum"%d・﹁sumr沁驾nIO#inc-udeAsidio.hv mam() foaiSHint n,i,fz,fm;s=0;fz=2;fm=1;printf("Enter n:H);scanf("%d",&n);for(i=1;i<=n;i++){t=(1.0*fz)/fm;s=s+t;fz=fz+fm;fm=fz-fm;}printf("s=%f\n M,s);1开发一个程序求全册学生某门课的平均成绩,要求程序每次运行时册级人数可为任意厂用标记值来指示数据輸入的结東*/include <stdio.h>main(){float average,total;int counter,score;total=0.0;counter=0;printfC输入成绩,-1表示结東门;scanf("%d",&score);while(score!=-1) 广用-1表示输人的结東,同时循环输入分数*/total=total+score;counter++;printfC'lffl人下一个成绩表示輸入结東:”);scanf("%d",&score);}if(counter!=0){average=total/counter;printf("全册平均成绩为:%.2f\n”,average);}elseprintf(u没有输人成绩\n");return 0;1求二元一次方程的根include <stdio.h>include <math.h>main(){float a=4,b=-40,c=91;float x1,x2;float delta;delta=sqrt(b*b-4.0*a*c);x1=(-b+delta)/(2.0*a);x2=(-b-delta)/(2.0*a);printfCx1=%f x2=%f\n H,x1,x2);if培句的运用include <stdio.h> main()int a,b,c,s,w,t;s=w=t=O;a=-1;b=c=3*if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}elseif(c>0)w=a-b;elset=c;printf("s=%d, w=%d,t=%d",s,w,t); )输入学生的生日,输出他的实足年龄include <stdio.h>main()int y0,m0,d0,y1,m1,d1,age; printf("\nplease input birthday (yyyy/mm/dd):H); scanf(M%d/%d/%d M,&yO,&mO,&dO);printf("\nplease input current day(yyyy/mm/dd):"); scanf(u%d/%d/%d ",&y1,&ml,&d1);if((m1>mO) || (m1=mO && d1>=dO)) age=y1-yO;elseage=y1-yO-1;printf("age=%d \n",age);)指针变量作为函数参数,实现两数的交换include <stdio.h>void sswap(int *x,int *y);main(){int a=10,b=20;printf("before swap:a=%d,b=% d\n",a,b); sswap(&a,&b);printf("after swap:a=%d,b=%d\n,,,a,b);)void sswap(int *x,int *y){int t;t=*x;*x=*y;*y=t;1通过函数调用输出两个实型数中最大的一个include <stdio.h>float *f(float *px,float *py)if(*px>*py)return px;return py;)main(){float x=10.0,y=20.0,*a=&x,*b=&y;printf("*a=%f,*b=%f,max=%f\n",*a,*b,*f(a,b));}廿算并输出一f数组中所有元素的和,最大值,最小值,值为奇数的元素个数编写一个函数,将一个字符串中的字符全部转成大写include <stdio.h>void Lower2Upper(char *str){char *p=str;while(*p!=0){if(*p<=,z,&&*p>=,a,)*p=*p-32;P++;}1main()chars[10]£Hello!";int i;Lower2Upper(s); for(i=0;i<10;i++)printf("%c",s[i]);廿算一个字符在一个字符串中出现的次数include <stdio.h>int count(char ch,char *str){char *p=str;int num=O;while(*p!=,\O,)if(*p++==ch)num++;return num;)main(){char ah='a';char s[]="haowareayou"; printf("the number is:");printf(,,%d\n",count(,a',s));删除一维数组中所有相同的数#include <stdio.h>void unique(int *a,int *n){int k=1;int i,m;m=a[0];for(i=0;i<*n;i++){if(a[i]>m){a[k++]=a[i]; m=a[i];1I*n=k;1main(){inta[1O];int n=1O,i;printfC'input a list number:"); for(i=0;i<n;i++) scanf("%d",&a[i]);printf("Before delete:..An");for(i=0;i<n;i++)unique(a,&n); printf("after delete...An"); for(i=0;i<n;i++) printfC%d:a[i]); printfCXn");将字符串按字典噸序输出include <stdio.h> include <string.h> #define N 5 void sort(char *name[],int n);void prn(char *name[],int n);void main(){char *name[]={,,China,,J,'America","Australia","France",■'German"};sort(name,N);prn(name,N);void sort(char *name[],int n){char *pt;int i,j,k;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(strcmp(name[k],name[j])>0) k=j;if(k!=i){pt=name[i]; name[i]=name[k]; name[k]=pt;}void prn(char *name[],int n)int i;for(i=0;i<n;i++)printf("%s\n",name[i]);)I有n个学生,毎个学生考ml'l课程,要求编一程序,能检査n个学生有无不及格的课程,如果有某一学生有一门或一门以上课程不汝格,就输出该学生的号码和其全部成绩include <stdio.h>#define N 5#define M 4,int col);void prt(float *s,int no,int len);main(){floata[N][M]二{{78,99,89,87},{67,59,87,77},{86,53,59,95},{77,88,57,95},{78,75,87,95}};score(a,N,M);1void score(float (*p)[M],int row,int col){int i,j;int passed;for(i=0;i<row;i++){passed=1;for(j=0;j<col;j++)if(p[i][j]<60.0)passed=0;if(!passed)void prt(float *s,int no,int len) {float *p; printf("NO.%d",no); for(p=s;p<s+len-1;p++)printfC%5.1f,*p);printf(,,\n,,);。

c语言代码

c语言代码
1003
#include<stdio.h>
int main()
{
int m,n,a,b,t;
while(scanf("%d %d",&n,&m),m!=0,n!=0)
{
a=(4*n-m)/2;
b=(m-2*n)/2;
t=2*a+4*b;
if(t!=m||a<0||b<0)
{
for(j=1;j<=i;j++)
printf(" ");
for(l=h-2*i;l>0;l--)
printf("*");
printf("\n");
}
}
return 0;
}
1070 least common multiple
x=2*(x+1);
printf("%d\n",x);
}
return 0;
}
1063 养兔子
#include<stdio.h>
int main()
{
__int64 a[100];
int m,n,i,j,k;
while(scanf("%d",&n),n!=0)
}
}
printf("\n");
}
return 0;
}
1062
#include<stdio.h>
int main()
{
int n,i,j,x;

c语言程序代码

c语言程序代码

c语言程序代码一、简介C语言是一种通用且高效的编程语言,广泛用于开发软件、系统和嵌入式设备。

本文将介绍C语言程序代码的基本结构、语法规则以及常见的编程技巧和注意事项。

二、基本结构C语言程序代码由多个语句组成,每个语句由一个或多个表达式构成。

每个表达式以分号结尾,表示语句的结束。

以下是一个简单的C 语言程序示例:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```以上代码包括以下几个部分:1. 头文件:`#include <stdio.h>` 表示引入标准输入输出库,以便使用`printf`函数。

2. 主函数:`int main()` 是程序的入口,其中的代码将从这里开始执行。

3. 输出语句:`printf("Hello, World!");` 使用`printf`函数打印输出"Hello, World!"。

4. 返回语句:`return 0;` 表示程序正常结束,并返回一个整数值。

三、语法规则1. 注释:使用`//`表示单行注释,使用`/* */`表示多行注释。

注释可以提高代码的可读性,但不参与实际执行。

2. 标识符:用于命名变量、函数、常量等。

标识符由字母、数字和下划线组成,且不能以数字开头。

3. 变量:在使用变量前需要声明,声明格式为:`类型变量名;`。

例如:`int num;`。

4. 常量:不可修改的固定值,常量可以是整数、小数、字符或字符串。

例如:`const int MAX_NUM = 100;`。

5. 运算符:C语言中常见的运算符有算术运算符、赋值运算符、关系运算符、逻辑运算符等。

6. 条件语句:使用`if`、`else if`和`else`关键字来实现条件判断。

例如:```cif (num > 0) {printf("Number is positive.");} else if (num < 0) {printf("Number is negative.");} else {printf("Number is zero.");}```7. 循环语句:使用`for`、`while`和`do while`关键字来实现循环操作。

c语言简单程序代码

c语言简单程序代码

c语言简单程序代码c语言简单程序代码C语言是一种非常流行的编程语言,许多计算机科学的专业学生都会接触这门语言。

本文将通过几个简单的C语言程序演示,介绍C语言的基本语法和基本概念,帮助初学者尽快掌握这门语言。

1. Hello World程序Hello World程序是任何一门新语言中最基本的程序,可以通过这个程序来验证编译器和开发环境的正确性。

下面是C语言中的Hello World 程序:```c#include <stdio.h>int main(){printf("Hello World!\n");return 0;}```这个程序用到了C语言中的一些基本概念,比如头文件#include<stdio.h>和主函数int main()。

程序的执行结果是输出字符串"HelloWorld!"到屏幕上。

2. 求两个数之和下面是一个简单的程序,用来求两个数的和:```c#include <stdio.h>int main(){int a, b, c;printf("请输入两个数字,用空格隔开:");scanf("%d %d",&a, &b);c = a + b;printf("两数之和为:%d",c);return 0;}```这个程序中用到了输入输出函数printf和scanf,以及整型变量的定义和赋值运算。

程序的执行过程是从屏幕上输出提示信息,接着等待用户输入两个数字,然后将这两个数字相加并输出结果。

3. 判断闰年闰年是指能够被4整除但不能被100整除,或者能够被400整除的年份。

下面是一个简单的程序,用来判断一个给定的年份是否为闰年:```c#include <stdio.h>int main(){int year;printf("请输入一个年份:");scanf("%d",&year);if(year%4 == 0){if( year%100 == 0){if ( year%400 == 0)printf("%d 是闰年", year);elseprintf("%d 不是闰年", year);}elseprintf("%d 是闰年", year);}elseprintf("%d 不是闰年", year);return 0;}```这个程序中用到了条件语句if-else和逻辑运算符。

几个简单有趣的c语言代码

几个简单有趣的c语言代码

几个简单有趣的c语言代码C语言是一门广泛使用的计算机编程语言,具有高效、易用等优点。

下面介绍几个简单有趣的C语言代码:1. 输出“Hello World!”```c#include <stdio.h> // 头文件int main() { // 主函数printf("Hello World!\n"); // 输出语句return 0; // 返回值}```这是一个常见的C语言入门代码,它将输出“Hello World!”这个字符串。

其中,`#include <stdio.h>`表示引入标准输入输出库,`printf`是一个函数,可以把字符串输出到控制台,`\n`表示换行,`return 0;`表示程序正常退出。

2. 计算圆的面积```c#include <stdio.h>int main() {float pi = 3.14, r, area;printf("请输入圆的半径:");scanf("%f", &r); // 输入半径area = pi * r * r; // 计算面积printf("圆的面积为:%.2f\n", area); // 输出面积return 0;}```这个程序可以计算出输入的圆的半径对应的圆的面积。

其中,`float`表示浮点数类型,`pi`为常量,`scanf`函数用于从键盘上读入数据,`&r`表示将输入的半径存储到变量`r`中,`%.2f`表示输出浮点数,保留2位小数。

3. 判断一个数是否是素数```c#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个整数:");scanf("%d", &num); // 输入待判断的数for (i = 2; i <= num / 2; ++i) {if (num % i == 0) { // 判断是否能被整除flag = 1;break;}}if (num == 1) {printf("1不是素数也不是合数\n"); // 特判1}else {if (flag == 0)printf("%d是素数\n", num);elseprintf("%d不是素数\n", num);}return 0;}```这个程序可以判断输入的数是否是素数。

C语言学习入门基础代码

C语言学习入门基础代码

C语言学习入门基础代码C语言是一种广泛应用于计算机科学和编程领域的高级程序设计语言。

对于初学者来说,掌握基础代码是非常重要的。

本文将介绍C语言学习的入门基础代码,以帮助读者快速上手。

一、Hello World程序任何编程语言的学习都离不开编写一个简单的Hello World程序。

在C语言中,我们可以使用以下代码来输出Hello World:```c#include <stdio.h>int main() {printf("Hello World\n");return 0;}```上面的代码中,`#include <stdio.h>`是一个预处理指令,它告诉编译器在编译过程中引入了`stdio.h`头文件。

`int main()`是程序的入口函数,一个C程序必须包含这个函数。

花括号`{}`表示函数体的开始和结束。

`printf("Hello World\n");`是输出函数,`printf`是C语言中用于打印输出的函数,括号中的内容是要输出的信息。

`return 0;`表示函数的返回值为0,表示程序正常结束。

二、变量和数据类型在编程中,我们常常需要定义变量来保存数据。

C语言中有各种不同的数据类型,包括整数型、字符型、浮点型等。

下面是几种常用的数据类型及其定义方式:1. 整数类型```cint num; // 定义一个整数变量num```2. 字符类型```cchar ch; // 定义一个字符变量ch```3. 浮点类型```cfloat pi; // 定义一个浮点数变量pi```三、基本运算符在C语言中,我们可以使用基本运算符进行各种数学运算。

以下是一些常见的基本运算符及其使用方法:1. 算术运算符```cint a = 10;int b = 5;int sum = a + b; // 加法运算int difference = a - b; // 减法运算int product = a * b; // 乘法运算int quotient = a / b; // 除法运算int remainder = a % b; // 取余运算```2. 赋值运算符```cint a = 10;int b;b = a; // 将a的值赋给b```3. 比较运算符```cint a = 10;int b = 5;int isGreater = a > b; // 判断a是否大于bint isLess = a < b; // 判断a是否小于bint isEqual = a == b; // 判断a是否等于b```以上只是一部分常用的基本运算符,掌握这些运算符可以帮助我们实现各种计算和逻辑操作。

简单好玩的编程代码c语言

简单好玩的编程代码c语言

简单好玩的编程代码c语言在这里,我们将向您展示几个简单好玩的C语言编程代码。

这些代码可以用于学习C 语言基础,同时也可以让您享受编程的乐趣。

以下是其中的一些代码:1. 输出“Hello, World!”这是一个简单的程序,可以输出“Hello, World!”。

这是学习C语言的第一个程序,可以帮助您了解如何使用printf函数。

```#include <stdio.h>2. 计算一个数的平方该程序可以计算一个数的平方。

它可以帮助您了解如何使用变量、乘法运算符和赋值运算符。

printf("The square of %d is %d.", num, square);return 0;}```4. 求一个十进制数的二进制表示该程序可以求一个十进制数的二进制表示,并输出结果。

它可以帮助您了解如何使用位运算符和循环。

while (decimal > 0) {binary += (decimal % 2) * base;decimal /= 2;base *= 10;}return 0;}```5. 猜数游戏这个程序可以让用户猜一个随机数字,直到猜对为止。

它可以帮助您了解如何使用随机数和循环。

```#include <stdio.h>#include <stdlib.h>#include <time.h>srand(time(NULL));number = rand() % 100 + 1;if (guess > number) {printf("Too high!\n");} else if (guess < number) {printf("Too low!\n");}} while (guess != number);这些简单好玩的C语言编程代码可以让您享受编程的乐趣,并提高C语言编程的技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

创作编号:GB8878185555334563BT9125XW创作者:凤呜大王*1.要求在屏幕上输出下一行信息。

This is a c program.程序:#include<stdio.h>int main(){printf(“this is a c program.\n”);return 0;}2.求两个整数之和。

程序:#include<stdio.h>int main(){int a,b,sum;a=122;b=234;sum=a+b;printf(“sum is %d\n”,sum);return 0;}3.求两个整数之间的较大者。

程序:#include<stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if(x>y)z=x;else z=y;return(z);}4.有人用温度计测量出华氏发表示的温度(如69°F),今要求把她转换成以摄氏法表示的温度(如20℃)。

公式:c=5(f-32)/9.其中f代表华氏温度,c代表摄氏温度。

程序:#include<stdio.h>int main(){float f,c;f=64.0;c=(5.0/9)*(f-32);printf("f=%f\nc=%f\n",f,c);return 0;}5.计算存款利息。

有1000元,想存一年。

有一下三种方法可选:(1)活期:年利率为r1;(2)一年定期:年利率为r2;(3)存两次半年定期:年利率为r3。

分别计算一年后按三种方法所得到的本息和。

程序:#include<stdio.h>创作编号:GB8878185555334563BT9125XW创作者:凤呜大王*int main(){floatp0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;p1=p0*(1+r1);p2=p0*(1+r2);p3=p0*(1+r3/2)*(1+r3/2);printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3);return 0;}6.给定一个大写字母,要求以小写字母输出。

程序:#include<stdio.h>int main(){char c1,c2;c1=’A’;c2=c1+32;printf(“%c\n”,c2);printf(“%d\n”,c2);return 0;}7.给出三角形的三边长,求三角形的面积。

公式:若给定三角形的三边长,且任意两边之长大于第三边。

则:area=其中s=(a+b+C)/2.程序:#include<stdio.h>#include<math.h>int main(){double a,b,c,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\tc=%f\n”,a,b,c);printf(“area=%f\n”,area);return 0;}8.求ax2+bx+c=0方程的根。

a,b,c由键盘输入,设b2-4ac>0.程序:#include<stdio.h>#include<math.h>int main(){double a,b,c,disc,x1,x2,p,q;scanf(“%lf%lf%lf”,&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf(“This question has no real roots\n”);else{p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf(“x1=%7.2f\nx2=%7.2f\n”,x1,x2);}return 0;}9.先后输出BOY三个字符。

程序:#include<stdio.h>int main(){创作编号:GB8878185555334563BT9125XW创作者:凤呜大王*char a=’B’,b=’O’,c=’Y’;putchar(a);putchar(b);putchar(c);putchar(‘\n’);return 0;}10.用三个getchar函数先后向计算机输入BOY三个字符,然后用putchar函数输出。

程序:#include<stdio.h>int main(){char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar(‘\n’);return 0;}或#include<stdio.h>int main(){putchar(getchar());putchar(getchar());putchar(getchar());putchar(‘\n’);return 0;}11.用getchar函数从键盘读入一个大写字母,把它转换成小写字母,然后用getchar函数输出对应的小写字母。

程序:#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=c1+32;putchar(c2);putchar(‘\n’);return 0;}12.输入两个实数,按代数值由小到大的顺序输出这两个数。

(参照将两个杯子中的水互换,必须借助第三个杯子)。

程序:#include<stdio.h>int main(){float a,b,t;scanf(“%f,%f”,&a,&b);if(a>b){t=a;a=b;b=t;}printf(“%5.2f,%5.2f\n”,a,b);return 0;}13.输入a,b,c三个数,要求由小到大的顺序输出。

程序:#include<stdio.h>int main(){float a,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a>b);{t=a;a=b;b=t;}if(a>c){t=a;创作编号:GB8878185555334563BT9125XW创作者:凤呜大王*a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f\n",a,b,c);return 0;}14.输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,如果不是,不转换。

然后输出最后得到的字符。

程序:#include<stdio.h>int main(){char ch;scanf(“%c”,&ch);ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;printf(“%c\n”,ch);return 0;}或#include<stdio.h>int main(){char ch;scanf("%c",&ch);if(ch>='A'&&ch<='Z')printf("%c\n",ch+32);elseprintf("%c\n",ch);return 0;}15.有一个函数:y=编一程序。

输入一个x的值,要求输出相应的y值。

程序:#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf("x=%d\ny=%d\n",x,y);return 0;}16.要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70-84分。

C等为60-69分,D等为60分以下。

成绩的等级由键盘输入。

程序:#include<stdio.h>int main(){char grade;scanf("%c",grade);printf("You score:\n");switch(grade){case'A':printf("85~100\n");break;case'B':printf("70~84\n");break;case'C':printf("60~69\n");break;case'D':printf("<60\n");break;default:printf("enter date error\n");}return 0;}17.写一程序,判断某一年是否为闰年。

程序:#include<stdio.h>int main(){int leap,year;printf("please enter year:");scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)创作编号:GB8878185555334563BT9125XW创作者:凤呜大王*leap=1;elseleap=0;}elseleap=1;}else leap=0;if(leap)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);return 0;}或#include<stdio.h>int main(){int leap,year;printf("please enter year:");scanf("%d",&year);if(year%4!=0)leap=0;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;elseleap=1;if(leap==1)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);return 0;}或#include<stdio.h>int main(){int leap,year;printf("please enter year:");scanf("%d",&year);if((year%4==0&&year%100!=0)||(year%400==0)) leap=1;elseleap=0;if(leap==1)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);return 0;}18. 求ax2+bx+c=0方程的根。

相关文档
最新文档