文档库 最新最全的文档下载
当前位置:文档库 › C语言常见实验题目汇总

C语言常见实验题目汇总

C语言常见实验题目汇总
C语言常见实验题目汇总

C语言实验汇总

目录

1.输入1个三位数,求这个数的逆序数(例176——>671): (3)

2.输入两个数字,求最大公约数和最小公倍数 (3)

3.求e的近似值,精确到小数位后6位 (4)

4.猴子吃桃问题 (5)

5.输出单词的个数 (6)

6. 百万富翁问题 (6)

7. 有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数? (7)

8. 输入某年某月某日,判断这一天是这一年的第几天 (7)

9. 输入三个整数x,y,z,请把这三个数由小到大输出 (8)

10. 斐波那契数列 (9)

11. 判断101-200 之间有多少个素数,并输出所有素数 (9)

12.求100以内的素数 (10)

13.打印所有的水仙花数 (10)

14. 将一个正整数分解质因数 (11)

15. 统计输入字符数 (12)

16. 求S=a+aa+aaa+aaaa+aa...a的值 (12)

17.找出1000 以内的所有完数 (13)

18.打印一个菱形 (13)

19. 有一分数序列,求前20项和 (14)

21.冒泡法:10数排序 (15)

22.选择法:10数排序 (15)

23.判断一个五位数是否是回文数 (16)

24.星期几问题 (16)

25.折半查找法查找数组元素 (17)

26.字符串链接(非strcat) (18)

27. 二维数组“鞍点” (19)

28.转置矩阵 (19)

29.统计不同的数字个数 (20)

30.高精度加法 (20)

31.回文串 (21)

32.合并字符串 (22)

33.字符串寻找 (22)

34. 求一个3×3 矩阵对角线元素之和 (23)

35. 数组数据的插入 (23)

36.杨辉三角 (24)

37.魔方阵 (24)

38.求10位整数各位和 (26)

39.判断素数 (26)

40.查找字符串中最长的单词 (27)

41.递归法求阶乘 (28)

43.三个数排序(指针) (29)

44.三个字符串排序(指针) (29)

45.二维数组行列互换(指针) (30)

46.n人围圈问题 (30)

47.两个字符串判断是否相等 (31)

48.定积分 (31)

49.正数、负数、零统计 (32)

50.数组移位 (33)

1.输入1个三位数,求这个数的逆序数(例176——>671):

printf(“请输入三位整数:”);

scanf(“%d”,&e);

f=e/100;//分解百位数字

g=e/10%10;//分解十位数字

h=e%10;//分解个位数字

i=h*100+g*10+f;

printf(“逆序数:%d”,i);

2.输入两个数字,求最大公约数和最小公倍数

3.求e的近似值,精确到小数位后6位

4.猴子吃桃问题

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少桃子。

5.输出单词的个数

由键盘输入一个句子(总字符个数从1 个至80个均有可能,以回车符表示结束),以空格分割单词。

6. 百万富翁问题

一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m元,而你第一天只需给我一分钱。第二天我仍给你m元,你给我2 分钱。第三天,我仍给你m元,你给我4分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月。百万富翁很高兴,欣然接受这个契约。现要求,编写一个程序,由键盘输入m,计算多少天后,百万富翁开始亏钱。

7. 有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?

main()

{

int i,j,k;

printf("\n");

for(i=1;i<5;i++) /*以下为三重循环*/

for(j=1;j<5;j++)

for (k=1;k<5;k++)

{

if (i!=k&&i!=j&&j!=k) /*确保i、j、k 三位互不相同*/

printf("%d,%d,%d\n",i,j,k);

}

}

8. 输入某年某月某日,判断这一天是这一年的第几天

main()

{

int day,month,year,sum,leap;

printf("\nplease input year,month,day\n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)/*先计算某月以前月份的总天数*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

default:printf("data error");break;

}

sum=sum+day; /*再加上某天的天数*/

if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;

else

leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;

printf("It is the %dthday.",sum);

}

9. 输入三个整数x,y,z,请把这三个数由小到大输出

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x>y)

{t=x;x=y;y=t;} /*交换x,y的值*/

if(x>z)

{t=z;z=x;x=t;}/*交换x,z的值*/

if(y>z)

