C语言例题系列-------第八天

//15、有17个人围成一圈(编号为1-17),从第1号开始进行1、2、3报数,凡报3者退出,
//下一个人又从1开始报数..........直到最后一个人时为止。请问此人原来的位置是多少号?
#include<stdio.h>
int main()
{
int p[18]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int i=1,j=1,k=1,m=17;
do
{
if(p[i])
{
if(j++>=3)//报1个数
{
p[i]=0;
j=1;
m--;
}
else
k=i;
if(m<=1)break;
}
if(i>=17)//如果是最后一个元素,下一个元素就是p[1]
i=1;
else//否则就是p[i+1]
i++;
}while(1);//不停地循环,直到需要停止
printf("%d\n",k);
return 0;
}
//16、有一行文字,要求删去其中某个字符。此行文字和要删除的字符均由键盘输入
/*#include<stdio.h>
int main()
{
char str1[100],str2[100];
char ch;
int i=0,k=0;
printf("\nplease input a phase\n");
while((str1[i]=getchar())!=‘\n‘)//给str1数组赋值
i++;
str1[i]=‘\0‘;//在字符串的最后加一个‘\0‘作为结束标志 
printf("\nDelete?");
scanf("%1s",&ch);
for(i=0;str1[i]!=‘\0‘;i++)
{
if(str1[i]!=ch)
str2[i-k]=str1[i];
else
k=k+1;
}
str2[i-k]=‘\0‘;
printf("\n%s\n",str2);
return 0;
}
*/
/*#include<stdio.h>
int main()
{
char a[10];
char b;
int i,j;
printf("please enter chars:");
gets(a);
printf("please enter delete char:");
b=getchar();
for(i=0;i<10;i++)
{if(a[i]==b)
for(j=i;j<10;j++)
{
a[j]=a[j+1];
}
}
printf("%s\n",a);
return 0;
}
*/
时间: 2024-10-16 15:44:48

C语言例题系列-------第八天的相关文章

C语言例题系列-------第七天

//13.将10个整数数储存在一个数组中,设计一个程序输出这个数组的最大值和最小值 //书上的答案: /*#include<stdio.h> int main() { int max,min,a[10]; int i; for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=min=a[0]; for(i=1;i<=9;i++) { if(a[i]>max)max=a[i]; if(a[i]<min)min=

C语言例题系列-------第十天

//19.100个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元, //每3个小学生花1元,问大,中,小学生的人数分配共有多少种不同的解 //(去掉某类学生为零的解)?  //这是我写的程序,答案是3种 /*#include<stdio.h> int main() { int i,j,k; int count=0; for(i=1;i<20;i++) { for(j=1;j<33;j++) { for(k=3;k<300;k+=3) {   if(5*

C语言例题系列------第十一天

//21.自然数对是指两个自然数的和与差都是平方数,如果8和17的和8+17=25与其差 //17-8=9都是平方数,则称8和17是自然数对(8,17).假定(A,B)与(B,A)是 //同一个自然数对且假定A>=B,求所有小于或等于100(即:A<=100,B<=100)的 //自然数对中B之和.  #include<stdio.h> #include<math.h> int main() { int A,B,sum,sub,y=0; for(B=1;B<

C语言例题系列---------第十二天

//23.已知24有8个正整数因子(1,2,3,4,6,8,12,24),而24正好被因子个数8整除. //求[1,100]之间第十个能被其因子数整除的数  //这是我写的代码,答案是56 /*#include<stdio.h> int main() { int i,j,a,b=0; for(i=1;i<=100;i++) { for(j=1,a=0;j<=i;j++) { if(i%j==0) a++; } if(i%a==0) b++; if(b>9) break; } 

C语言例题系列--------第十三天

//25. 从键盘输入3个整数,要求设3个指针变量p1,p2,p3,使p1指向3个数中的最大者, //p2指向次打大者,p3指向最小者,然后按由大到小的顺序输出这3个数. #include<stdio.h> void compare(int * p1,int *p2,int * p3) {   int t;   if(*p1<*p2)  {   t=*p1;   *p1=*p2;   *p2=t;   }   if(*p1<*p3)  {   t=*p1;   *p1=*p3;  

C语言例题系列--------第十四天

//27.有一个整型二维数组,大小为m x n,要求找出其中最大值所在的行和列以及该最大值. //请编写一个函数max,要求如下: //(1)以数组名和数组大小为该函数的形参 //(2)数组元素的值在main函数中输入,结果在函数max中输出  /*#include<stdio.h> int max(int x[3][4],int m,int n) { int max=x[0][0]; int i,j; for(i=0;i<m;i++) for(j=1;j<n;j++) if(ma

C语言例题系列--------第十五天

//29.输入3行字符(每行60个字符以内),要 //求统计出其中共有多少大写字.小写字母.空格及标点符号  #include<stdio.h> #include<string.h> int main() {  char str[3][60],(*p)[60];  int i,j,up,low,space,comma;  up=0;low=0;space=0;comma=0;  printf("input three strings\n");  for(i=0;

C语言例题系列-------第一天

//1.输入一个正数a和一个负数b,求a+|b|的值,以浮点型输出,绝对值函数为fabs() #include<stdio.h> #include<math.h> int main()//此处的int代表的是返回值的类型,也就是return 0; { int a,b,sum; scanf("%d%d",&a,&b); sum=a+fabs(b); printf("sum=%d\n",sum); return 0; } //2.

C语言例题系列-------第二天

//3.编写一个程序,从5个整数中找出最小的数. //(so easy!写不出来,找块豆腐,撞死自己算了,哈哈^_^) #include<stdio.h> int main() { int a,b,c,d,e,min; printf("请输入5个整数:\n"); scanf("%d%d%d%d%d",&a,&b,&c,&d,&e); min=a; if(min>b)min=b; if(min>c)min