1.从键盘输入一个整数n(1≤n≤9),打印出指定的菱形。
*
***
*****
*******
*********
*******
*****
***
*
#include<stdio.h>
int main()
{
int n;
int i;
int c;
int temp;
scanf("%d",&n);
for(i = 1; i <= n; i )
{
for(temp = i; temp < n; temp )
{
printf(" ");
}
for(c = 1; c <= i; c )
{
printf("*");
}
for(c = i-1; c > 0; c--)
{
printf("*");
}
printf("\n");
}
for(i = n-1; i > 0; i--)
{
for(temp = i; temp < n; temp )
{
printf(" ");
}
for(c = 1; c <= i; c )
{
printf("*");
}
for(c = i-1; c > 0; c--)
{
printf("*");
}
printf("\n");
}
return 0;
}
2.输入n值,打印下列形状的金字塔,其中n代表金字塔的层数。
Input
输入只有一个正整数n。
Output
打印金字塔图形,其中每个数字之间有一个空格。
Example Input
3
Example Output
1
1 2 1
1 2 3 2 1
#include<stdio.h>
int main()
{
int n;
int i;
int c;
int temp;
scanf("%d",&n);
for(i = 1; i <= n; i )
{
for(temp = i; temp < n; temp )
{
printf(" ");
}
for(c = 1; c <= i; c )
{
if(i == 1)
{
printf("%d",c);
}
else
printf("%d ",c);
}
for(c = i - 1; c > 0; c--)
{
if(c == 1)
{
printf("%d",c);
}
else
printf("%d ",c);
}
printf("\n");
}
return 0;
}
3.输入
正整数n(1≤n≤9)。
输出
指定数字图形。
样例输入
5
样例输出
1
121
12321
1234321
123454321
1234321
12321
121
1
#include<stdio.h>
int main()
{
int i,j,n,p,q,a;
scanf("%d",&n);
a=0;
a=a*a;
for(i=1; i<=n; i )
{
for(j=1; j<=n-i; j )
printf(" ");
for(p=1; p<=i; p )
printf("%d",p);
for(q=i-1; q>0; q--)
printf("%d",q);
printf("\n");
}
for(i=1; i<=n-1; i )
{
for(j=1; j<=i; j )
printf(" ");
for(p=1; p<=n-i; p )
printf("%d",p);
for(q=n-i-1; q>0; q--)
printf("%d",q);
printf("\n");
}
return 0;
}
4.输入一个正整数n(1 < =n <= 10),再输入n*n的矩阵,要求求该矩阵的下三角元素之和。
输入
输入包括n 1行
第一行为整数:n
接下来的n行为矩阵数据
输出
矩阵的下三角元素之和
样例输入
5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
样例输出
75
#include <stdio.h>
#include <stdlib.h>???
int main()
{
int n,i,j,sum=0;
scanf("%d",&n); //输入数组大小
int a[n 1][n 1]; //定义数组
for(i=1;i<=n;i )
for(j=1;j<=n;j )
scanf("%d",&a[i][j]);//循环输入数组
for(i=1;i<=n;i )
for(j=1;j<=i;j )
sum =a[i][j]; //循环将矩阵下三角元素相加
printf("%d",sum);//输出结果
return 0;
}
5.Description
*
***
*****
*******
*****
***
*
上面的菱形漂亮吗?
现给出菱形的高度,要求你打印出相应高度的菱形,比如上面的菱形高度为7(如果格式错乱,请复制到记事本查看或参考示例输出) 。
Input
测试数据包括多行,每行1个整数h,h为奇数,代表菱形的高度。
输入以0结束。
Output
输出每组对应的菱形。
Sample Input
1
7
0
#include<stdio.h>
int main(){
int n,m,i,j,k;
while(EOF!=scanf("%d",&n)){
m = (n 1)/2;
for(i=1;i<=m;i ){
for(k=1;k<=m-i;k ){
printf(" ");
}
for(j=0;j<(2*i-1);j ){
printf("*");
}
printf("\n");
}
for(i=m-1;i>0;i--){
for(k=1;k<=m-i;k ){
printf(" ");
}
for(j=1;j<=(2*i-1);j ){
printf("*");
}
printf("\n");
}
}
return 0;
}
6.描述
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果
输入
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。
输出
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
样例输入
X 2
A 7
@
样例输出
X
XXX
A
A A
A A
A A
A A
A A
AAAAAAAAAAAAA
题目来源
#include<stdio.h>
#include<string.h>
int main()
{
char a;
int b,i,j,k=0;
while((a=getchar())!='@')//可换为:while(scanf("%c",&a)&&a!='@')
{
k;
getchar();//这一句的作用是读取空格!
scanf("%d",&b);
getchar();//记住这一句不能省,否则会在第二次输入时a直接变成\n(换行符)!
if(k!=1)//这个格式很重要,这是在第一个结果的后面先不输出空行,
printf("\n");//只有在判断过第二个结果满足条件后,才输出空行,
//此空行依然在第二个结果之前,满足两个空三角形之间有空行的条件!
for(i=1;i<b;i )
{
for(j=1;j<=b (i-1);j )
{
if(j==b-(i-1)||j==b (i-1))
printf("%c",a);
else
printf(" ");
}
printf("\n");
}
for(i=0;i<2*b-1;i )
printf("%c",a);
printf("\n");
}
return 0;
}
6.描述
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。
输入
输入数据包含多组测试数据。
每组测试数据的输入只有一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。
输入以0结束
输出
对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。
样例输入
2
3
0
样例输出
1
1 1
1
1 1
1 2 1
#include<stdio.h>
int a[31][31];
int main()
{
int i,j;
for(i=1;i<=30; i)
{
a[i][1]=1;
for(j=2;j<=i; j)
{
a[i][j]=a[i-1][j-1] a[i-1][j];
}
}
int n;
while(~scanf("%d",&n))
{
for(i=1;i<=n; i)
{
printf("%d",a[i][1]);
for(j=2;j<=i; j)
printf(" %d",a[i][j]);
printf("\n");
}
printf("\n");
}
return 0;
}
7.描述
输入直角三角形的直角边长度(两个直角边相同),打印输出该图形。如输入5,输出下列图形:
*
**
***
****
*****
输入
输入数据第一行为n,表示一共有n组数据输入,后面有n行,每行表示直角边长度(两个直角边相同)。
输出
以*字符来打印输出直角三角形图形。
样例输入
3
1
2
3
样例输出
*
*
**
*
**
***
题目来源
#include<stdio.h>
int main()
{
int i,j,k,m,n;
scanf("%d",&i);
for(j=0;j<i;j )
{
scanf("%d",&k);
for(m=1;m<=k;m )
{
for(n=1;n<=m;n )
{
printf("*");
}
printf("\n");
}
}
return 0;
}
|