{t=y;y=z;z=t;}/*交换z,y的值*/

printf("small to big: %d %d %d\n",x,y,z);

}

10. 斐波那契数列

古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

main()

{

long f1,f2;

int i;

f1=f2=1;

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

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("\n");/*控制输出,每行四个*/

f1=f1+f2; /*前两个月加起来赋值给第三个月*/

f2=f1+f2; /*前两个月加起来赋值给第三个月*/

}

}

11. 判断101-200 之间有多少个素数,并输出所有素数

#include "stdio.h"

#include "math.h"

main()

{

int m,i,k,h=0,leap=1;

printf("\n");

for(m=101;m<=200;m++)

{ k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)

break;

if(i>=k+1)

{

printf(“%d”,m);

n=n+1;

}

If(n%10==0)

printf(“\n”);

}

}

12.求100以内的素数

#include

#include

void main()

{

int i,j,n,a[101];

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

a[i]=i;

a[1]=0;

for(i=2;i

for(j=i+1;j<=100;j++)

{

if(a[i]!=0 && a[j]!=0)

if(a[j]%a[i]==0)

a[j]=0;

}

printf("\n");

for(i=1,n=0;i<=100;i++)

{

if(a[i]!=0)

{

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

n++;

}

if(n==10)

{

printf("\n");

n=0;

}

}

printf("\n");

}

13.打印所有的水仙花数

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为153=13+53+33。

main()

{

int i,j,k,n;

printf("'water flower'number is:");

for(n=100;n<1000;n++)

{

i=n/100;/*分解出百位*/

j=n/10%10;/*分解出十位*/

k=n%10;/*分解出个位*/

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) {

printf("%-5d",n);

}

}

printf("\n");

}

14. 将一个正整数分解质因数

例如:输入90,打印出90=2*3*3*5. int main()

{

int n,i;

printf("\nplease input a number:\n"); scanf("%d",&n);

printf("%d=",n);

for(i=2;i<=n;i++)

{

while(n!=i)

{

if(n%i==0)

{ printf("%d*",i);

n=n/i;

}

else

break;

}

}

printf("%d",n);

return 0;

}

15. 统计输入字符数

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

#include "stdio.h"

main()

{

char c;

int letters=0,space=0,digit=0,others=0;

printf("please input some characters\n");

while((c=getchar())!='\n')

{

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letters++;

else if(c==' ')

space++;

else if(c>='0'&&c<='9')

digit++;

else

others++;

}

printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,

space,digit,others);

}

16. 求S=a+aa+aaa+aaaa+aa...a的值

其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。

main()

{

int a,n,count=1;

long int sn=0,tn=0;

printf("please input a and n\n");

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

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

while(count<=n)

{

tn=tn+a;

sn=sn+tn;

a=a*10;

++count;

}

printf("a+aa+...=%ld\n",sn);

}

17.找出1000以内的所有完数

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。#include

int main()

{

int m,s,i;

for(m=2;m<1000;m++)

{

s=0;

for(i=1;i

if((m%i)==0)

s=s+i;

if(s==m)

{

printf("%d,its factors are ",m);

for(i=1;i

if(m%i==0)

printf("%d ",i);

printf("\n");

}

}

return 0;

}

18.打印一个菱形

#include

int main()

{

int i,j,k;

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

{

for(j=0;j<=2-i;j++)

printf(" ");

for(k=0;k<=2*i;k++)

printf("*");

printf("\n"); }

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

for(j=0;j<=i;j++) printf(" "); for(k=0;k<=4-2*i;k++) printf("*"); printf("\n"); } }

19. 有一分数序列,求前20项和

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20 项之和。 #include

int main() {

int n,t,number=20; float a=2,b=1,s=0;

for(n=1;n<=number;n++) {

s=s+a/b; t=a; a=a+b; b=t; }

printf("sum is %9.6f\n",s); }

20.求 n!20n=1

#include void main() {

float s=0,t=1; int n;

for(n=1;n<=20;n++) {

t=t*n; s=s+t; }

printf("1!+2!+3!+…+20!=%e",s);

}

21.冒泡法:10数排序

#include

void main()

