5.6-5.12 第11周编程

  • 1001 上下金字塔
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;//n = 5
    
    for (int i = 1;i < n;i++)//前4行
    {
        for (int j = n - i;j >= 1;j--) cout << " ";//每行输出对应数量的空格
        for (int k = 1;k <= 2 * i - 1;k++) cout << "*";//每行输出对应数量的 * 
		cout << endl;//星号输完之后换行 
    }
    
    for (int i = 1;i <= 2 * n - 1;i++) cout << "*";//至此,上半个三角形输出完毕
    
	cout << endl;
	
	for (int i = n - 1;i >= 1;i--)//后4行
	{
		for (int j = n - i;j >= 1;j--) cout << " ";//每行输出对应的空格
		for (int k = 1;k <= 2 * i - 1;k++) cout << "*";//每行输出对应数量的 * 
		cout << endl; 
	}//至此,下半个三角形输出完毕
	
	return 0;
}

1002-数字三角形

#include<stdio.h>
int main(){
	int n,i,j;
	int m=1;
	scanf("%d",&n);
	
	for ( i=0;i<n;i++ ){    //行
		for ( j=0;j<i+1;j++ ){    //每行的数
			printf("   %d",m);
			m+=1;    //逐次递增
		}
		printf("\n");    //换行
	}
}

1003-字符金字塔

#include<stdio.h>
int main(){
	char a;
	int flag;
	int i,j;
	scanf("%c",&a);
	int as=a-64;
	for ( i=0;i<as;i++){
		char b='A';
		flag=0;
		for (j=0;j<as-1-i;j++){
			printf(" ");
		}
		while (flag<=i){
			printf("%c",b);
			flag+=1;
			b+=1;
		}
		flag-=1;
		b-=1;
		if (flag!=0){
			while (flag){
				b-=1;
				printf("%c",b);
				flag--;
			}
		}
		printf("\n");
	}
	return 0;
}

1005-箭形图案

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

1006 牛牛学数列

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int ans = 0;
    for (int i = 1;i <= n;i++)
    {
        if (i % 2) ans += i;//i是奇数,相加
        else ans -= i;//i是偶数,相减
    }
    cout << ans;
    return 0;
}

1007 牛牛学数列2

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    double ans = 0;
    for (int i = 1;i <= n;i++) ans += 1.0 / i;
    printf("%.6f",ans);
    return 0;
}

1008 牛牛学数列3

#include <iostream>
using namespace std;
int main()
{
    int n;
    scanf("%d",&n);
    double ans = 0;
    for (int i = 1;i <= n;i++)
    {
        if (i % 2) ans += 1.0 / i;
        else ans -= 1.0 / i;
    }
    printf("%.3f",ans);
    return 0;
}

1009 牛牛学数列4

#include <iostream>
using namespace std;
int res[1010];//打表
int main()
{
    int n;
    cin >> n;
    int ans = 0;
    for (int i = 1;i <= n;i++)
        for (int j = 1;j <= i;j++)
            res[i] += j;
    for (int i = 1;i <= n;i++) ans += res[i];
    cout << ans;
    return 0;
}

1010 牛牛学数列5

#include <iostream>
using namespace std;
int fibonacci(int n)
{
    if (n == 1 || n == 2) return 1;
    else return fibonacci(n - 1) + fibonacci(n - 2);
}

int main()
{
    int n;
    cin >> n;
    cout << fibonacci(n);
    return 0;
}

1011 牛牛学数列6

#include <iostream>
using namespace std;
int ans[25];//打表
int main()
{
    int n;
    cin >> n;
    ans[1] = 0;
    ans[2] = 1;
    ans[3] = 1;
    for (int i = 4;i <= n;i++)
        ans[i] = ans[i - 3] + 2 * ans[i - 2] + ans[i - 1];
    cout << ans[n];
    return 0;
}

1012 A+B

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    while (cin >> a >> b) cout << a + b << endl;
    return 0;
}

1013-多组输入a+b

#include<stdio.h>
int main(){
    int a,b;
    while (~scanf("%d %d",&a,&b))
        printf("%d\n",a+b);
    return 0;
}

1014 多组输入a+b II

#include <iostream>
using namespace std;
int main()
{
    int n;
    int a,b;
    cin >> n;
    while (n--)
    {
        cin >> a >> b;
        cout << a + b << endl;
    }
    return 0;
}


1015 多组数据a+b III

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    while (cin >> a >> b,a,b) cout << a + b << endl;
    return 0;
}

1016 标题统计

#include <iostream>
using namespace std;
int main()
{
    char c;
    int cnt = 0;
    while (scanf("%c",&c) != EOF)
        if (c != ' ' && c != '\n')
            cnt ++;
    cout << cnt;
    return 0;
}

1017 栗酱数数

#include <iostream>
using namespace std;

bool is_include_four(int n)
{
    int flag = 0;
    while (n > 0)
    {
        //取出各个位置上的数字判断是否存在4
        int ans = n % 10;
        n /= 10;
        if (ans == 4) flag = 1; 
    }
    return flag;
}

int main()
{
    int n;
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        //不是4的倍数且不包含数字4,则输出
        if (i % 4 != 0 && !is_include_four(i)) cout << i << endl;
        else continue;
    }
    return 0;
}

1023 绩点

#include <iostream>
using namespace std;
int main()
{
    int n;
    scanf("%d",&n);
    double gpa,ans = 0;
    int sc,sum = 0;
    while (n--)
    {
        scanf("%lf %d",&gpa,&sc);
        ans += gpa * sc;
        sum += sc;
    }
    printf("%.1f\n",ans / sum);
    return 0; 
}

1024 买铅笔

#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

const int N = 1010;

struct Node//Node表示结构体
{
    double cnt;//cnt表示包装内铅笔的数量
    int price;//price表示这种包装的价格
    int cost;//表示使用这种包装所需要的花费
}node[N];//node表示结构体数组

bool cmp(Node a,Node b)
{
    return a.cost <= b.cost;//按照cost从小到大排序
}

int main()
{
    int n;
    cin >> n;
    for (int i = 0;i < 3;i++) 
    {
        cin >> node[i].cnt >> node[i].price;
        node[i].cost = ceil(1.0 * n / node[i].cnt) * node[i].price;//向上取整得到花费(保证小数才可以向上取整)
    }
    sort(node,node + 3,cmp);//排序
    cout << node[0].cost;
    return 0;
}

1025 整数个数

#include <iostream>
using namespace std;

const int N = 55;
int a[N];

int main()
{
    int k,x;
    cin >> k;
    while (k--)
    {
        cin >> x;
        a[x]++;
    }
    cout << a[1] << " " << a[5] << " " << a[10];
    return 0;
}

1049 3和5和7

#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;
    for (int i = 1;i <= n;i++)
        if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2)
            cout << i << endl;
    return 0;
}

1051 数位之和

#include <iostream>
using namespace std;;
int main()
{
    int n;
    cin >> n;
    int sum = 0;
    while (n > 0)
    {
        sum += (n % 10);//每次取出最后一位
        n /= 10;
    }
    cout << sum;
    return 0;
}

今天就先到这里

--------------------------------------------------------------------------------------------------------------------------------------

内容来自网络,如有侵权请联系我删除

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务