【末世旅行之C语言】C语言经典试题小集合
2015-05-30 23:18
141 查看
1.乘法口诀
/*输出9*9口诀*/ # include <stdio.h> int main(void) { int i; int j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%-2d ",j,i,i*j); } printf("\n"); } return 0; }
2.斐波那契数列
/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ # include <stdio.h> int main(void) { int f1=1,f2=1; for(int i=1;i<=10;i++) { printf("%5d%5d",f1,f2); f1=f1+f2; f2=f1+f2; if(i%2==0) printf("\n"); } return 0; }
3.素数问题
/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数+1),如果能被整除, 则表明此数不是素数,反之是素数。*/ # include <stdio.h> void main() { int i,j,sum=0; for(i=101;i<=200;i++) { for(j=2;j<i;j++) { if(i%j==0) { break; } } if(i==j) { sum++; printf("%d\n",i); } } printf("%d\n",sum); }
4.完数
/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3. 找出1000以内的所有完数。*/ # include<stdio.h> int main(void) { int i,j,sum=0; for(i=2;i<=1000;i++) { for(j=i-1;j>=1;j--) { if(i%j==0) { sum+=j; } } if(sum==i) { printf("%d\n",i); } sum=0; } return 0; }
5.4×4二维数组90度旋转
/*一个4×4的数组进行逆时针旋转90度后输出, 要求原始数组的数据随机输入,新数组以4行4列的方式输出*/ # include <stdio.h> int main(void) { int a[4][4],b[4][4]; int i,j; for(i=0;i<4;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<4;i++) { for(j=0;j<4;j++) { b[i][j]=a[j][3-i]; } } for(i=0;i<4;i++) { for(j=0;j<4;j++) { printf("%-3d",b[i][j]); } printf("\n"); } return 0; }
相关文章推荐
- Error Tips
- 在C++里写一个不能被继承的类
- 汉诺塔的C语言实现
- ubuntu下c语言hello world
- swust oj 1132--Coin-collecting by robot
- swust oj 1139--Coin-row problem
- C++虚函数及虚函数表解析
- 高效编程——C++测试代码运行时间方法
- hdoj1160最长上升子序列
- C++内存管理详解
- C语言高级语法概述笔记
- C++引用之引用的使用
- 【末世旅行之C++】C++中的虚函数和纯虚函数的理解
- C语言及程序设计进阶例程-21 银行储蓄系统(第五版)开发
- C语言及程序设计进阶例程-19 链表应用
- C语言及程序设计进阶例程-18 链表中结点的插入和删除
- C语言及程序设计进阶例程-17 认识链表
- C语言及程序设计进阶例程-16 当结构体成员为指针
- C++引用之声明方法
- C语言及程序设计进阶例程-15 指向结构体的指针