{

int a[10];

int i,j,t;

printf("input 10 number:\n");

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

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

printf("\n");

for(j=0;j<9;j++)

for(i=0;i<9-j;i++)

if(a[i]>a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf("the sorted numbers:\n");

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

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

printf("\n");

}

22.选择法:10数排序

#include

void main()

{

int i,j,min,temp,a[11];

printf("enter data:\n");

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

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

printf("\n");

printf("The original numbers:\n");

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

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

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

{

min=i;

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

if(a[min]>a[j])

min=j;

temp=a[i];

a[i]=a[min];

a[min]=temp;

}

printf("\nThe sorted numbers:\n");

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

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

printf("\n");

}

23.判断一个五位数是否是回文数

例如12321是回文数,个位与万位相同,十位与千位相同。

main( )

{

long ge,shi,qian,wan,x;

scanf("%ld",&x);

wan=x/10000;

qian=x%10000/1000;

shi=x%100/10;

ge=x%10;

if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/

printf("this number is a huiwen\n");

else

printf("this number is not a huiwen\n");

}

24.星期几问题

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

#include

void main()

{

char letter;

printf("please input the first letter of someday\n");

while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/ {

switch (letter)

{case 'S':printf("please input second letter\n");

if((letter=getch())=='a')

printf("saturday\n");

else if ((letter=getch())=='u')

printf("sunday\n");

else printf("data error\n");

break;

case 'F':printf("friday\n");break;

case 'M':printf("monday\n");break;

case 'T':printf("please input second letter\n");

if((letter=getch())=='u')

printf("tuesday\n");

else if ((letter=getch())=='h')

printf("thursday\n");

else printf("data error\n");

break;

case 'W':printf("wednesday\n");break;

default: printf("data error\n");

}

}

}

25.折半查找法查找数组元素

26.字符串链接(非strcat)

27. 二维数组“鞍点”

找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

28.转置矩阵

键盘输入一个3×4的矩阵,要求输出它的转置矩阵(行成列,列成行)。

29.统计不同的数字个数

由键盘输入20 个整数,统计不同数字的个数。

30.高精度加法

由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80 位),试计算并输出这两个数的和。

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

c语言实验答案

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n "); printf(" | |\n"); printf("---+---+---\n "); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么?//The program gets two integers,and

computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,produc t and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=% d\n",a,b,a+b); printf("%d-%d=% d\n",a,b,a-b); printf("%d*%d=% d\n",a,b,a*b); printf("%d+%d=% f\n",a,b,1.0*a/b); //做除法时要注意,除得的

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

C语言实验报告参考答案原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

c语言实验题目

实验3 顺序结构编程 (2) 实验4 if分支结构编程 (3) 实验5 if分支结构和switch分支结构编程 (5) 实验6 分支结构嵌套和for循环编程练习 (9) 实验7和while和do-while练习 (12) 实验8 for循环嵌套练习 (15) 实验9 函数设计编程练习 (18) 实验10函数设计编程练习 (20) 实验11 数组编程练习 (23)

实验3 顺序结构编程 实验题目1 输入两个整型数x,y,求x,y之和、差、积、x/y的商和余数 提示: (1)定义整形变量变量int x,y; (2)和、差、积、商和求余数的运算符分别是+、-、*、/、% (3)输入两个整型数可以调用scanf()函数scanf("%d %d", &x,&y); 实验题目2 按下列要求编写程序,对变量a,b,c进行unsigned int型说明,将65赋给a,66赋给b,67赋给c,对变量a,b,c用%c格式输出显示 提示: (1)定义变量unsigned int a ,b,c; (2)字符型数据输出的格式控制符是%c (3)C语言中的赋值符号是=“65赋给a”表示为a = 65; 实验题目3 输入三角形的三条边的边长,求三角形的面积 从键盘输入三个整数,判断能否构成三角形的三边,如果能就计算输出三角形面积,按照下图给出的公式计算三角形的面积: s=(a+b+c)/2 a,b,c代表三角形的三条边 提示1、开根号的数学库函数是sqrt,例如y=sqrt(x),表示求变量x开根号,并把结果赋值给变量y。 2、调用数学库函数必须用如下命令#include 要求:(1)存储三角形三边的变量用double型 (2)打印三角形面积时小数保留两位%.2lf 实验题目4 已知半径r=3.4cm,编程求圆的周长和面积: 提示: (1)定义浮点型变量使用关键字float; (2)浮点型数据输出的格式控制符是%f (3)C语言中没有∏这个符号,编写程序时直接使用3.14159。 (4)C语言中没有求次方的运算符,半径的平方需用乘号*。

