1、打印一个高度为n的、由“*”组成
题目:本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格
输入样例:
7
输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
代码1:
#include<stdio.h>
int main()
{
int i,j,n,k;
scanf("%d",&n);
k=(n+1)/2;
for(i=0;i<k;i++){
for(j=1;j<n-2*i;j+=2){
printf(" ");
}
for(j=0;j<2*i;j++){
printf("* ");
}
printf("* \n");
}
for(i=k;i<n;i++){
for(j=1;j<2*i+2-n;j+=2){
printf(" ");
}
for(j=0;j<2*(n-i-1);j++){
if(i!=n-1){
printf("* ");
}
}
printf("* \n");
}
return 0;
}
代码2:
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n/2+1;i++)
{
for(j=1;j<=n/2-i+1;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("* ");
printf("\n");
}
for(i=1;i<=n/2;i++)
{
for(j=1;j<=i;j++)
printf(" ");
for(j=1;j<=n-2*i;j++)
printf("* ");
printf("\n");
}
return 0;
}
2、猴子吃桃问题
题目:一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?(由于数据庞大,请使用long long 整数类型)
输入格式:
输入在一行中给出正整数N(1<N≤100)。
输出格式:
在一行中输出第一天共摘了多少个桃子。
输入样例:
3
输出样例:
10
代码1:
#include<stdio.h>
int main()
{
long long int n,m,i,s=1;
scanf("%ld",&n);
for(i=1;i<n;i++){
s=(s+1)*2;
}
printf("%ld",s);
return 0;
}
代码2:
#include <stdio.h>
int main()
{
long i,n,j,k;
double sum;
sum=1;
scanf("%ld",&k);
for (j=1;j<=k-1;j++)
{
sum=2*sum+2;
}
printf("%.0f\n",sum);
return 0;
}