C例子.docx
- 文档编号:26927746
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:23
- 大小:18.63KB
C例子.docx
《C例子.docx》由会员分享,可在线阅读,更多相关《C例子.docx(23页珍藏版)》请在冰豆网上搜索。
C例子
1.将字符串倒置:
abcdef输出结果fedcba代码行数<15
1#include
2intmain(void)
3{
4chara[10]="abcdef",b[10];
5inti;
6for(i=5;i>=0;i--)
7{
8b[5-i]=a[i];
9}
10b[6]='\0';
11printf("%s\n",b);
12return0;
13}
2.写一函数计算1-3+5-7+…-101代码行数<12
1#include
2intmain(void)
3{
4inti,result=0;
5for(i=1;2*i-1<102;i++)
6if(i%2!
=0)
7result=result+(2*i-1);
8else
9result=result-(2*i-1);
10printf("result=%d\n",result);
11return0;
12}
3.将一个整数(0 24163输入36142 1#include 2intmain(void) 3{ 4intn,s; 5printf("Enteryournumber(x>0): \n"); 6scanf("%d",&n); 7 8while(n! =0) 9{ 10s=n%10; 11printf("%d",s); 12n=n/10; 13} 14printf("\n"); 15return0; 16} 4.输入两个整数,算出它们的最大公约数和最小公倍数 1#include 2voidgcd(intu,intv) 3{ 4inttemp; 5printf("Thegcdof%dand%dis",u,v); 6 7while(v! =0) 8{ 9temp=u%v; 10u=v; 11v=temp; 12} 13printf("%d\n",u); 14} 15 16intlcm(intu,intv) 17{ 18printf("Thelcmof%dand%dis",u,v); 19ints,h,temp; 20h=u*v; 21while(v! =0) 22{ 23temp=u%v; 24u=v; 25v=temp; 26} 27 28if(u<0||v<0) 29return0; 30else 31s=h/u; 32printf("%d\n",s); 33} 34 35intmain() 36{ 37inta,b; 38printf("Pleaseinputtwonumber: \n"); 39scanf("%d%d",&a,&b); 40gcd(a,b); 41lcm(a,b); 42return0; 43} 5.写一函数算出1~N之间的所有质数 1#include 2intmain() 3{ 4intp,d,a; 5_Booli; 6printf("Pleaseinputanumber: \n"); 7scanf("%d",&a); 8 9for(p=2;p<=a;p++) 10{ 11i=1; 12for(d=2;d 13if(p%d==0) 14i=0; 15if(i! =0) 16printf("%d",p); 17} 18printf("\n"); 19return0; 20} 6.跑马灯 1#include 2int 3main(intargc,char*argv[]) 4{ 5char*a; 6a=argv[1]; 7inti,n,m,x;//i为数组元素号,n为行数,m为空格 8for(x=0;1<10;x++) 9{ 10for(n=1;n<45;n++)//长度75根据命令行的长度修改 11{ 12for(m=1;m<45-n;m++) 13{ 14printf(""); 15} 16printf("%s\n",a); 17for(i=0;i<100000000;i++); 18system("clear"); 19} 20} 21return0; 22} 7.单链表 1#include 2#include 3voidadd(); 4voiddel(); 5structaa 6{ 7intscore; 8charname[20]; 9structaa*next; 10}*head; 11typedefstructaas_date; 12s_date*q,*p; 13inti,n; 14intmain() 15{ 16chardd; 17printf("输入链元素的个数: \n"); 18scanf("%d",&n); 19head=(s_date*)malloc(sizeof(s_date)); 20p=head; 21for(i=0;i 22{ 23q=(s_date*)malloc(sizeof(s_date)); 24printf("请输入名字: \n"); 25scanf("%s",p->name); 26printf("请输入成绩: \n"); 27scanf("%d",&p->score); 28p->next=q; 29p=q; 30} 31p=head; 32do 33{ 34printf("查看链表-------------------l\n"); 35printf("删除链表-------------------d\n"); 36printf("增加链表-------------------a\n"); 37printf("退出-----------------------q"); 38printf("\n"); 39dd=getchar(); 40scanf("%c",&dd); 41switch(dd) 42{ 43case'l': 44p=head; 45printf("名字成绩\n"); 46printf("-------------\n"); 47while(p->next! =NULL) 48{ 49printf("%s\t%d\n",p->name,p->score); 50p=p->next; 51} 52break; 53case'd': 54del(); 55break; 56case'a': 57add(); 58break; 59case'q': 60break; 61default: 62printf("你的选择有误: \n"); 63break; 64} 65} 66while(dd! ='q'); 67return0; 68} 69 70voiddel() 71{ 72printf("请输入要删除的行数: \n"); 73scanf("%d",&n); 74p=head; 75if(n==1) 76head=head->next; 77else 78{ 79for(i=1;i 80p=p->next; 81p->next=p->next->next; 82} 83p=head; 84} 85 86voidadd() 87{ 88q=(s_date*)malloc(sizeof(s_date)); 89printf("请输入名字: \n"); 90scanf("%s",q->name); 91printf("请输入成绩: \n"); 92scanf("%d",&q->score); 93p=head; 94q->next=p; 95head=q; 96p=head; 97} 8.杨辉三角 1#include 2intmain(void) 3{ 4inta[50][50],kong,hang,i,j; 5printf("请输入三角形行数: "); 6scanf("%d",&hang); 7for(i=0;i 8{ 9a[i][0]=1; 10a[i][i]=1; 11} 12for(i=2;i 13{ 14for(j=1;j 15a[i][j]=a[i-1][j-1]+a[i-1][j]; 16} 17for(i=0;i 18{ 19for(kong=i;kong 20printf("%-3c",''); 21for(j=0;j<=i;j++) 22printf("%-6d",a[i][j]); 23printf("\n"); 24} 25return0; 26} 9.加密 1#include 2intencode(int);/*加密函数*/ 3intdecode(int);/*解密函数*/ 4 5intmain(void) 6{ 7intpwd; 8 9printf("请输入密码: "); 10scanf("%d",&pwd); 11pwd=encode(pwd); 12printf("加密后: %d\n",pwd); 13pwd=decode(pwd); 14printf("解密后: %d\n",pwd); 15 16return0; 17} 18 19/*引数: 未加密的密码*/ 20/*返回值: 加密后的密码*/ 21intencode(intpwd) 22{ 23inti; 24union 25{ 26intnum; 27charc[sizeof(int)]; 28}u1; 29 30u1.num=pwd; 31 32for(i=0;i 33{ 34u1.c[i]+=32; 35printf("%d\n",u1.num); 36printf("%d\n",u1.c[i]); 37} 38 39returnu1.num; 40} 41 42/*引数: 加密过的密码*/ 43/*返回值: 还原后的密码*/ 44intdecode(intpwd) 45{ 46inti; 47union 48{ 49intnum; 50charc[sizeof(int)]; 51}u1; 52 53u1.num=pwd; 54 55for(i=0;i 56u1.c[i]-=32; 57 58returnu1.num; 59} 10./*输出如下: 1 12 123*/ 1#include 2 3intmain() 4{ 5inti,j; 6for(i=1;i<10;i++) 7{ 8for(j=1;j<=i;j++) 9printf("%d",j); 10 11printf("\n"); 12} 13} 11.菱形 1#include 2 3intmain(void) 4{ 5intkong,xing,hang,i; 6printf("Pleasetypeanumber: \n"); 7scanf("%d",&hang); 8 9for(i=1;i<=hang;i++) 10{ 11for(kong=0;kong 12printf(""); 13 14for(xing=0;xing<2*i-1;xing++) 15printf("*"); 16 17printf("\n"); 18} 19 20for(i=1;i<=hang;i++) 21{ 22for(kong=0;kong 23printf(""); 24 25for(xing=0;xing<2*(hang-i)-1;xing++) 26printf("*"); 27 28printf("\n"); 29} 30} 12.九九乘法表 1#include 2int 3main() 4{ 5inti,j; 6for(i=1;i<10;i++) 7{ 8for(j=1;j<=i;j++) 9printf("%dx%d=%d",i,j,i*j); 10 11printf("\n"); 12} 13} 13//示例: malloc()与free()//动态分配内存地址 1#include 2#include 3 4intmain(void) 5{ 6structstudent 7{ 8charname[20]; 9intscore; 10structstudent*next; 11}; 12typedefstructstudents_data; 13s_data*new_student; 14 15new_student=(s_data*)malloc(sizeof(s_data)); 16 17if(new_student==NULL) 18puts("内存分配失败! "); 19else 20{ 21printf("姓名: "); 22scanf("%s",new_student->name); 23printf("成绩: "); 24scanf("%d",&new_student->score); 25new_student->next=NULL; 26} 27 28printf("姓名: %s\t成绩: %d\n",new_student->name, 29new_student->score); 30free(new_student); 31 32return0; 33} 14.冒泡排序 1#include 2voidswap(int*i,int*j) 3{ 4inttemp; 5temp=*i; 6*i=*j; 7*j=temp; 8} 9 10voidPaixu(int*arr,intlength) 11{ 12inti,j; 13for(i=0;i 14{ 15for(j=0;j 16{ 17if(arr[j]>arr[j+1]) 18swap(&arr[j],&arr[j+1]); 19} 20} 21} 22 23intmain(void) 24{ 25intnum[]={23,24,56,16,4,12,46,5,45,51}; 26inti; 27 28puts("排序�: "); 29for(i=0;i<10;i++) 30printf("%d",num[i]); 31 32Paixu(num,10); 33 34puts("\n排序后: "); 35for(i=0;i<10;i++) 36printf("%d",num[i]); 37printf("\n"); 38 39return0; 40} 15.判断是否为润年 1#include 2 3intmain() 4{ 5intyear,rem4,rem100,rem400; 6printf("请输入一个年份如2004: \n"); 7scanf("%d",&year); 8 9rem4=year%4; 10rem100=year%100; 11rem400=year%400; 12 13if((rem4==0&&rem100! =0)||rem400==0) 14printf("这是一个润年。 \n"); 15else 16printf("这不是润年\n"); 17return0; 18} 16.示例: 枚举类型 1#include 2 3intmain(void) 4{ 5enumcolors 6{RED=1,ORANGE,YELLOW,GREEN,BLUE,INDIGO,PURPLE}; 7 8char*color_name[]= 9{"未定义! ","红","橙","黄","绿","蓝","靛","紫"}; 10inti; 11 12for(i=0;i<=PURPLE;i++) 13printf("%d\t%s\n",i,color_name[i]); 14 15return0; 16} 17.递归求阶乘 1#include 2 3intjiecheng(intn) 4{ 5if(n>1) 6returnn*jiecheng(n-1); 7else 8return1; 9} 10 11intmain() 12{ 13intn,s; 14printf("请输入数值求阶乘: \n"); 15scanf("%d",&n); 16s=jiecheng(n); 17printf("%d! =%d\n",n,s); 18return0; 19} 18.简单的makefile 1out: main.ootherobj.o 2gcc-ooutmain.ootherobj.o 3mani.o: main.cmain.h 4gcc-omain.o-cmain.c 5otherobj.o: otherobj.cotherobj.h 6gcc-ootherobj.o-cotherobj.c 7clean: 8rm*.oout 19.单链表的建立与查询 1#include 2#include 3main() 4{ 5inti,m; 6structstudent 7{ 8charname[20]; 9intscore; 10structstudent*next; 11}*head,*p,*q; 12head=(structstudent*)malloc(sizeof(structstudent)); 13p=head; 14printf("inputhangshu: "); 15scanf("%d",&m); 16for(i=0;i 17{ 18q=(structstudent*)malloc(sizeof(structstudent)); 19printf("name: "); 20scanf("%s",p->name); 21printf("score: "); 22scanf("%d",&p->score);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 例子