c语言上机考试设计题及答案,C语言程序设计基础上机考试一题目及参考答案.doc...

C语言程序设计基础上机考试一题目及参考答案

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()

{

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值