c语言实验习题及答案详解

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;, #include<> main() {double b,d; printf("请输入一个小数:"); scanf("%lf",&b); printf("输出原来的数:%f\n",b); b*=1000; b+=; b=(int)b; d=b/1000; printf("输出现在的数:%.3lf\n0",d); } b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30) #include<> main() {int n,sum=0,i,t; printf("请输入一个四位整数:\n"); scanf("%d",&n); for(i=0;i<4;i++) {t=n%10; n/=10; sum+=t*t; } printf("%d\n",sum);

} c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; #include<> main() {char ch; ch='A'; ch=65; ch=0x41; ch=0101; ch='\101'; ch='\x41'; } d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) #include<> main() {int i; for(i=65;i<91;i++) {printf("%c",i); printf("%c",i+32); } printf("\n"); } e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 #include<> main() { double f1,f2; f1=10e-30;

C语言实验答案

一1 #include void main() { int iNum; float fNum=134.23; printf("a=%d\tf=%.2f\n",iNum,fNum); } 一2 #include void main() { int a,b,c,sum=0; scanf("a=%d,%d%d",&a,&b,&c); sum=a+b+c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("sum=%d\n",sum); } 一3

#include void main() { char a,b; scanf("%3c%4c",&a,&b); printf("c1=%c,c2=%c\n",a+1,b-1); } 一4 #include #include void main() { float a; printf("Enter a:"); scanf("%f",&a); printf("The original data is:%f\n\n",a); printf("h=%.2f\n",a); }

一5 #include void main() { int a,b,c,s,e; printf("Please input two numbers:\n"); scanf("%d%d",&a,&b); c=a+b; s=c*c; e=s+s; printf("%d,%d,%d\n",c,s,e); } 一6 #include void main() { float a,b; printf("input a:"); scanf("%f",&a); b=5*(a-32)/9; printf("%.0f(℉)=%.2f(℃)\n",a,b);

C语言程序设计实验-答案

-前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include main() { int r,s; scanf("%d",&r); s=r*r; printf("s=%d\n",s); } 3.-------------------------------- (1) #include main() { printf(" *\n"); printf("***\n"); printf(" *\n"); } (2) #include

{ int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); }

C语言课后实验设计题目及答案

C语言实验题目及答案 1、实验项目一 C程序的编辑、编译、连接和运行 题目:编写程序,要求屏幕上显示如下信息: *********************** This is a C program . *********************** 程序: #include void main() { printf(“***********************\n”); printf(“This is a C programn .\n”); printf(“***********************\n”); } 实验项目二数据类型、运算符、表达式 题目 (1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。 填空 1.double x,root; 2.root=sqrt(x); (2)输入一个大写英文字母,输出相应的小写字母。 填空 1.ch=ch+32; 1、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { printf("This is a Cprogram\n"); return 0;

} 2、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { double x; printf("x="); scanf("%lf",&x); printf("%lf\n",sqrt(x)); return 0; }

C语言实验报告参考答案完整版

C语言实验报告参考答 案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20;

c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。

C语言-数组-实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

C语言实验参考答案

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include main() {float x,y,z,s,t,a; printf(“x,y,z=”); scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3; printf(“s=%f,t=%f,a=%f\n”,s,t,a); } 2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后: 1)用整数输出这两个数的和、差; 2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

main() {int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”); scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0; printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver); } 实验三 1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。 #include main() {int a; char c;

C语言实训题目

2011秋季 1.学生成绩管理系统 功能要求: (1)可以从文件导入或录入多名学生的多门课程的学习成绩;(2)完成按姓名查找学生记录,并显示; (3)排序功能: 按学生平均成绩进行排序; (4)插入功能: 按平均成绩高低插入一条学生记录; (5)要求使用结构体,录入结果存放到文件; 显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 2.个人通讯录 功能需求: (1)可以对多名人物的信息进行输入; (2)显示所有的记录信息,若无记录,则给出提示信息;(3)可以按姓名查询该记录的有关信息; (4)可以按姓名对任意一种记录信息进行删除; (5)可以任意修改记录信息 (6)通过文件储存所输入的记录; (7)可以通过一个文件读入已有的通信录记录;

