教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

C语言实验总答案(5)

来源:网络收集 时间:2026-05-14
导读: printf(\ gets(s); for(i=strlen(s)-1,j=0;i>=0;i--,j++) { result[j]=s[i]; } printf(\ puts(result); } 运行结果(改正后的程序) Enter a string : asdfg This is the reverse string: gfdsa 2. 编程:任意输一

printf(\ gets(s); for(i=strlen(s)-1,j=0;i>=0;i--,j++) { result[j]=s[i]; } printf(\ puts(result); }

运行结果(改正后的程序) Enter a string : asdfg

This is the reverse string: gfdsa

2. 编程:任意输一个字符串保存在一维字符数组中,求其长度(不用strlen函数)。例如: Input a string: aadfdg length=6

提示:字符串的有效长度就是有效字符的个数,即数组中第一个‘\\0’前面的字符个数。

3. 编程:任意输入两个字符串分别保存在一维字符数组中,把第二个字符串连接到第一个字符串末尾(不用strcat函数)。例如:

Input two string:

asdfg erty

after strcat: asdfgerty

4. 编程:从键盘读入两个字符串分别保存在一维字符数中,比较两个字符串大小(不用strcmp函数),输出较大的字符串。

5. 编程:任意输入一个字符串保存在一维字符数组中,判断里面数字字符的个数。例如: Input a string: adg4521gadg4adg number: 5

6. 编程:从一个字符串中删除从某个特定字符开始的所有字符。例如原字符串为\,特定字符为'd',删除后的字符串为\。

7. 编程:编写程序,从一个输入的字符串中抽取一部分(从第n个字符开始,抽取m个字符)构成一个新的字符串,并输出。要求:n和m都由用户输入。

8. 编程:利用字符串库函数puts, gets, strcat, strcmp, strcpy, strlen完成下述操作: 提示:字符串库函数strcat, strcmp, strcpy, strlen在教材212页有介绍。

? 读入三个字符串str1,str2,str3 ? 输出这三个字符串

? 分别求出这三个字符串的长度; ? 比较str1和str2的大小;

? 将str2连接到str1之后,并输出连接后的str1; ? 复制str3到str1,并输出复制操作后的str1;

选作题:

输入一个小写字母组成的英文句子,统计该句子有几个英文单词,并统计每个字母出现的次数,并将句子中每个单词的首字母大写后输出。

如:输入: this is a cat!

输出: 4个单词;

每个字母出现次数t:2 h:1 i:2 s:2 a:2 c:1 This Is A Cat!

实验6 数组

一、一维数组实验

2. 编程:输入长度为10的整型数组并输出;然后将其逆序存放后再输出。例如: Input 10 number: 0 1 2 3 4 5 6 7 8 9 After reversed: 9 8 7 6 5 4 3 2 1 0 #include void main() {

int i, j, a[10], t;

printf(\

for(i=0; i<10; i++) /*读入数据*/ scanf(\

printf(\

for(i=0; i<10; i++) /*输出原始数据*/ printf(\

printf(\

for(i=0,j=9; i

t=a[i]; a[i]=a[j]; a[j]= t; }

printf(\输出逆序存放后的数据*/ for(i=0; i<10; i++) printf(\

printf(\

}

3. 编程:输入n个(1

Input n: 5

Input 5 integer: 8 2 5 1 4 max=8 index=0 min=1 index=3 average=4

#include void main() {

int i, n , max, min, a[10], sum; float average;

printf(\ scanf(\

if(1

printf(\输入数据并求累加和*/ for(i=0, sum=0; i

scanf(\ sum+=a[i]; }

average=(float)sum/n; /*求出平均值*/

for(i=0, max=0, min=0; i

if(a[i] > a[max]) max= i;

if(a[i] < a[min]) min= i; }

printf(\ printf(\ printf(\} else

printf(\数据超出范围\

}

4. 编程:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求这位选手的平均得

分并输出(去掉一个最高分和一个最低分)。

#include

void main() {

int i, max, min; float a[10], ave;

printf(\请输入10个评委的打分:\

for(i=0, ave=0; i<10; i++) /*输入分数并求累加和*/ {

scanf(\ ave+=a[i]; }

for(i=0, max=0 , min=0; i<10; i++) /*求最大、最小值的下标*/ {

if(a[i]>a[max]) max=i;

if(a[i]

ave=ave-a[max]-a[min]; ave=ave/8;

printf(\该选手的评委打分是:\for(i=0; i<10; i++)

printf(\printf(\

printf(\去掉最高分%.2f,去掉最低分%.2f,该选手的平均得分是%.2f\\n\

a[min], ave);

}

5. 编程:用两种方法输出斐波那切数列的前40项(参考例6-4)。 要求: (1)方法1:不使用数组; #include void main() {

int f1=1, f2=1, f3, i;

printf(\ for(i=3; i<=40; i++) {

}

}

f3=f1+f2;

printf(\if(i%5==0)

printf(\f1= f2; f2= f3;

(2)方法2:使用一维数组。 #include void main() {

int i;

int fib[40];

fib[0]=fib[1]=1; }

6. 编程:输入n个(1

Input n: 5

Input 5 number: 8.5 2.3 5.1 1.4 4.9 After sorted: 8.50 5.10 4.90 2.30 1.40 #include void main() {

int i, j, n; float a[10], t;

printf(\ scanf(\

if(n>1 && n<=10) {

for(i=2; i<40; i++) /*计算其余的38个数*/ fib[i]= fib[i-1] + fib[i-2]; for(i=0; i<40; i++) {

printf(\ if((i+1)%5==0) printf(\}

…… 此处隐藏:743字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言实验总答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412690.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)