c语言简单程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言简单程序相关的知识,希望对你有一定的参考价值。
问题描述
在中国数学历史上广泛流传着一个“韩信点兵”的故事。韩信点兵时,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记录最末一个士兵的报数为1;
按从1至6报数,记录最末一个士兵的报数为5;
按从1至7报数,记录最末一个士兵的报数为4;
按从1至11报数,记录最末一个士兵的报数为10;
你知道韩信至少有多少兵?
【输入输出说明】无输入,输出至少应有的士兵数。
int main()
int i;
for(i=10;;i+=11)
if(i%5==1&&i%6==5&&i%7==4)break;
printf("%d\\n",i);
return 0;
参考技术A int NumberOff(int soldierCount,int baseNumber);
void Calc();
void main()
Calc();
/*
* 报数
*/
int NumberOff(int soldierCount,int baseNumber)
return soldierCount%baseNumber;
/*
* 简单粗暴的计算人数
*/
void Calc()
int soldierCount = 0;
while (1)
soldierCount++;
if (NumberOff(soldierCount, 5) == 1 && NumberOff(soldierCount, 6) == 5 && NumberOff(soldierCount, 7) == 4 && NumberOff(soldierCount, 11) == 10)
printf("There are %d soldier(s)", soldierCount);
break;
追问
求破
#include <stdio.h>
int main()
int i;
for(i = 1; ; ++i)
if(i % 5 == 1 && i % 6 == 5 && i % 7 == 4 && i % 11 == 10)
break;
printf("%d\n", i);
return 0;
本回答被提问者和网友采纳
c语言简单程序解释一下
两个升序列,[1,3,5],[4,6,7],利用指针把他们合并成一个序列并升序输出,可以定义一个新的数组
#include <stdio.h>
#define A_NUM 3
#define B_NUM 3
#define C_NUM A_NUM+B_NUM
void display(int *p,int c[])
for(p=c; p-c< 6;) //p-c<什么意思啊?
printf("%d ",*p++);
printf("\n");
int *unite(int a[], int b[],int c[])
int *pa, *pb, *pc;
pa = a;
pb = b;
pc = c;
while(pa-a<A_NUM && pb-b<B_NUM) //括号里面意思不明白
if(*pa<*pb)
*pc++=*pa++;
else
*pc++=*pb++;
while(pa-a<A_NUM)
*pc++=*pa++;
while(pb-b<B_NUM)
*pc++=*pb++;
return pc;
main()
int a[A_NUM]=1,3,5;
int b[B_NUM]=4,6,7;
int c[C_NUM],*p;
p = unite(a,b,c);
display(p,c);
pa-a,pa-b,pa-c我不太清楚什么意思啊?
恩,,没办法,我悟性差啊
开始把a赋值给pa,pa的地址是a数组的首地址&a[0],
if(*pa<*pb)
*pc++=*pa++;
该程序采用对指针的操作实现对数据的操作,
pa++是将pa指向了&a[1];
然后用pa-a实际上就是控制它不能超过数组的范围。
和用一个i控制实质没什么区别。
不过这样倒是可以省去一些空间 参考技术A pa是个一维数组,有三个连续的存储空间分别放了:a,b,c这里的意思应该是对pa里的a,b,c进行取内 参考技术B //p-c<什么意思啊?
p和c都是指针,c就是数组的首地址
比如一个数组a[10];
那a就是&a[0]
&a[1] - &a[0]等于1
&a[2] - &a[0]等于2
&a[2] - &a[1]等于1
以此类推。。。 参考技术C 这里的p=c,是将数组c[0]的地址给p,下面用的for循环,*p++就是从c[0]一直到c[5]六个数,所以p-c的值是一直改变的,如果画个图就更好懂了
C[0] <==p p向下移动
C[1]
C[2]
C[3]
C[4]
C[5] 参考技术D 这不是我的那个代码嘛?指针指向数组了
a,b,c是数组的首地址
pa-a,pb-b,pc-c就是代表相应的数组pa,pb,pc指针在数组中遍历了元素的个素
以上是关于c语言简单程序的主要内容,如果未能解决你的问题,请参考以下文章