显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 3.火车订票系统 功能要求: (1)列车原始信息从文件导入或从控制台录入,包括车次、票数等; (2)可以按车次进行列车信息查询; (3)客户对某一天订票,订票成功后,当日的票数需要被更改; (4)客户退票; (5)要求使用结构体; 显示要求: 程序输出菜单,用户按照提示操作,最终得到操作结果。 4、万年历系统 功能要求: (1)从2000年开始,用户输入年份与月份,将显示出该年该月份的日历,对应的星期。 (2)注意闰年情况 显示格式要求如下: (1)第一行显示月份(中英文都可以) (2)下一行显示星期,从周日到周六,中英文都可以 (3)下一行开始显示日期从1号开始,并按其是星期几实际情况与上面的星期数垂直对齐

(4)程序输出菜单,用户按照提示操作,最终得到计算结果。 5、积分的实现 功能要求: (1)使用复合梯形公式求解函数f=1+x 2、f=log(1+x)以及f=1/(1+x2)三个函数的定积分。 (2)积分上下限及步长由C语言函数参数传递。 (3)用户输入函数编号,上下限和步长,程序输入结果。 显示要求: 程序输出菜单,用户按照提示操作,最终得到计算结果。 6、矩阵的运算 功能要求: 使用三个C语言函数分别实现两个矩阵的加、减和相乘功能。结果存放在第三个矩阵中。 并编写程序验证三个函数功能。 每个函数的参数可选择 (1): 二位数组名,行数,列数 (2)指针变量名,行数,列数 返回值: 用户自定义的运算状态,正常或其他异常情况。 显示要求:

c语言上机实验完整答案

%c 字符形式输出, %d 整数形式输出, 实验一 自测练习1 程序代码 #include void main() { int x; scanf("%d",&x); //%d十进制整型,&指x在内 存中的地址。上面 scanf的作用是:按照 x在内存的地址将x 的值存进去, if (x%2 !=0) printf("%d is an odd\n",x); else printf("%d is an even\n",x); }

运行结果 自测练习2 程序代码 #include void main() { int i, sum; i=1 ; sum=0;

while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); } 运行结果 自测练习3 程序代码 #include void main( ) { int i, n; long p;

p=1; printf("Enter n:"); scanf("%d",&n); for (i=1; i<=n; i++) p=p*i; printf(" p=%ld\n", p); } 运行结果 自测练习4 程序代码 #include"stdio.h" int max(int x,int y) {int z; if (x>y) z=x;else z=y; return(z); } void main() {int a,b,c;

scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } 运行结果 自测练习5 程序代码 #include"stdio.h" void main() {int x,y; for(x=0;x<=25;x++) for(y=0;y<=50;y++) if(4*x+y*2==100) printf("兔=%d,鸡=%\n",x,y); } 运行结果

C语言习题与实验

习题与上机实验总的目的和要求 目的: 实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。C 程序设计课程实践性很强,即要求独立编写程序,学会独立上机调试程序。 学会独立上机调试程序。也就是要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实践。对程序设计来说,要求会编写程序并上机调试通过。因此调式程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调式程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“会意”难以“言传”。因此,在实验时不但要达到通过程序完成每一次的实验任务,而且应当在已通过的程序基础上作进一步的修改、提高和完善。甚至于“自设障碍”,即把正确的程序改为有错的(如用scanf函数为输入变量输入数据时,漏写“&”符号,double变量使用格式符“%f”;使数组下标出界;使整数溢出等等),观察和分析所出现的情况。这样的学习才会有真正的收获。实验目的可归纳如下: 1.验证自己已建立起来的概念或所编写的程序是否正确; 2.加深对课堂所学内容的理解和语法规则的记忆; 3.理解和掌握运用计算机高级语言进行编程的思想方法; 4.掌握常用算法的设计与应用实现; 5.熟悉UNIX等程序开发环境,掌握C程序常用的调试手段; 6.学会上机调试程序的方法,不断积累调试经验,提高排错能力; 7.使自己具有独立的应用编程和熟练的程序调试能力。 要求: 1.做好每一次上机前的准备以提高上机效率: ①预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来; ②按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序 所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地方,应作出记号,以便上机时给以注意。 ③将想要上机验证的问题草拟提纲;制定一个简捷的程序调试计划。

