大一的一些题目

// sl.cpp:Definestheentrypointfortheconsoleapplication.
//

#include
< stdio.h >


void getInput( int * _out_n)
... {
printf(
"Pleaseentern:");
scanf(
"%d",_out_n);
printf(
" ");
}


// 1画个空心的梯形吧
// 编程,输入n,输出如下例(n=5)所示的高和上底均为n的等腰空心梯形。
// *****
// **
// **
// **
// *************
void f1( int n)
... {
inti=0;
intj=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(inti=1;i<h;i++)
...{
for(intj=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(inti=6;i<=1000;i++)
...{
inttemp=0;
for(intj=1;j<=i/2;j++)
...{
if(0==i%j)
...{
temp
+=j;
}

}

if(temp==i)
...{

printf(
"%d=",i);

//for(intj=1;j<=i/2;j++)
//{
//if(0==i%j)
//{
//printf("%d",j);
//}
//}

printf(
" ");
}

}

printf(
"hellokitty ");
getchar();
}


// 4一个马戏团表演,n个座位全满,全部门票收入是120元,现在知道,男人每人5元,女人每人2元,小孩每人1角。编程,输入总人数n,输出满足要求的男人、女人和小孩人数的全部方案。,若n人无法满足条件,则输出"Nooutput"(双引号内的部分为输出部分)。
// 输入:人数n输出:男人、女人和小孩人数

// test
// for(inti=0;i<100;i++)
// {
// if(f4(i));
// }
bool f4( int n)
... {
inti=0;
intj=0;
intk=0;
boolb=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(
"Nooutput ");
}

returnb;
}


// 5黑色星期五在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫“黑色星期五”。输入某年年号和该年的元旦是星期几(1-7),输出该年所有的“黑色星期五”的日期(年/月/日)输入:4位年号和该年元旦是星期几输出:所有的“黑色星期五”的日期(年/月/日)
int isLeapYear( int year)
... {
intleap=0;
if(year%100==0&&year%400==0)
leap
=1;
elseif(year%100!=0&&year%4==0)
leap
=1;
returnleap;
}


void f5()
... {
intdaysOfMonth[]=...{31,28,31,30,31,30,31,31,30,31,30,31};
inty,w;
inti;
intoffset[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输出:第一天的桃子个数
// intn=0;
// getInput(&n);
// printf("%d",f6(n));
int f6( int n)
... {
if(n==1)
...{
return1;
}

else
return2*(f6(n-1)+n-1);
}


// 7若正整数A的全部约数(包括1,不包括A本身)之和等于B;且整数B的全部约数(包括1,不包括B本身)之和等于A,则A、B为亲密数。编程,输入正整数A,输出亲密数A,B(A<=B),若不存在亲密数,则输出Nooutput。
// 输入:正整数A输出:形如A-B的亲密数对
// for(inti=1;i<1000;i++)
// {
// f7(i);
// }
void f7( int a)
... {
intt1=0;
for(inti=1;i<=a/2;i++)
...{
if(a%i==0)
...{
t1
+=i;
}

}

intt2=0;
for(intj=1;j<=t1/2;j++)
...{
if(t1%j==0)
...{
t2
+=j;
}

}


if(t2==a)
...{
printf(
"%d-%d ",a,t1);
}

//else
//{
//printf("Nooutput ");
//}
}

// 8输出一个字母K吧
// 输入n值,输出如图所示图形(当n=4)
// **
// **
// **
// *
// **
// **
// **
// intn=0;
// getInput(&n);
// f8(n);
void f8( int n)
... {
for(inti=1;i<n;i++)
...{
printf(
"*");
for(intj=2;j<=n-i+1;j++)
...{
if(j==n-i+1)
...{
printf(
"*");
}

else
...{
printf(
"");
}

}

printf(
" ");
}

printf(
"* ");
for(inti=2;i<=n;i++)
...{
printf(
"*");
for(intj=2;j<=i;j++)
...{
if(j==i)
...{
printf(
"*");
}

else
...{
printf(
"");
}

}

printf(
" ");
}

}


// 9画一个字母组成的菱形输入顶行字符和图形的高,输出如图所示图形。
// 例如顶行字符为'A',图形的高为5
// A
// BB
// CC
// DD
// EE
// DD
// CC
// BB
// A
// intn=0;
//
// getInput(&n);
//
// f9(n);
void f9( int n)
... {
chart='A';
for(inti=1;i<=n;i++)
...{
for(intj=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(inti=2;i<=n;i++)
...{
for(intj=1;j<=2*n-i;j++)
...{
if(j==i||j==2*n-i)
...{
printf(
"%c",t);
}

else
...{
printf(
"");
}

}

t
--;
printf(
" ");
}

}


// 10输入n值,输出如图回型方阵,例如:当n=5时:
// 33333
// 32223
// 32123
// 32223
// 33333
// intn=0;
//
// getInput(&n);
//
// f10(n);
void f10( int n)
... {
intm=n/2+n%2;
inti,j;
intk,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--;
elseif(j>=a)k++;
}

printf(
" ");
}

printf(
"--回型方阵-- ");
}


int main( int argc, char * argv[])
... {
intn=0;

getInput(
&n);

f10(n);

return0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值