(4)输出整数各位数字:输人一个整数number,从高位开始逐位分割并输出它的各位
数字。试编写相应程序。
输人输出示例
Enter a number:123456
输出
1 2 3 4 5 6
#include <iostream>int main()
{int m = 0, i = 1, j = 1, k = 1;int count = 0;printf("Enter m:\n");scanf("%d", &m);char szNum[20] = { 0 };//20位装int64都够用了do {int n = m % 10;m = m / 10;szNum[count] = '0' + n;count++;} while (m > 0);for (i = count - 1; i >= 0; i--) {char c = szNum[i];printf("%c", c);if (i > 0) {printf(" ");}}
}
孪生素数是指两个素数的差值刚好是2,比如3和5,5和7,11和13都是孪生素数。19和23不是孪生素数。
根据题目给定的范围【n,m】,求出其中的孪生素数并输出。如果范围内有多对孪生素数,输出最小的那对。如果没有孪生素数,则输出“none"
例如给定【100,110】,应输出孪生素数为101和103。再给定【1000,1100】,应输出:1019和1021
例如给定【120,130】,不存在孪生素数,应输出none
输出的字符串none全是小写
输入输出格式
输入格式
输出两个正整数n和m,表示闭区间的两端,中间用空格分隔,题目保证:2≤n≤m≤1,000,000,000
输出格式
如果存在孪生素数,则按照从小到大的顺序输出这两个素数,中间用空格分隔。
如果不存在孪生素数,则输出:none
int IsPrimeNum(int n)
{for (int i = 2; i < n; i++){if (n % i == 0){return 0;}}return 1;
}int main()
{int m = 0, n=0;int count = 0;printf("Enter n,m:\n");scanf("%d %d", &n, &m);int flag = 0;for (int i = n; i <= m; i++){if (IsPrimeNum(i) == 1){if (i + 2 <= m){if (IsPrimeNum(i + 2) == 1){printf("%d %d\n", i, i + 2);flag = 1;break;}}}}if (flag == 0){printf("none");}
}
8.高空坠球。皮球从height(米)高度自由落下,触地后反弹到原高度的一半,再落
下,再反弹……如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反
弹的高度是多少?输出保留1位小数。试编写相应程序。
int i, n;
int repeat, ri;
double distance, height;
//scanf("%d", &repeat);//可以支持多次重复
//for (ri = 1; ri <= repeat; ri++)
{scanf("%lf%d", &height, &n);distance = height;while (n > 0) {height = height / 2;distance = distance + height * 2;n--;}distance = distance - height * 2;printf("distance = %.1f, height = %.1f\n", distance, height);
}