1.输入一串字符输入字符串中整数的个数输出找出一个大于给定整数m且紧随m的素数统计老年人各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。输入一串可能包含空格的字符串中数字的个数编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,统计在字符串str中26个小写英文字母各自出现的次数输入一串字符输入字符串中整数的个数输出#include "stdio.h"
#include "string.h"
void main()
{
char a[100];int count;
int test1(char a[]);
printf("输入字符串:\n");
gets(a);
count=test1(a);
printf("整数个数为:%d\n",count);
}
int test1(char a[])
{int i,j,n=0;
for (i=0;a[i]!='\0';i++)
if (a[i]>='0'&&a[i]<='9')
{ for(j=i+1;a[j]!='\0';j++)
if (!(a[j]>='0'&&a[j]<='9')) break;
n++;
i=j;
}
return(n);
}
2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。
#include"stdio.h"
#define N 100
void test2(char ss1[N])
{int i,j,k;
for(i=0;ss1[i]!='\0';i++)
for(j=i+1;ss1[j]!='\0';j++)
if(ss1[j]==ss1[i])
{for(k=j;ss1[k]!='\0';k++)
ss1[k]=ss1[k+1];
j--;
}
}
void main()
{void test2(char ss1[N]);
char ss[N];
printf("input a string\n");
gets(ss);
test2(ss);
printf("output the string\n");
printf("%s\n",ss);}
3.找出一个大于给定整数m且紧随m的素数#include"stdio.h"
void main()
{ int m,n;
int test3(int m);
printf("input a number:m\n");
scanf("%d",&m);
n=test3(m);
printf("the following number is %d\n",n);
}
int test3(int m)
{int t=0,i;
while (t!=1)
{ m=m+1;
i=m-1;
while(i>1)
{ if(m%i !=0) i--;
else break;
}
if (i==1) t=1; /*说明m已除遍m-1至2,都除不尽,所以m是素数)*/
}
return(m);
}
4.统计老年人各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。#include "stdio.h"
# define N 10
# define M 10
void test4(int a[N],int b[M])
{int i,k;
for(i=0;i
{ k=a[i]/10;
b[k-6]++;
}
}
void main()
{int a[N],i;
int b[N]={0};
printf("input age:>60and <160");
for(i=0;i
{scanf("%d",&a[i]);
if (a[i]<60||a[i]>160){ printf("input error");i--;}
}
test4(a,b);
printf("\n");
for(i=0;i
printf("%d<=age
}
5.计算并输出k以内最大的10个能被13或17整除的自然数之和。
#include"stdio.h"
int test5(int k)
{int count=0,sum=0;
while(count<10)
{if(k%13==0||k%17==0)
{count++;
sum=sum+k;
}
k--;
}
return(sum);
}
void main()
{