c语言实验答案

n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d+%d=%f\n",a,b,*a/b); .+1/n!的值。 #include<> void main() { int n,p=1,i; float sum=0; printf("please input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { p=p*i; sum+=p; } printf("sum=%f\n",sum); } .14 p=j; switch(p) umber); for(j=0;j<3;j++) printf("%",stu[i].score[j]); printf(" ave=%.2f\n",average(stu[i]));umber); printf("score:"); for(j=0;j<3;j++) scanf("%f",&(stu[i].score[j])); } } void main() { struct student stu[3]; //定义结构体数组 input(stu); //数组名做参数,传递的是地址 output(stu); } //静态链表的建立,有三个学生,包括学号(sno char(8)),姓名(sname char(20)),分数(grade float[]), //定义结构体类型数组存学生信息,使用链表所有学生,实现链表的输入输出。 //静态的书上有原题目,我写成动态的了,用子函数的方式实现 #include <> #include<> #include <> struct stu //定义全局结构体 { char sno[8]; char sname[20]; float grade; struct stu *next; } ; //////////////////////////////////////////////////////// void main( ) { struct stu *creat(struct stu *); void print(struct stu*); struct stu *head; head=NULL; head=creat(head); print(head); } ///////////////////////////////////////////////////////// struct stu *creat(struct stu*head) //建立链表 { struct stu *p,*q; q=(struct stu*)malloc(sizeof(struct stu)); //分配空间 printf("please input sno:"); scanf("%s",q->sno); printf("please input sname:"); scanf("%s",q->sname);

C语言实验课题目

目录 实验1 输入输出 (2) 实验2 选择语句 (4) 实验3 循环语句 (5) 实验4 函数 (6) 实验5 指针 (8) 实验6 数组 (9) 实验7 结构体 (10)

实验1 输入输出 要求掌握: 1、VC++平台的使用; 2、C源程序的建立、保存、编译和运行; 3、变量的定义、赋值和运算; 4、printf函数的使用; 5、scanf函数的使用; 6、int、long、float、double、unsigned的含义; 7、关键字、预定义标识符和用户标识符的区别; 8、自加自减运算符的使用。 完成下列题目: 1. 键盘输入与屏幕输出练习 问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的。 #include main() { char a,b; int c; scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); } A)1 2 34 B)1, 2, 34 C)’1’,’2’,34D)12 34 问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示12 34,则应修改程序中的哪条语句?怎样修改? 问题 3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改? 问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改? [提示:利用转义字符输出字符单引号字符。]

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n"); printf(" | |\n"); printf("---+---+---\n"); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么? //The program gets two integers,and computes their sum,difference,product and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,product and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d+%d=%f\n",a,b,1.0*a/b); //做除法时要注意,除得的结果是实数 } //2.2输入半径r的值,求出圆周长,圆面积 #include #define PI 3.14 void main() { int r; float zhouchang,mianji; printf("please input r:"); scanf("%d",&r); zhouchang=2*PI*r; mianji=2*PI*r*r; printf("zhouchang=%f\n",zhouchang ); printf("mianji=%f\n",mianji); } //3.1如何实现下述输出要求? //A.输出整数1234,输出共占8位,数据左对齐。 //B.输出整数1234,输出共占10位,数据右对齐。 //C.输出十六进制整数0xFFDE3C02,输出共占8位,数据左对齐。 //D.输出十六进制整数0xFFDE3C,输出共占8位,数据右对齐,前补0。

(最新版)C语言实验报告(答案)

《C程序设计》实验报告 学期: 教师姓名: 教研室:

实验1 熟悉C语言程序的运行环境,掌握数据描述 1.1 实验目的 1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。 2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。 3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。 1.2 实验预习 1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。 2.了解下列命令及函数:include、main、printf、scanf。 3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。 4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。 int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。 6.常量与变量的区别和联系。 运行环境: 1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。 2.单击“文件”菜单的“新建”命令。 3.在打开的“新建”对话框中选择“文件”标签。 4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。如图所示:

相关文档