XJTU大计基第九周编程作业

第四次大计基作业

题目描述:
编写程序将4个字符构成的字符串用替换加密法编码为密文,其中加密规则是:将原来的字母用字母表中其后的第3个字母替换。注意,最后3个字符用前3个替换,如x用a替换。
输入输出格式:
输入:4个字符
输出:4个字符


样例输入:
ABcx
样例输出:
DEfa

#include<stdio.h>
int main()
{
char a[4];
for(int i=0:i<4:i++)
scanf("%c",&a[i]);
for(int i=0;i<4;i++)
{
if(a[i]==x)
printf("a");
else if(a[i]==y)
printf("b");
else if(a[i]==z)
printf("c");
else if(a[i]==X)
printf("A");
else if(a[i]==Y)
printf("B");
else if(a[i]==Z)
printf("C");
else 
printf("%c",a[i]+3);
}
return 0
}
  1. 闰年计算。程序输入一个正整数Y,以及另一个正整数N,以一个空格分隔。计算从Y年开始后的第N个闰年是哪一年(如果Y本身是闰年,则Y之后的第一个闰年是Y)。

程序输入:
Y N

程序输出:
Y年开始后的第N个闰年


样例输入:
2005 3
样例输出:
2016

#include<stdio.h>
int main()
{
    int Y, N;
    scanf_s("%d %d", &Y, &N);
    for (Y; N > 0; Y++)
    {
        if ((Y % 4 == 0 && Y % 100 != 0) || Y % 400 == 0)
            N--;
    }
    printf("%d", Y- 1);
    return 0;
}
  1. 某城市最高的楼有一部电梯,该电梯依照输入楼层数的先后次序运行。电梯最初在0层。运行完一个输入序列后就停止在该楼层,不返回0层。编写程序计算电梯运行一个序列的时间。电梯每上1层需要6秒。每下1层需要4秒。如在某层停留,无论上下人多少,均停留5秒。

程序输入:
电梯的运行序列。楼层的值大于等于1,小于100 , 0在序列中表示结束序列输入。比如输入序列为 2 1 0, 则意味着电梯先从0层升至2层停留,然后再降至1层停留。

程序输出:
每个序列电梯运行的时间(秒)


样例输入:
2 1 0
样例输出:
26

#include <stdio.h>
int main()
{
	int current_floor;
	int next_floor;
	int sum;
	current_floor = 0;
	sum = 0;
	int diff;
	scanf_s("%d", &next_floor);
	while (next_floor != 0)
	{
		diff = next_floor - current_floor;
		if(diff>0)
		{
			sum = sum + diff * 6;
		}
		if (diff<0)
		{
			sum = sum + (-diff) * 4;
		}
		sum = sum + 5;
		current_floor = next_floor;
		scanf_s("%d", &next_floor);
	}
	printf("%d", sum);
	return 0;
}

编写一个程序,当输入一个字符串后,要求不仅能够统计其中字符的个数,还能分别指出其中大、小写字母、数字以及其他字符的个数。

程序输入:
待统计的字符串

程序输出:
五个数值依次为大、小写字母、数字、其他字符和总共含有的字符个数,以空格分隔


样例输入:
I enjoyed reading these books very much
样例输出:
1 32 0 6 39

/*
大、小写字母、数字、其他字符和总共含有的字符个数,以空格分隔
*/
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100];
    gets(a, 100);
    int i, length = 0, big = 0, small = 0, num = 0, other = 0,total=0;
    i = strlen(a);
    for (int j = 0; j < i; j++)
    {
        if (a[j] == '\0')
            break;
        else if (a[j] >= 'A' && a[j] <= 'Z')
            big++;
        else if (a[j] >= 'a' && a[j] <= 'z')
            small++;
        else if (a[j] >= '0' && a[j] <= '9')
            num++;
        else
            other++;
        total++;
    }
    printf("%d %d %d %d %d", big, small, num, other, total);
    return 0;
}

请输入一个正整数(如:7654321),然后将该整数按照标准的三位分节格式输出(逗号是西文的逗号,如 7,654,321)

程序输入:
待分节的正整数

程序输出:
分节后的正整数


样例输入:
3456789
样例输出:
3,456,789

#include<stdio.h>
int main()
{
    char a[20] = {0};
    int  s;
    int i = 0;
    scanf_s("%d", &s);
    while (1)
    {
        a[i] = s % 10 + '0';
        s = s / 10;
        if (s == 0)
            break;
        i++;
    }
    printf("%c", a[i--]);
    for (i; i >=0; i--)
    {
        if ((i + 1) % 3 == 0)
            printf(",%c", a[i]);
        else
            printf("%c", a[i]);
    }
    return 0;
}

输入一个整数n(n>=2),判断n是否为素数。是素数输出 “YES”, 否则输出 “NO”。
程序输入:
整数n

程序输出:
是素数输出 “YES”, 否则输出 “NO”。


样例输入:
7
样例输出:
YES

#include<stdio.h>
int main()
{
	int n,j;
	int k = 0;
	scanf_s("%d", &n);
	for (j = 1; j < n; j++)
	{
		if (n % j == 0)
			k++;
	}
	if (k == 1)
		printf("YES");
	else
		printf("NO");
	return 0;
}

题目描述:
从键盘输入一个正整数(>1),然后将该整数分解为1和各个质因子的相乘,如果输入的整数本身就是质数,则应分解为1和该数本身相乘。

输入输出格式:
输入: 1个整数
输出:因子分解,因子由小到大输出。如:1223


样例输入:
18
样例输出:
1233

#include<stdio.h>
int main()
{
	int a,j,i;
	scanf_s("%d", &a);
	printf("1");
	while (a >= 2)
	{
		for (i = 2; i <= a; i++)
		{

			if (a % i == 0)
			{
				a = a / i;
				printf("*%d", i);
				break;
			}
		}
	}
		return 0;
}

猜你喜欢

转载自blog.csdn.net/Jefferymeng/article/details/105640372