A.画图

​给你一个N,你能用‘*’画出一个边长为N的正方形

现在需要你做的是,画出正方形被从右上至左下切掉之后上面的那一半,也就是一个三角形

Input

有一个整数T,表示T组测试数据 接下来T行,每行一个整数N

Output

画出符合的三角形

Sample Input

3
3
4
5

Sample Output

***
**
*
****
***
**
*
*****
****
***
**
*

代码(4eyebird)

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        int m;
        scanf("%d",&m);
        for(int i=0;i<m;i++)
        {
            for(int j=m-i;j>0;j--)printf("*");
            printf("\n");
        }
    }
    return 0;
}

B.打印图形

** **打印出以下图形。

Sample Input

4

Sample Output

*
  ***
 *****
*******

代码(XCCX---)

#include<stdio.h>
int main()
{
    int t;
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        for(int j=0;j<t-i;j++)
        {
            printf(" ");
        }
        for(int k=0;k<2*i-1;k++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

C.打印菱形

题目描述

wpm想要学画图,但是技术太菜,找wbt求助,wbt嫌弃他菜,决定考考他,于是,给了他一个数字nn,让他打印一个nn行的菱形,但是太菜的wpm解决不了,你可以帮帮他吗

输入格式

一个整数nn(保证为奇数,且 n <= 100n<=100)

输出格式

所要打印的图形

样例

输入样例

3

输出样例

*  
***  
 *

代码(yq11037)

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n/2;i++){
        for(int j=1;j<=n/2-i+1;j++){
            printf(" ");
        }
        for(int j=2*i-1;j>=1;j--){
            printf("*");
        }
        printf("\n");
    }
    for(int i=1;i<=n;i++){
        printf("*");
    }
    printf("\n");
    for(int i=n/2;i>=1;i--){
        for(int j=1;j<=n/2-i+1;j++){
            printf(" ");
        }
        for(int j=1;j<=2*i-1;j++){
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

D.还是打印菱形

这个菱形大家熟悉吧。

*
   ***
  *****
   ***
    *

现在要求的是打印这样的菱形:不要*号,要最外层是字母A,然后里一层是B,再里一层是C···这样呢?

A
   ABA
  ABCBA
   ABA
    A

Input

第一行是一个正整数N(N≤25),代表有N组测试数据。 每一组数据包括一个正整数M(1≤M≤25),表示菱形的半径(直径就是M*2+1)。

Output

对于每组数据,输出要求打印的菱形。

Sample Input

1
2

Sample Output

A
  ABA
 ABCBA
  ABA
   A

代码(4eyebird)

#include<stdio.h>
char p[]="0ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main()
{
    int N;
    scanf("%d",&N);
    while(N--)
    {
        int m;
        scanf("%d",&m);
        int n=m*2+1;
        n=n/2+1;
        if(n==0)printf("*");
        for(int i=1;i<=n;i++)
        {
            int cnt=0;
            for(int j=n-i;j>0;j--)
            printf(" ");
            for(int j=1;j<=i;j++)
            {
                printf("%c",p[j]);
            }
            for(int j=i-1;j>=1;j--)
            {
                printf("%c",p[j]);
            }
            printf("\n");
        }
        for(int i=n-1;i>=1;i--)
        {
            int cnt=0;
            for(int j=n-i;j>0;j--)
            printf(" ");
            for(int j=1;j<=i;j++)
            {
                printf("%c",p[j]);
            }
            for(int j=i-1;j>=1;j--)
            {
                printf("%c",p[j]);
            }
            printf("\n");
        }
    }
    return 0;
}

E.C语言程序设计教程(第三版)课后习题5.6

给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。 90分以上为A 80-89分为B 70-79分为C 60-69分为D 60分以下为E

Input

一个整数0-100以内

Output

一个字符,表示成绩等级

Sample Input

90

Sample Output

A

HINT

分段函数返回字符

代码(ZIFEI)

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n<=100&n>=90)
    {
        printf("A");
    }
    if(n>=80&&n<90)
    {
        printf("B");
    }
    if(n>=70&&n<80)
    {
        printf("C");;
    }
    if(n>=60&&n<70)
    {
        printf("D");
    }
    if(n>=0&&n<60)
    {
        printf("E");
    }
}

F.C语言程序设计教程(第三版)课后习题5.8

企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%; 200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成; 400000<I≤600000元时,高于400000元的部分按3%提成;600000<I≤1000000时,高于600000元的部分按1.5%提成; I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。

Input

一个整数,当月利润。

Output

一个整数,奖金。

Sample Input

900

Sample Output

90

代码(WEI)

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    if(n<=100000)
    {
        cout << n*0.1;
    }
    else if(n>100000&&n<=200000)
    {
        int a=n-100000;
        cout << a*0.075+10000;
    }
    else if(n>200000&&n<=400000)
    {
        int a=n-200000;
        cout << a*0.05+10000+7500;
    }
    else if(n>400000&&n<=600000)
    {
        int a=n-400000;
        cout << a*0.03+10000+7500+10000;
    }
    else if(n>600000&&n<=1000000)
    {
        int a=n-600000;
        cout << a*0.015+10000+7500+10000+6000;
    }
    return 0;
}

G. C语言程序设计教程(第三版)课后习题6.3

求Sn=2+22+222+…+22…222(有n个2)之值,其中a是一个数字。 例如:2+22+222+2222+22222(n=5),n由键盘输入。

Input

n

Output

Sn

Sample Input

5

Sample Output

24690

代码(WEI)

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    long long sum=0;
    int a=0;
    for(int i=0;i<n;i++)
    {
        sum+=a*10+2;
        a=a*10+2;
    }
    cout << sum;
    return 0;
}

H.C语言程序设计教程(第三版)课后习题6.4

求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。 n <= 40

Input

n

Output

Sample Input

5

Sample Output

153

代码(ZIFEI)

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long sum=0;
    long long k=1;
    for(int i=1;i<=n;i++)
    {
        k=k*i;
        sum=sum+k;
    }
    printf("%lld",sum);
}

I.空心菱形

打印菱形想必大家都会吧,那么空心的呢?

Input

输入一个数n,代表菱形的长度

Output

输出与n对应大小的菱形

Sample Input

7

Sample Output

*
  * *
 *   *
*     *
 *   *
  * *
   *

代码(4eyebird)

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    n=n/2+1;
    if(n==0)printf("*");
    for(int i=1;i<=n;i++)
    {
        for(int j=n-i;j>0;j--)
        printf(" ");
        for(int j=1;j<=i*2-1;j++)
        {
            if(j==1||j==i*2-1)printf("*");
            else printf(" ");
        }
        printf("\n");
    }
    for(int i=n-1;i>0;i--)
    {
        for(int j=n-i;j>0;j--)
        printf(" ");
        for(int j=1;j<=i*2-1;j++)
        {
            if(j==1||j==i*2-1)printf("*");
            else printf(" ");
        }
        printf("\n");
    }
    return 0;
}

0 comments

No comments so far...