C语言的简单应用(三)
来源:互联网 发布:陈伟霆家境知乎 编辑:程序博客网 时间:2024/06/05 20:53
第三天
1、题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
分析:这种方式很好,get到了一个逆序的新用法
#include<stdio.h>#define MAX 5void print(int n){ int a; if(n<=1) { a=getchar(); putchar(a); } else { a=getchar(); print(n-1); putchar(a); }}int main(){ int n=MAX; print(n); putchar('\n'); return 0;}
2、题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
#include<stdio.h>int age(int n){ int c; if(n==1) c=10; else c=age(n-1)+2; return c; } int main(){ printf("the fifth:%d",age(5)); return 0;}
3、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
#include<stdio.h>#define max 100int main(){ int a,b[max],i=0; printf("input the number:");scanf("%d",&a); while(a) { b[i]=a%10; i++; a/=10; } a=i; printf("It is %d位,It is:",i); for(i=0;i<a;i++) printf("%d",b[i]); return 0;}
4、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
改良后可判断任意回文序列,当然限int内
#include<stdio.h>#define max 100int judge(int b[],int n){ int i,a; for(i=0;i<n;i++) { a=n-1-i; if(b[i]==b[a]) return 1; else return 0; } } int main(){ int a,b[max],i=0; printf("input the number:");scanf("%d",&a); while(a) { b[i]=a%10; i++; a/=10; } a=i; printf("It is %d位,It is:",i); for(i=0;i<a;i++) printf("%d",b[i]); if(judge(b,i)) printf("\nIt is palindrome"); else printf("\nIt isn't"); return 0;}
5、题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
#include<stdio.h>int main(){ char letter; printf("input the first letter:"); while((letter=getchar())!='Y') { switch(letter) { case 's':printf("input second letter\n"); if((letter=getchar())=='a') printf("saturday\n"); else if((letter=getchar())='u') printf("sunday\n"); else printf("error data\n"); break; case 'f':printf("friday\n");break; case 'm':printf("monday\n");break; case 't':printf("input second letter\n"); if((letter=getchar())=='u') printf("tuesday\n"); else if((letter=getchar())=='h') printf("thursday\n"); else printf("error data\n");break; case 'w':printf("wednesday\n");break; default :printf("error data;\n"); } } return 0;}
6、题目:对10个数进行排序(选择排序法)
#include<stdio.h>#define N 10int main(){ int i,j,min,a[N]; printf("input %d number:\n",N); for(i=0;i<N;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } printf("the sort number:\n"); for(i=0;i<N;i++) { min=i; for(j=i+1;j<N;j++) if(a[min]>a[j]) min=j; int temp=a[i]; a[i]=a[min]; a[min]=temp; } for(i=0;i<N;i++) printf("%d ",a[i]); return 0;}
7、矩阵的相关运算(对角线之和,两个矩阵相乘)
#include<stdio.h>#define N 3int main(){ int i,j,k,sum=0,a[N][N],b[N][N],c[N][N]={0}; printf("input a[%d][%d] matrix:\n",N,N); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&a[i][j]); printf("input b[%d][%d] matrix:\n",N,N); for(i=0;i<N;i++) for(j=0;j<N;j++) scanf("%d",&b[i][j]); for(i=0;i<N;i++) { printf("a[%d][%d] ",i,i); sum+=a[i][i]; } printf("=%d\n",sum); for(i=0;i<N;i++) for(j=0;j<N;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; for(i=0;i<N;i++) for(j=0;j<N;j++) { printf("%d ",c[i][j]); if(j/(N-1)==1) putchar('\n'); } return 0;}
8、输入从大到小排好序的数组,然后插入一个数字(插入排序)
#include<stdio.h>#define N 20int main(){ int i,j,temp,number,a[N]; puts("input some numbers:"); for(i=0;i<N-1;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); } printf("input the insert number:"); scanf("%d",&number); if(number>a[N-2]) a[N-1]=number; else { for(i=0;i<N-1;i++) if(a[i]>number) { temp=a[i]; break; } a[i]=number; for(j=N-1;j>=i+2;j--) { a[j]=a[j-1]; } a[i+1]=temp; } puts("the sort number:"); for(i=0;i<N;i++) printf("a[%d]=%d\n",i,a[i]); return 0;}
9、题目:取一个整数a从右端开始的4~7位。
#include<stdio.h>int main(){ unsigned a=0xf0,b,c,d; printf("input a:"); b=a>>4; c=~(~0<<4); d=b&c; printf("%x\n%x\n",a,d); return 0;}
10、一个恶搞小程序(‾◡◝)(关于调用windows系统的库文件)
解除命令:百度知道
#include<stdio.h>#include<windows.h>int main(){ int a=180; system("shutdown -s -t 180"); while(a) { system("color 02"); Sleep(1000); printf("the count down :%d\n",a--); SetCursorPos(0,0); if(a==100) { printf("remember fen me,next to see\n"); exit(1); } } return 0;}
总结
本次代码量较之前两日有些改变,但很有意思的是居然出现了好几个排序,冒泡版,选择版、还有插入版,很不错,适合练手,明天继续。
阅读全文
1 0
- C语言的简单应用(三)
- C语言学习知识点(三):简单的学习应用
- C语言的简单应用(一)
- C语言的简单应用(二)
- C语言的简单应用(四)
- c语言简单应用
- 简单C语言应用
- C语言简单应用
- 简单结构体的应用(商品排序C语言)
- C语言的简单应用(五)上
- C语言的简单应用(五)下
- 简单的指针应用 成绩表 c语言
- 【数据结构与算法】(三) c 语言栈的简单实现
- C语言二维数组的应用的简单举例
- C语言中三角函数的简单应用——HDU2080
- 浅谈C语言2级指针的简单应用
- c语言 双向循环链表的简单应用
- C语言对搜索的简单应用(迷宫问题
- Dom4j解析Xml的方法
- AndroidStudio如何新建java工程?
- 1
- BZOJ 3343: 教主的魔法
- JAVA POI将数据导出保存到EXCEL 的一些方式
- C语言的简单应用(三)
- Linux 中/etc/profile、~/.bash_profile 等几个环境配置文件的执行过程
- springmvc全局异常处理
- csdn服务器给我返回http 500, 呵呵哒!------后来才知道, 每天最多写5篇, 我晕啊, 能给个友好点的提示不?
- 1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象
- Codeforces 469A
- 接口测试(松勤)
- linux_ubuntu_ssh学习
- linux下常见开发环境配置