教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

C语言实验题目1-3-4-5-6-7-8及扩展练习

来源:网络收集 时间:2026-05-15
导读: C语言实验题目 谭浩强 C程序设计 第三版 实验1 1.5 请参照本章例题,编写一个C程序,输出以下信息: ******************** Very good! ******************** 1.6 编写一个程序,输入a,b,c三个值,输出其中最大者。 实验3 3.7 要将China译成密码,密码规律是

C语言实验题目

谭浩强 C程序设计 第三版

实验1

1.5 请参照本章例题,编写一个C程序,输出以下信息:

********************

Very good!

********************

1.6 编写一个程序,输入a,b,c三个值,输出其中最大者。

实验3

3.7 要将"China"译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母'A'后面的字母是'E',用'E'代替'A'。因此,China 应译为'Glmre'。请编写一个程序,用赋值的方法使 c1,c2,c3,c4,c5 5个变量的值分别为'C','h','i','n', 'a',经过运算,使c1,c2,c3,c4,c5的值分别变为'G''l''m''r''e',并输出。

实验4

4.8 设圆的半径r=1.5,圆柱的高h=3,求圆的面积,圆球的表面积,圆球的体积,圆柱体积。用scanf输入数据,输出计算结果,输出时要有文字说明,取小数点后2位数字。请编写程序。

4.9 输入一个华氏温度,要求输出摄氏温度。公式为 5c (F 32) 9输出要求有文字说明。

实验5

5.5 有一个函数: x 1 x y 2x 11 x 10

3x 11x 10

编程序,输入x值,输出y值。

5.6 给一个百分制成绩,要求输出等级 A 、 B 、 C 、 D 、 E 。 90分以上为 A ,80~90分为 B ,70~79分为 C , 60~69分为 D ,60分以下为 D 。

5.7 给定一个不多于5位的正整数,要求:① 求它是几位数;② 按逆序打印出各位数字。例如原数为321,应输出123。

实验6

6.2 输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数。

6.3 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。

6.6 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+33。

6.8 求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,……前20项之和。

实验7

7.2 用选择法对10个整数从小到大排序。

7.3 求一个3×3矩阵对角线元素之和。

7.4 已有一个已排好序的数组,输入一个数,按原来排序的规律将它插入到数组中的适当位置并输出插入后的数组各元素。

7.5 数组的顺序查找算法:对任意输入的一个数,在数组中进行查找,若能找到,输出相应的数组元素下标,否则输出“查找失败”。

查找过程:从数组的一端开始逐个进行数组元素和给定值的比较

实验8

8.2 求方程ax2+bx+c=0 的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

8.3 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。

8.4 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。

8.0 用函数实现以下程序:

主选单:

a.考试成绩判定

b.求1-100的质数

c.输出乘法口诀表

d.求水仙花数

e.退出

你的选择是:

为帮助大家掌握指针、结构体和文件三部分的主要内容,建议输入并运行以下各程序,体会程序的功能和实现方法。

指针

1、输入两个数,并使其从大到小输出

main()

{ int *p1,*p2,*p,a,b;

scanf("%d,%d",&a,&b);

p1=&a; p2=&b;

if(a<b)

{ p=p1; p1=p2; p2=p;}

printf("a=%d,b=%d\n",a,b);

printf("max=%d,min=%d\n",*p1,*p2);

}

2、将数从大到小输出

swap(int x, int y)

{ int temp;

temp=x;

x=y;

y=temp;

}

main()

{ int a,b;

scanf("%d,%d",&a,&b);

if(a<b) swap(a,b);

printf("\n%d,%d\n",a,b);

}

用指针实现:

swap(int *p1, int *p2)

{ int p;

p=*p1;

*p1=*p2;

*p2=p;

}

main()

{ int a,b;

int *pointer_1,*pointer_2;

scanf("%d,%d",&a,&b);

pointer_1=&a; pointer_2=&b;

if(a<b)swap(pointer_1,pointer_2);

printf("\n%d,%d\n",a,b);

}

3、数组元素的引用方法

#include "stdio.h"

main()

{ int a[5],*pa,i;

for(i=0;i<5;i++)

a[i]=i+1;

pa=a;

for(i=0;i<5;i++)

printf("*(pa+%d):%d\n",i,*(pa+i));

for(i=0;i<5;i++)

printf("*(a+%d):%d\n",i,*(a+i));

for(i=0;i<5;i++)

printf("pa[%d]:%d\n",i,pa[i]);

for(i=0;i<5;i++)

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

}

4、指针变量的运算

#include “stdio.h”

void main()

{ int a []={5,8,7,6,2,7,3};

int y,*p=&a[1];

y=(*--p)++;

printf("%d ",y);

printf("%d ",a[0]);

}

5、指针的当前值

#include "stdio.h"

main()

{ int i,*p,a[7];

p=a;

for(i=0;i<7;i++)

scanf("%d",p++);

printf("\n");

for(i=0;i<7;i++,p++)

printf("%d",*p);

}

6、将数组a中的n个整数按相反顺序存放

#include "stdio.h"

void inv(int x[], int n)

{ int t,i,j,m=(n-1)/2;

for(i=0;i<=m;i++)

{ j=n-1-i;

t=x[i]; x[i]=x[j]; x[j]=t;

}

}

main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2};

inv(a,10);

printf("The array has been reverted:\n");

for(i=0;i<10;i++)

printf("%d,",a[i]);

printf("\n");

}

指针实现:

#include "stdio.h"

void inv(int *x, int n)

{ int t,*p,*i,*j,m=(n-1)/2;

i=x; j=x+n-1; p=x+m;

for(;i<=p;i++,j--)

{ t=*i; *i=*j; *j=t; }

}

main()

{ int i,a[10]={3,7,9,11,0,6,7,5,4,2};

inv(a,10);

printf("The array has been reverted:\n");

for(i=0;i<10;i++)

printf("%d,",a[i]);

printf("\n");

}

结构体

统计候选人选票

#include <stdio.h>

struct person

{ char name[20];

int count;

}leader[3]={"Li",0,"Zhang",0,"Wang",0} ;

main()

{ int i,j;

char leader_name[20];

for(i=1;i<=10;i++)

{ scanf( …… 此处隐藏:4350字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言实验题目1-3-4-5-6-7-8及扩展练习.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1714179.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)