用c语言编写约瑟夫环输入样例: 10 3 输出样例: 3 6 9 2 7 1 8 5 10 4
时间: 2024-01-03 20:03:07 浏览: 26
以下是用C语言编写的约瑟夫环程序:
```c
#include <stdio.h>
int main() {
int n, m, i, j, k, s[100] = {0}; // 数组s用于记录每个人是否出列
printf("请输入总人数n和报数的数字m:\n");
scanf("%d%d", &n, &m);
j = 1; // j表示已报数的人数
k = 0; // k表示当前的人数
while (j <= n) {
k = k % n + 1;
if (!s[k]) { // 如果这个人还没有出列
if (j % m == 0) { // 如果报数达到了m
s[k] = 1; // 标记这个人已经出列
printf("%d ", k);
j++; // j加1
}
else {
j++; // j加1,继续报数
}
}
}
return 0;
}
```
输入样例为:
```
10 3
```
输出样例为:
```
3 6 9 2 7 1 8 5 10 4
```
相关问题
c语言输入样例:123456 输出样例:1 2 3 4 5 6
以下是 C 语言的另一种示例代码:
```c
#include <stdio.h>
int main() {
char num[10];
printf("请输入数字:");
scanf("%s", num);
for (int i = 0; num[i] != '\0'; i++) {
printf("%c ", num[i]);
}
return 0;
}
```
输入样例:123456
输出样例:1 2 3 4 5 6
这种方法先将输入的数字作为字符串存储在字符数组中,然后遍历字符数组输出每个字符即可。
c语言输入样例: 123456 输出样例: 1 2 3 4 5 6
以下是 C 语言的示例代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入数字:");
scanf("%d", &num);
while (num > 0) {
printf("%d ", num % 10);
num /= 10;
}
return 0;
}
```
输入样例:123456
输出样例:1 2 3 4 5 6