王朝知道
分享
 
 
 

c语言 编程

王朝知道·作者佚名  2009-11-03  
宽屏版  字体: |||超大  
 
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
 
问题描述:

1.有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

2.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

3、用一维数组解如下问题:读取20个在10到100之间的不重复的整数。每读取一个值时,如果它与已读取的值不重复,就打印该值。用尽可能小的数组解决这个问题。

4、编程将由‘0’~‘9’组成的数字字符串转换为数。例如输入“12345”,输出12345。

5、Eratoshenes筛选是一种寻找素数的方法,该方法表述如下:

1)创建一个一维数组,把所有的元素初始化为1(表示真),下标为素数的元素保持1不变,其它下标的元素最终被置为0

2)从数组下标2出发,每次发现值为1的数组元素时,则看其后的所有元素,把下标是它们倍数的那些元素置为0。例如,对下标2来说,凡是2的倍数的下标(4,6,8,10,···)都将其元素置为0,对下标3来说,凡是否的倍数的下标(6,9,12,15,···)将其元素置为0。

当以上过程结束后,仍为1的数组元素的下标就是素数,将这些下标打印输出即可。编写程序,用含有1000个元素的数组确定并打印出1~999之间的所有素数

6、编程求5*5矩阵主、次对角线的元素之和

7、学生成绩统计。某班共6名学生,学习6门功课(数学分析,高等代数,大学物理,计算导论,经济学,英语),每门功课有平时,期中和期末三项成绩,按平时占20%,期中占30%,期末占50%,求每人每门功课的平时成绩和各个人6门功课的平均成绩及总平均成绩,最后要求按各人平均成绩的高低排序并打印成表格

8、已知一个有限输入字符集合?={a,b},写一个程序能够识别集合L={anbn:0≤n≤N}。

说明:该问题实质上是判定输入字符串是否呈现aa ··· abb ··· b (a,b均为n个) 。设字符串string有c个字符,则c=2n,且string[1]=··· =string[n]=a, string[n+1]= ··· =string[2n]=b (或进一步有这样的关系string[1],string[2]··· ,string[n]={a}, string[n+1],string[n+2],··· ,string[2n]={b})。

9、编写程序,在一个字符串数组中查找字符串“Hello”,如果找到输出所在的行号,否则输出“not found”。

10、若s和t是用是用一维数组存储的两个串,设计一个算法将串s首次与串t匹配的子串逆置

11、下面的程序段把二维数组sales(3×5)的各个元素置为0,说明该程序段把元素设置为0 的顺序。

参考答案:

#include <stdio.h>

/*

3、用一维数组解如下问题:读取20个在10到100之间的不重复的整数。每读取一个值时,如果它与已读取的值

不重复,就打印该值。用尽可能小的数组解决这个问题。

*/

void noRepeat() {

int a[20];

int i;

int j;

int count = 0;

printf("\n请输入20个10-100的整数:\n");

for (i=0; i<20; i++) {

scanf("%d",&a[count]);

if (a[count]<10 || a[count]>100) {

printf("输入错误!\n");

i--;

continue;

}

for (j=0; j<count; j++) {

if (a[count] == a[j]) {

break;

}

}

if (j == count) {

printf("[%d]\n",a[count]);

count++;

}

}

}

/*

5、Eratoshenes筛选是一种寻找素数的方法,该方法表述如下:

1)创建一个一维数组,把所有的元素初始化为1(表示真),下标为素数的元素保持1不变,其它下标的元素

最终被置为0

2)从数组下标2出发,每次发现值为1的数组元素时,则看其后的所有元素,把下标是它们倍数的那些元素置

为0。例如,对下标2来说,凡是2的倍数的下标(4,6,8,10,···)都将其元素置为0,对下标3来说,

凡是否的倍数的下标(6,9,12,15,···)将其元素置为0。

当以上过程结束后,仍为1的数组元素的下标就是素数,将这些下标打印输出即可。编写程序,

用含有1000个元素的数组确定并打印出1~999之间的所有素数

*/

