C语言新手求助!!!急!!!
问题描述:
10个人围成一圈,编号依次从1到10.从编号为1的人开始从1到3报数,凡报数是3的人退出圈子.编写程序输出依次出列的人的编号.(用选择,循环语句以及数组知识编写)
解析:
新手当然要照顾了 所以一个代码一个代码的给你加注释。。
看明白了最好自己在做一边
这题有很多做法 给你一个最好理解的例子吧 但是这个代码的效率。。。。。
代码如下:
#include <stdio.h>/*头文件*/
#define M 10 /*宏定义 可直接改变圈的大小*/
#define N 3 /*可定义 从1数到 几 退出这个圈子*/
void main()/*主函数*/
{
int a[M];/*定义数组*/
int i;/*用做循环等*/
int x = 1; /*数到几*/
int y = 0;/*最近M次循环里有多少个人已经出去这个圈*/
int k = 1;/*while的开关变量*/
for(i=0; i<M; i++)/*给数组赋值*/
{
a[i] = i+1;
}
while(k)
{
for(i=0; i<M; i++)/*M个为一组按照下标过滤*/
{
if(a[i] == 0)/*判断这个a[i]位置上的人是否已经出圈*/
{
y++;/*如果出圈变量加一*/
continue;/*退出本次循环*/
}
if(x == N)/*a[i]上的人没有出圈 而且正好数到N*/
{
printf("%d ",a[i]);/*显示这个人的编号*/
a[i] = 0;/*用0代替 代表已经出圈*/
x = 1;/*数 数重新从1 开始*/
}
else/*a[i]上的人没有出圈 但还没有数到N*/
{
x++;/*继续数下一个数*/
}
}
if(y == M)/*如果M个为一组全都已经出圈 代表圈里已经没有人了*/
{
k = 0;/*退出while循环程序结束*/
}
else/*圈里还有人*/
{
y = 0;/*把y置0待下次for循环时重新计数*/
}
}
printf("\n");/*可有可无*/
getch();/*可有可无*/
}
结果为
3 6 9 2 7 1 8 5 10 4
你可以更改程序中的M N的数字来改变要求。
多做做题有好处 ,祝你快点进步。!
由于百度对对齐的处理非常差 所以你可以到这里看代码
bababian/photozoom.sl?pictureid=B16AE5B1739602D1F2A716DB4EA83D52DT&size=6&viewID=DB4A5B6DABA0D***********D07C8135UR
如果看不清 请右键 另存后在看 。
百度 老岩 gabmyd@126
新手如何学习C语言?
1.学习基础知识:首先,你需要了解计算机的基本概念,如硬件、软件、操作系统等。此外,还要学习计算机编程的基本概念,如变量、数据类型、运算符、控制结构等。2.选择合适的教材和资源:选择一本适合初学者的C语言教材,如《CPrimerPlus》或《C程序设计语言》。同时,可以在网上找到许多免费的教程和资源,...
新手怎样学习C语言?有什么技巧?
1.选择合适的教材和资源:选择一本适合初学者的C语言教材,如《CPrimerPlus》或《C程序设计语言》。此外,还可以利用在线教程、视频课程和编程社区来获取帮助和解答疑问。2.理解基本概念:在学习C语言之前,先了解一些基本的编程概念,如变量、数据类型、运算符、控制结构等。这些概念是学习C语言的基础。3...
C语言新手求助!!!急!!!
分类: 电脑\/网络 >> 程序设计 >> 其他编程语言 问题描述:10个人围成一圈,编号依次从1到10.从编号为1的人开始从1到3报数,凡报数是3的人退出圈子.编写程序输出依次出列的人的编号.(用选择,循环语句以及数组知识编写)解析:新手当然要照顾了 所以一个代码一个代码的给你加注释。。看明白了...
编程语言python新手怎么学
1、编程环境的安装和使用 2、输入输出语句、变量、表达式的理解和使用 3、选择结构、循环结构的理解和使用 4、列表的使用 5、文件的操作 6、函数调用的方法 7、库的安装和使用 编程,其实就是利用特定的语言控制计算机,或者说和计算机进行交流。一、对于python零基础作为初学者,要掌握以下基础知识就算...
我是一个c语言的新手,请大家多多帮忙. 谢谢!
所谓C语言就像我们E语言(English)一样,只是他是用于电脑这个国度的通用语言(有可能是他们的Official Language),不会因为你英语不好而导致C语言不好,这就像有些人不会英语会日语一样,先学语法,多多使用,还好在电脑世界当中没有Speaking C languange,所以没必要大声背C语言,勤写多用,有助于你走向成功...
新手汇编语言求助:输入多个有符号整数,并从小到大排序。
先用dos指令键入数 MOV AH,01H INT 21H 排列大小可以用冒泡法,采用内外双重循环,即从数组第一个字节单元开始,与相邻的数比较,其中较大的数又与下一单元字节进行比较,直到数组最后一个字节单元,至此,内循环完成。接着外循环,给内循环重新赋予地址指针和计数值,从第二个字节单元开始新一轮两两...
C语言新手求助,老师布置的作业一头雾水。
\/\/第一行不确定,不写 I say:"How are you?"\\C Program\\ Turbo 'C'其实就是让你体验下反斜杠'\\'的作用啦……第3题了解了反斜杠的作用,这里就直接可以用了:其实只要在每个你想显示的双引号前面加一个反斜杠就可以了。(当然,有个小偷懒的地方,要是输入的时候直接输入中文输入法的双引号,...
大学时学习c语言,新手有哪些技巧可以快速入门?
大学学习c语言的时候,新手写编程有些难,这个时候,我建议你,先去买一些书籍,研究一下,然后,可以去网络上找一些课程,学习一下。我记得我当时就是这样,然后大概学了三天之后就入门了,接下来,我就是在我电脑上每天写编程,写了一段时间之后,就感觉无所不会,无所不能了。
C语言新手求助!!!
LZ您好 PI是不是左值,下面不能初始化赋值,还有函数返回值不对 include <stdio.h> define PI 3.14159 float fun (int n){ return PI*n;} void main(){ int n;printf("Input n:");scanf("%d",&n);printf("%f",fun (n));} include <stdio.h> define PI 3.14159 float fun(int ...
c语言 新手 哪位大虾帮忙
只是一个运算优先级的问题 改装一下你就很明白了 上面的童鞋已经说的很明白了 (--ptr2>=ptr1) 等价于 ( (--ptr2) >=ptr1)这样很清楚了吧
裴琦归灵: 这个问题可以说很多人问过,说实在的我也问了好多遍,现在来看我觉得学习C语言也不是很难 学习C语言重要的是兴趣,其次就是你要找一本很适合自己的书来学,我买了很多C语言的书,感觉都没什么的,其实平时自己到图书馆买一本讲解...
南浔区15566493710: C语言如何实现任意数排列组合,新手求助,急 - ?
裴琦归灵: 1. 求排列组合没有简单方法.方法只有一个,枚举. 2. 有几个位置需要列举,就需要几个循环.如果循环数量太多,可以用函数递归来枚举. 例程: 1 2 3 4 5 6 7 8 9 10 11 12 13#include<stdio.h> intmain(){inta[4]={1,3,4,7}; //第一个位置...
南浔区15566493710: C语言新人求助 ...?
裴琦归灵: 这b=1;c=2;d=3;就是3条语句,if的范围只包括b=1,后面的c=2;d=3;不属于if 注意if的条件判断是赋值(=),不是相等(==).
南浔区15566493710: 新手初学C语言求教~~~?
裴琦归灵: 可以点击“调试”下面的开始调试或开始运行按钮也可以按快捷键:调试程序按F5键 输出指令按ctrl+F5键即可 VC++6.0中文企业版支持WIN7系统
南浔区15566493710: 初学C语言问题求解... - ?
裴琦归灵: c语言中有位操作,但没有位类型,假设有位类型,我们取名叫bit,那么bit这种类型的长度就是1,那么你说1位能表示多少个数呢?如果你是初学者可能会说10个数:0~9,但是计算机是使用二进制计数的,也就是说计算机只认识0和1,所以,...
南浔区15566493710: C语言新手,求解??急 - ?
裴琦归灵: #include<stdio.h>#include<math.h> int main() { float a,b,c,t,p,q; printf("请输入二次函数的三个系数:\n"); scanf("%f%f%f",&a,&b,&c); t=b*b-4*a*c; p=-b/(2*a); q=sqrt(t)/(2*a); if(t==0) printf("二次函数只有一个实数根:%f\n",p); else if(t>...
南浔区15566493710: C语言编辑新人求助 - ?
裴琦归灵: 如果光考虑China那还好#include<stdio.h>int main(){char c1='C',c2='h',c3='i',c4='n',c5='a';printf("%c%c%c%c%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);return 0;}如果是要随便输入且考虑26个字母循环转换的话,用一个变量最好!
南浔区15566493710: C语言新手求助! - ?
裴琦归灵: #include<stdio.h>#include<stdlib.h> int main() { void staver (double s[][5]); void subaver (double s[][5]); void max (double s[][5]); double a[10][5]; int m,n; for (m=0;m<10;++m) { for (n=0;n<5;++n) scanf("%lf",&a[m][n]); } staver(a); subaver(a); max(a); ...
南浔区15566493710: C语言新人求助?
裴琦归灵: #include <stdio.h> main () { int input,i,num,temp; char a[10]; printf("Please input a number within 5-digit\n"); scanf("%d",&input); temp=input; for (i=0;input%10;i++,input/=10) { a[i]=input%10+'0'; } a[i]=0; num=i; printf("This is a %d-digit number\...
南浔区15566493710: 新手求C语言代码 - ?
裴琦归灵: #include<stdio.h> int main( ) { printf("请输入一个字符...\n"); char ch;//首先定义一个 变量(ch), 用来存放 用户输入的 内容 scanf("%c",&ch);//注意此处是 %c(即按字符的形式来接受 用户输入;%d(是按 整型的方式来接受输入)) if (ch == 'a') //将用户输入进来的'内容'和'a'进行比较.注意在'C语言'中'相等'是用'=='来表示的. { printf("%d\n",4); //还用 '斜杠'反了. }else { printf("what\n"); }return 0; }