#include<bits/stdc++.h> using namespace std; int book[10]; int main(){ int n; while(cin>>n){ //int book[10]; while(n){ int num=n%10; if(book[num]==0){ book[num]++; cout<<num; } n=n/10; } return 0; } }
时间: 2024-02-14 15:25:38 浏览: 112
这段代码是一个从一个整数中提取不重复数字的程序。它使用了一个book数组来记录数字是否出现过。代码的逻辑如下:
1. 声明一个整数数组book,用于记录数字是否出现过。
2. 进入一个无限循环,通过cin输入一个整数n。
3. 在内层循环中,将n的个位数取出并赋值给变量num。
4. 判断book[num]是否等于0,即判断数字num是否已经出现过。
5. 如果book[num]等于0,则将book[num]加1,并输出num。
6. 将n除以10,舍弃个位数,继续下一轮循环直到n为0。
7. 返回0,结束程序。
该程序的作用是将输入的整数中的不重复数字依次输出。例如,如果输入的整数为11223344,则输出结果为1234。
相关问题
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ int book[10]; while(n){ int num=n%10; if(book[num]==0){ book[num]++; cout<<num; } n=n/10; } return 0; } }
这段代码是一个从一个整数中提取不重复数字并输出的程序,与之前的代码相比,唯一的区别是将book数组的声明位置修改为了while循环内部。
这样做的效果是,在每次输入一个新的整数时,都会重新初始化book数组,将数组中的元素都置为0。这样可以确保每个整数都被单独处理,不会受到之前处理过的整数的影响。
其余部分的逻辑和之前的代码是相同的。程序会不断输入整数n,并从n中提取不重复数字并输出。
请注意,这段代码中有一个问题,即return 0;语句位于while循环内部。这意味着程序在处理完第一个整数后就会立即退出,而无法继续处理后续的整数。如果你想要处理多个整数,请将return 0;语句移动到while循环之后。
#include<bits/stdc++.h> using namespace std; int main() { }这是什么
这是一个 C++ 代码的基本框架。代码包含了头文件 `<bits/stdc++.h>`,这是一个包含了所有 C++ 标准库头文件的头文件,可以方便地使用 C++ 标准库中的各种函数和类。
在 `main()` 函数内部,可以编写代码实现具体的功能逻辑。这段框架代码中没有任何实际的功能实现,只是一个空壳。
阅读全文