void Eratoshenes() {

int a[1000];

int i;

int j;

for (i=2; i<1000; i++) {

a[i] = 1;

}

for (i=2; i<1000; i++) {

if (a[i] == 1) {

for (j=2; j*i<1000; j++) {

a[j*i] = 0;

}

}

}

for (i=2; i<1000; i++) {

if (a[i] == 1) {

printf("%d ",i);

}

}

}

/*

7、学生成绩统计。某班共6名学生,学习6门功课(数学分析,高等代数,大学物理,计算导论,经济学,英语),

每门功课有平时,期中和期末三项成绩,按平时占20%,期中占30%,期末占50%,求每人每门功课的平时成绩和

各个人6门功课的平均成绩及总平均成绩,最后要求按各人平均成绩的高低排序并打印成表格

*/

void func_average(int s[6][6][3], int a[6]){

int i;

int j;

float temp;

for (i=0; i<6; i++) {

temp = 0;

for (j=0; j<6; j++) {

temp += s[i][j][0] * 0.2f + s[i][j][1] * 0.3f + s[i][j][2] * 0.5f;

}

a[i] = (int)(temp / 6);

}

}

void func_score() {

int score[6][6][3] = {

{{10,10,10},{10,10,10},{10,10,10},{10,10,10},{10,10,10},{10,10,10}},

{{20,20,20},{20,20,20},{20,20,20},{20,20,20},{20,20,20},{20,20,20}},

{{30,30,30},{30,30,30},{30,30,30},{30,30,30},{30,30,30},{30,30,30}},

{{40,40,40},{40,40,40},{40,40,40},{40,40,40},{40,40,40},{40,40,40}},

{{50,50,50},{50,50,50},{50,50,50},{50,50,50},{50,50,50},{50,50,50}},

{{60,60,60},{60,60,60},{60,60,60},{60,60,60},{60,60,60},{60,60,60}}

};

char name[6][20] = {"abc","xyz","def","ghi","aaa","bbb"};

int average[6] = {0};

int index[6];

int i;

int j;

int temp;

func_average(score,average);

for (i=0; i<6; i++) {

index[i] = 0;

for (j=0; j<6; j++) {

if (average[index[i]]!=-1 && average[j]>=average[index[i]]) {

index[i] = j;

}

}

average[index[i]] = -1;

}

func_average(score,average);

for (i=0; i<6; i++) {

printf("%4s",name[index[i]]);

for (j=0; j<6; j++) {

temp = (int)(score[index[i]][j][0] * 0.2f +

score[index[i]][j][1] * 0.3f + score[index[i]][j][2] * 0.5f);

printf("%3d",temp);

}

printf("%3d\n",average[index[i]]);

}

}

/*

8、已知一个有限输入字符集合?={a,b},写一个程序能够识别集合L={anbn:0≤n≤N}。

说明:该问题实质上是判定输入字符串是否呈现aa ··· abb ··· b (a,b均为n个) 。

设字符串string有c个字符,则c=2n,且string[1]=··· =string[n]=a, string[n+1]= ···

=string[2n]=b (或进一步有这样的关系string[1],string[2]··· ,string[n]={a}, string[n+1],

string[n+2],··· ,string[2n]={b})。

*/

void f(char *str) {

int i = 0;

int j = 0;

char a;

char b;

char *p;

a = str[0];

for (i=0,p=str; *p!=0; p++,i++) {

if (a != *p) {

b = *p;

break;

}

}

for (j=0; *p!=0; p++,j++) {

if (b != *p) {

printf("不属于集合!\n");

return;

}

}

if (i == j) {

printf("属于集合!\n");

} else {

printf("不属于集合!\n");

}

}

void main() {

// Eratoshenes();

// noRepeat();

// func_score();

f("cccdddcc");

}

程序在vc6.0下调试通过.

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有