中M2021春C、Java入门练习第I段——变量、表达式、分支、循环127-133

7-127 Sum of the digits (6 分)
Given a none-negative number, print out the sum of its digits.

Input Format:
A none-negative integer number.

Output Format:
The sum of its all digits.

Sample Input:
123
结尾无空行
Sample Output:
6
结尾无空行

#include<stdio.h>
int main()
{
	int n,d;
	int sum=0;
	scanf("%d",&n);
	while(n>0)
	{
	d=n%10;
	n/=10;
	sum+=d;	
	}
	printf("%d",sum);
	return 0;
}

7-128 大于m的最小素数 (10 分)
编程求出大于m的最小素数。

输入格式:
直接输入一个正整数

输出格式:
直接输出结果,没有任何附加格式控制。

输入样例:
12
结尾无空行
输出样例:
13
结尾无空行

#include<stdio.h>
int main()
{
	int n;
	int i,j;
	int flag=0;
	scanf("%d",&n);
	i=n;
	
	do
	{
		i++;
		for(j=2;j<i;j++)
		{
			if(i%j==0)
			{
				flag=1;
			}
		}
	}while(flag=0);
	printf("%d",i);
	return 0;
}

7-129 最佳情侣身高差 (10 分)
专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。

输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:
2
M 1.75
F 1.8
结尾无空行

输出样例:
1.61
1.96
结尾无空行

#include<stdio.h>
int main()
{
	int num,i;
	float h;
	char s;
	scanf("%d",&num);
	
	for(i=1;i<=num;i++)
	{
	scanf(" %c %f",&s,&h);	
	if(s=='M')
	{
	printf("%.2f\n",h/1.09);
	}
	else
	{
	printf("%.2f\n",h*1.09);
	}
	
	}
	
	return 0;
}

7-130 累加器 (10 分)
请你实现一个累加器。输入n个非负整数,输出他们的和。 1<n<1000,而每个数则<10000。

输入格式:
输入包括两行。 第一行:包括一个整数n,表示总共有n个数。 第二行:包含n个整数。

输出格式:
输出n个数的和。

输入样例:
4
3 2 1 4
结尾无空行
输出样例:
10
结尾无空行

#include<stdio.h>
int main()
{	
	int n;
	scanf("%d",&n);
	
	int x[n];
	int i=0,sum=0;
	for(i=0;i<n;i++)
	{
	scanf("%d",&x[i]);	
	}
	
	for(i=0;i<n;i++)
	{
	sum+=x[i];
	}
	printf("%d",sum);
	return 0;
}

7-131 等腰直角三角形 (10 分)
等腰直角三角形是指一个角是直角,且两条直角边相等的三角形。这里我们输出直角边长为n的等腰直角三角形的格式如下所示: 比如n=1,则输出:

n=2,输出:
*
**
n=3,输出:

**


那么,你能用程序来实现么?

输入格式:
输入一个数n,表示三角形的边长。1<n<1000。

输出格式:
输出对应的用*表示的等腰直角三角形。

输入样例:
4
结尾无空行
输出样例:
*
**



结尾无空行

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

7-132 画菱形 (10 分)
菱形是一种特殊的平行四边形,是四条边均相等的平行四边形。题目给出菱形的边长n,用*画出菱形。如n=1,输出:

n=2,输出:


n=3,输出:




那么,你能用程序来实现么?

输入格式:
输入菱形的边长n,1<n<100。

输出格式:
输出对应的用*表示的菱形。

输入样例:
4
结尾无空行
输出样例:
中M2021春C、Java入门练习第I段——变量、表达式、分支、循环127-133

#include <stdio.h>

int main() {
    int n,m=1,i,j,k;
    scanf("%d",&n);
    for(i=1;i<=n;i++){      //上半部分
        for(j=1;j<=n-i;j++){
            printf(" ");
        }
        for(k=1;k<=m;k++){
            printf("*");
        }
        m+=2;
        printf("\n");
    }
    m-=4;
    for(i=n-1;i>0;i--){     //下半部分
        for(j=i;j<=n-1;j++){
            printf(" ");
        }
        for(k=1;k<=m;k++){
            printf("*");
        }
        m-=2;
        printf("\n");
    }
    return 0;
}


7-133 666 (10 分)
中国人非常喜欢6这个数字,因为大家总爱说66大顺啊。数学狂人李某人喜欢把什么都数字化,于是她把顺利这个词也定义了数量级,6代表1级顺利,66代表2级顺利,666代表3级顺利,以此类推。你看,数学狂人的世界总是让人无法理解。今天,李某人决定将数学进行到底,现在她设前n级顺利的和是sn。

sn=6+66+666+…+66…66(n个6)。
假设你已经知道了数字n,那么,你能帮李某人求出sn么?

输入格式:
输入一个正整数n,n的范围是[0,10)。

输出格式:
输出Sn的值。

输入样例:
2
结尾无空行
输出样例:
72
结尾无空行

#include<stdio.h>
int main()
{
	int n;
	int x=6;
	int sum=0;
	scanf("%d",&n);
	for(;n>0;n--)
	{
	sum+=x;	
	x=x*10+6;
	}

	printf("%d",sum);
	return 0;
}
上一篇:myeclipse中tomcat启动常见问题(一)


下一篇:(数据科学学习手札133)利用geopandas绘制拓扑着色地图