大一的一些题目
2007-05-25 20:11
281 查看
// sl.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
void getInput(int* _out_n)
...{
printf("Please enter n:");
scanf("%d",_out_n);
printf(" ");
}
//1 画个空心的梯形吧
//编程,输入 n ,输出如下例( n=5 )所示的 高和上底均为 n 的等腰空心梯形。
// * * * * *
// * *
// * *
// * *
//* * * * * * * * * * * * *
void f1(int n)
...{
int i = 0;
int j = 0;
for (j = 1; j <= n-1; j++ )
...{
printf(" ");
}
for (j = 1; j <= n; j++ )
...{
printf("*");
}
printf(" ");
for (i = 1; i < n-1; i++)
...{
for (j = 1; j <= 2*n+i-1; j++)
...{
if (j == n-i || j == 2*n+i-1)
...{
printf("*");
}
else
...{
printf(" ");
}
}
printf(" ");
}
for (j = 1; j <= 3*n-2; j++ )
...{
printf("*");
}
printf(" ");
}
//
//2 小明被罚
//七岁的小明在家中呆着无聊,东跑西窜,招猫逗狗,老爹很生气,后果很严重!被老爸罚去码砖头,要求码成等腰三角形的形状。小明不知道什么是“等腰三角形”,老爸也不解释,只好去问叔叔。
//叔叔用数学语言讲了半天等腰三角形,小明还是不明白,没办法,叔叔只好为小明编写一个程序,在屏幕上显示出等腰三角形的形状,然后再让小明按照显示的形状去码砖头。你就是小明的叔叔,你来编写这个程序吧。输入: 输入等腰三角形的高h。输出: 等腰三角形。
// ps:这道题有问题,只有高h可以任意发挥;
void f2(int h)
...{
for (int i = 1; i < h; i++)
...{
for (int j = 1; j < h+i-1; j++)
...{
if (j < h-i)
...{
printf(" ");
}
else
...{
printf("*");
}
}
printf(" ");
}
}
//3 编写程序,输出 1000 以内的所有完数及其因子。所谓完数是指一个整数的值等于它的因子之和,例如 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是一个完数。
void f3()
...{
for (int i = 6; i <=1000; i++)
...{
int temp = 0;
for (int j = 1; j <= i/2; j++)
...{
if (0 == i%j)
...{
temp += j;
}
}
if (temp == i)
...{
printf("%d=",i);
//for (int j = 1; j <= i/2; j++)
//{
// if (0 == i%j)
// {
// printf("%d ", j);
// }
//}
printf(" ");
}
}
printf("hello kitty ");
getchar();
}
//4 一个马戏团表演, n 个座位全满,全部门票收入是 120 元,现在知道,男人每人 5 元,女人每人 2 元,小孩每人 1 角。编程,输入总人数 n ,输出满足要求的男人、女人和小孩人数的全部方案。 , 若 n 人无法满足条件,则输出 "No output"( 双引号内的部分为输出部分 ) 。
//输入:人数 n输出:男人、女人和小孩人数
// test
//for (int i = 0; i < 100; i++)
//{
// if (f4(i));
//}
bool f4(int n)
...{
int i = 0;
int j = 0;
int k = 0;
bool b = false;
for (i = 0; i <= n; i++)
...{
for (j = 0; j<= n-i; j++)
...{
for (k = 0; k<= n-i-j; k++)
...{
if (1200 == (i*50 + j*20 + k*1))
...{
printf("i:%d, j:%d, k:%d ", i, j, k);
b = true;
}
}
}
}
if (!b)
...{
printf("No output ");
}
return b;
}
//5 黑色星期五 在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的 13 日又恰逢星期五就叫 “ 黑色星期五 ” 。输入某年年号和该年的元旦是星期几( 1-7 ),输出该年所有的 “ 黑色星期五 ” 的日期(年 / 月 / 日) 输入: 4 位年号和该年元旦是星期几输出:所有的 “ 黑色星期五 ” 的日期(年 / 月 / 日)
int isLeapYear(int year)
...{
int leap = 0;
if(year%100 == 0 && year%400 ==0)
leap = 1;
else if(year%100 != 0 &&year%4 ==0)
leap = 1;
return leap;
}
void f5()
...{
int daysOfMonth[] =...{31,28,31,30,31,30,31,31,30,31,30,31};
int y,w;
int i;
int offset[12];
scanf("%d %d",&y,&w);
if(isLeapYear(y))
daysOfMonth[1] = 29;
offset[0] = 12;
for(i = 1;i < 12;i++)
...{
offset[i] = offset[i-1] + daysOfMonth[i-1];
if((w+offset[i])%7 == 5)
printf("%d/%d/%d ",y,i+1,13);
}
}
//6猴子吃桃子
//有一只猴子,第一天摘了若干个桃子 ,当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。第 2 天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第 5 天吃了前一天剩下的一半加 5 个)。到第 n 天早上再想吃的时候,就只剩下一个桃子了。
//输入:天数 n输出:第一天的桃子个数
//int n = 0;
//getInput(&n);
//printf("%d",f6(n));
int f6(int n)
...{
if (n == 1)
...{
return 1;
}
else
return 2*(f6(n-1)+n-1);
}
//7 若正整数A的全部约数(包括1,不包括A本身)之和等于B ; 且整数B的全部约数(包括1,不包括B本身)之和等于A,则 A 、 B 为亲密数。编程,输入正整数A,输出亲密数 A , B(A<=B) ,若不存在亲密数,则输出 No output 。
//输入:正整数 A 输出:形如 A-B 的 亲密数对
//for (int i = 1; i < 1000; i++)
//{
// f7(i);
//}
void f7(int a)
...{
int t1 = 0;
for (int i = 1; i <= a/2; i++)
...{
if (a%i ==0)
...{
t1 += i;
}
}
int t2 = 0;
for (int j = 1; j <= t1/2; j++)
...{
if (t1%j == 0)
...{
t2 += j;
}
}
if (t2 == a)
...{
printf("%d-%d ",a,t1);
}
//else
//{
// printf("No output ");
//}
}
//8 输出一个字母K吧
//输入 n 值,输出如图所示图形 (当 n=4)
//* *
//* *
//* *
//*
//* *
//* *
//* *
//int n = 0;
//getInput(&n);
//f8(n);
void f8(int n)
...{
for (int i = 1; i < n; i++)
...{
printf("*");
for (int j = 2; j <= n-i+1; j++)
...{
if (j == n-i+1)
...{
printf("*");
}
else
...{
printf(" ");
}
}
printf(" ");
}
printf("* ");
for (int i = 2; i <= n; i++)
...{
printf("*");
for (int j = 2; j <= i; j++)
...{
if (j == i)
...{
printf("*");
}
else
...{
printf(" ");
}
}
printf(" ");
}
}
//9 画一个字母组成的菱形 输入顶行字符和图形的高,输出如图所示图形。
//例如顶行字符为 ' A ' ,图形的高为 5
// A
// B B
// C C
// D D
//E E
// D D
// C C
// B B
// A
//int n = 0;
//
//getInput(&n);
//
//f9(n);
void f9(int n)
...{
char t='A';
for (int i = 1; i <= n; i++)
...{
for (int j = 1; j <= n+i-1; j++)
...{
if (j == n-i+1 || j == n+i-1)
...{
printf("%c",t);
}
else
...{
printf(" ");
}
}
t++;
printf(" ");
}
t -= 2;
for (int i = 2; i <= n; i++)
...{
for (int j = 1; j <= 2*n-i; j++)
...{
if (j == i || j == 2*n-i)
...{
printf("%c",t);
}
else
...{
printf(" ");
}
}
t--;
printf(" ");
}
}
//10 输入 n 值,输出如图回型方阵 ,例如:当 n=5 时 :
//3 3 3 3 3
//3 2 2 2 3
//3 2 1 2 3
//3 2 2 2 3
//3 3 3 3 3
//int n = 0;
//
//getInput(&n);
//
//f10(n);
void f10(int n)
...{
int m = n/2+n%2;
int i,j;
int k,a,b;
for( i = 1; i <= n; i++)
...{
b = i;
a = n+1-i;
if( b > a) k=b,b=a,a=k;
k = m ;
for(j = 1; j <= n; j++)
...{
printf("%d",k);
if (j< b) k--;
else if(j>=a) k++;
}
printf(" ");
}
printf(" -- 回 型 方 阵 -- ");
}
int main(int argc, char* argv[])
...{
int n = 0;
getInput(&n);
f10(n);
return 0;
}
相关文章推荐
- QTP sp等级历年的一些考试辅导题目!(分享)
- 最近面试C++程序员的一些题目
- 考察JS基础的一些题目
- 算法分析与设计的一些题目
- 关于产品的一些思考——问一答之背包之编辑题目
- 一些笔试中会出现的题目
- 关于计算机组成原理的一些题目
- 由一些公司的笔试题目想到的---模拟电路,数字电路最基本应该知道哪些
- (面试)遇到的一些智力问题的题目
- 一些面试题目
- 软考中软件设计师考题一些网络安全题目
- 前端面试题目(都是一些总结的,从各处摘抄的题目)
- 找工作期间看到的一些题目及解答
- 一些C语言题目(二)
- 【C语言基础】C语言一些简单题目(一)
- 【C语言】一些关于二进制位的一些题题目哦。
- js一些题目
- 一些公司的2016年校招C/C++开发岗笔试题目(二)
- 分享一些android题目
- 【题目19】一些简单的算法练习题(1)