c语言 旅馆里有一百个房间,从1到100编了号

作者&投稿:栾凤 (若有异议请与网页底部的电邮联系)
C语言,100个房间的问题~

#include#include//初始化要用这个头文件using namespace std;int main(){int i, j;bool f[102];//表示房间状态,这里使用了bool型memset(f, 0, sizeof(f));//初始化房间f,0为关,1为开for (j = 1; j <= 100; ++j){for (i = 1; i <= 100; ++i){if (i % j == 0) //判断第i号房间是否为服务员j的倍数{if (f[i] == 0) //做相反操作f[i] = 1;else f[i] = 0;}}}for (i = 1; i <= 100; ++i)if (f[i] == 1) //把所有打开的房间输出printf("%d ",i); //注意空格 别粘在一起了return 0;}

#include #include /*第一题*/#define N 26void PrintChrArr(){int i,j,k,x;for( i=0; i 0; x-- )printf("%c",('A'+x-1)); printf("
");}} int main(int argc, char *argv[]) {PrintChrArr();system("pause");return 0;}
#include #include #define N 256/* 第16题 */void reverse(char *arr,int num){ char tem; int j=0; while( j < num/2 ) { tem=arr[j]; arr[j]=arr[num-j-1]; arr[num-j-1]=tem; j++; }}int main(int argc, char *argv[]) {char str[N];int i;scanf("%s",str);printf("原序:%s
",str);reverse(str,strlen(str));printf("逆序:%s
",str);system("pause");return 0;}
第13题:
#include #include #define N 33 /* 如果你的计算机是32位就将N定位 33,如果你的计算机是64位的就将N定为 65 *///针对32位的整数void IntToBinary(int num,char* str){int i; for( i=0; i < N-1 ; i++ )str[i]=(num&(1<<(31-i)))?'1':'0';str[i]='\0'; }int main(int argc, char *argv[]) {char str[N];int num,i;scanf("%d",&num);IntToBinary(num,str);printf("%d的二进制为:%s",num,str);system("pause"); return 0;}

for (k = 1; k <= 100; k++)
if (a[j]) printf("%d ", j);

改成 if(a[k]) printf("%d",k);
此时你的j已经是一个定值。。。a[j]一定为0 ,不管k怎么变,都不会影响你的判断。。。

c++代码:开关门

【题目描述】

宾馆里有n(2≤n≤1000)n(2≤n≤1000)个房间,从1∼n1∼n编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是22的倍数的房间“相反处理”,第三个服务员把所有编号是33的倍数的房间作“相反处理”…,以后每个服务员都是如此。当第nn个服务员来过后,哪几扇门是打开的。(所谓“相反处理”是:原来开着的门关上,原来关上的门打开。)

【输入】

房间数nn。

【输出】

一行,由小到大的打开门的房间序号,各序号之间用一个空格隔开。

【输入样例】

100

【输出样例】

1 4 9 16 25 36 49 64 81 100

【代码样例】

#include<bits/stdc++.h>

using namespace std;

int a[2000],i,j,n,first=1;

int main(){

cin>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

if(j%i==0) a[j]=!a[j];

for(i=1;i<=n;i++)

if(a[i]==1){

if(first==1) first=0;//开始不用输出空格

else cout<<" ";

cout<<i;//输出打开的门

}

return 0; 

}

网页链接




汾西县18277073093: C语言,100个房间的问题 -
无高先瑞: 1 4 9 16 25 36 49 64 81 100 #include void main(){ int i,j; int a[101]={1}; for (i=1;i<101;i++){ for (j=i;j<101;j+=i){ if (a[j]) a[j]=0; else a[j]=1; } } for (i=1;i<101;i++) if (a[i]) printf("%d\n",i); }

汾西县18277073093: 百人关百灯问题 -
无高先瑞: #include<stdio.h> void main() { int i,j=0,k=0; int a[100]; for(i=0;i<100;i++) a[i]=-1;//将数组全部赋值为-1for(i=1;i<=100;i++)for(j=1;j<=100;j++) if(i%j==0) a[i-1]=a[i-1]*(-1);for (i=0;i<100;i++) if(a[i]!=-1) k++; printf("%d\n",k); } 其实还可以写的更好点,你自己想想怎么写吧

汾西县18277073093: free pascal的基本语句,赋值
无高先瑞: 赋值的操作: a : = b; 变量+冒号+等号+代数式; 判断语句: if (代数式 逻辑运算符 代数式) then begin end; 多重判断语句 在end语句后面加上else语句,用来判断上一条判断语句所判断的情况之外的情况. 例如,编写一个根据输入的分...

汾西县18277073093: c语言实现顺序表建立,插入,删除功能,要求变量为结构 -
无高先瑞: #include <stdio.h>#include <malloc.h>#include <stdlib.h> typedef struct Node { int id; int time; int sex; int jb; int fangjian; struct Node *next; }SLNode; void ListInitiate(SLNode * * head) { if((*head = (SLNode * )malloc(sizeof(SLNode))) == NULL) exit(1)...

汾西县18277073093: pascal旅馆的房间 -
无高先瑞: 楼上的答案绝对是错误的,则其程序也有错 正确的答案是1,4,9,16,25,36,49,64,81,100 即各完全平方数 这可以用数学方法证明 每扇门都有标号,标号的因子个数决定了这扇门开或关 普通的数至少可以被1和它本身整除,这样门都至少被改变2次 ...

汾西县18277073093: c语言指针不同表达 - >是什么意思 -
无高先瑞: c语言指针不同表达->是什么意酥刚刖褪且桓鍪莸牡刂罚热纾阂桓龇考淅锓抛攀荩刚胂嗟庇谡飧龇考涞

汾西县18277073093: C语言编程题..定义一个用于描述旅馆的结构体,包括以下成员:名称、地址、级别、房价、房间数. -
无高先瑞: struct Hotel { char name[20]; char address[200]; int level; float price_of_house; int num_of_house; }; 楼上给的结构体可以,但是name和address要申请动态空间才可以用,这里你直接申请堆栈空间,设置成数组即可

汾西县18277073093: C语言问题 -
无高先瑞: 在程序提示你选饭店的时候输入1~5之间的数就可以运行.头文件与.C文件放一起. while((status=scanf("%d",&code))!=1|| (code<1||code>5)) scanf("%*s"); 从他的执行效果来说 首先进while,开始计算条件是否成立 计算第一个条件status=...

汾西县18277073093: 用c++编写一个程序:有 100 个囚犯分别关在 100 间牢房里.牢房外有一个空荡荡的房间,房间里有一个由开 -
无高先瑞: #include <iostream> #include <ctime> using namespace std;int getNumber() { return (rand() % 100) ; } int main() { int day = 0; int toggle = 0;//0表示灯关闭,1表示灯打开 int all[100] = { 0 };//100个犯人的状态,0表示没来过,1表示来过 int count = 0...

汾西县18277073093: C++ 求每个房间面积,然后全部相加 得出整个房子的面积和. -
无高先瑞: C++程序:#include using namespace std; int main() { int number; int sum=0; int width; int length; cout cin>>number; for(int i=0;i { cout cin>>length; cout cout cin>>width; cout sum+=length*width; } cout //system("pause"); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网