分享
 
 
 

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下调试通过.

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有