中国MOOC, C 语言代码和实验报告总结(5篇范文)

时间:2019-05-12 08:38:02下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《中国MOOC, C 语言代码和实验报告总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《中国MOOC, C 语言代码和实验报告总结》。

第一篇:中国MOOC, C 语言代码和实验报告总结

递归法计算游戏人员的年龄(4分)题目内容:

有n个人围坐在一起,问第n个人多大年纪,他说比第n-1个人大2岁;问第n-1个人,他说比第n-2个人大2岁,.....,问第3个人,他说比第2个人大2岁;问第2个人,他说比第1个人大2岁。第1个人说自己10岁,问第n个人多大年纪。递归函数原型:unsigned int ComputeAge(unsigned int n);提示: 递归公式

输入格式: “%u” 输出格式:

“The person's age is %un”

输入样例1: 5↙

输出样例1:

The_person's_age_is_18 输入样例2: 10↙

输出样例2:

The_person's_age_is_28 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)

时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ unsigned int a,b;scanf(“%u”,&a);b=10+(a-1)*2;printf(“The person's age is %un”,b);

return 0;} 魔术师猜数(4分)题目内容:

在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。要求用函数实现,函数原型:int Magic(int m);其中形参m代表观众计算的和值。输入格式: “%d” 输出格式:

观众计算错误,魔术师给出的结论:“The sum you calculated is wrong!n” 观众计算正确,魔术师给出的结论:“The number is %dn” 输入样例1: 1998↙

输出样例1:

The_sum_you_calculated_is_wrong!输入样例2: 1999↙

输出样例2:

The_number_is_443 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)

时间限制:500ms内存限制:32000kb

#include “stdio.h” int is(int i,int k){ int j=0,ii=i;while(ii){j+=ii%10;ii/=10;} if(j*222==k+i)return 1;else return 0;} int main(){ int i,j,k,sum;scanf(“%d”,&sum);k=0;for(i=100;i<=999;i++)if(is(i,sum)){k=i;break;} if(k==0)printf(“The sum you calculated is wrong!n”);else printf(“The number is %dn”,k);

return 0;} 寻找中位数v1.0(4分)题目内容:

编写一个函数返回三个整数中的中间数。函数原型:int mid(int a, int b, int c);功能是返回a,b,c三数中大小位于中间的一个数。输入格式: “%d%d%d” 输出格式:

“The result is %dn” 输入样例1: 12 6 18↙ 输出样例1: The_result_is_12 输入样例2:-9 7-2↙

输出样例2: The_result_is_-2 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

(注意:在输出中,“_”代表空格,如果直接将上段示例粘贴到代码中,应将其替换为空格。)

时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ int a[4],max,min,ans,i;scanf(“%d%d%d”,&a[1],&a[2],&a[3]);max=1;for(i=1;i<=3;i++)if(a[i]>a[max])max=i;min=1;for(i=1;i<=3;i++)if(a[i]< a[min])min=i;ans=6-max-min;printf(“The result is %dn”,a[ans]);

return 0;} 还原算术表达式(4分)题目内容: 编写程序求以下算式中XYZ的值。

输入格式: 输出格式:“X=%d,Y=%d,Z=%dn” 输入样例: 输出样例: X=3,Y=2,Z=1 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:31kb

#include “stdio.h” int main(){ int x,y,z;for(x=0;x<=9;x++)for(y=0;y<=9;y++)for(z=0;z<=9;z++)if(x*100+y*110+z*12==532)printf(“X=%d,Y=%d,Z=%dn”,x,y,z);

return 0;} 计算礼炮声响次数(4分)题目内容:

在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次礼炮声。输入格式:无 输出格式: n=%d 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include “stdio.h” main(){ int n=0,t;for(t=0;t<=20*7;t++){ if(t%5 == 0 && t <=20*5){ n++;continue;} if(t%6 == 0 && t <=20*6){ n++;continue;} if(t%7 == 0){ n++;} } printf(“n=%dn”, n);} 兔子生崽问题(4分)题目内容:

假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子,试问从一对兔子开始繁殖,一年以后可有多少对兔子(即当年12月份总计有多少对兔子,含成兔和小兔)?请编程求解该问题。

参考答案:依题意,兔子的繁殖情况如图所示。图中实线表示成兔仍是成兔或者小兔长成成兔;虚线表示成兔生小兔。观察分析此图可发现如下规律:(1)每月小兔对数 = 上个月成兔对数。

(2)每月成兔对数 = 上个月成兔对数 + 上个月小兔对数。综合(1)和(2)有:每月成兔对数 = 前两个月成兔对数之和。

用fn(n=1,2,„)表示第n个月成兔对数,于是可将上述规律表示为如下递推公式:

输入格式:无 输出格式:

每个月兔子对数的输出格式: “% 4d” 第12个月的兔子总数的输出格式: “nTotal=%dn” 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include“stdio.h” int main(){ int i,a[13];a[1]=1;a[0]=1;for(i=2;i<=12;i++)a[i]=a[i-1]+a[i-2];for(i=1;i<=12;i++)printf(“% 4d”,a[i]);printf(“nTotal=%dn”,a[12]);

return 0;} 抓交通肇事犯(4分)题目内容:

一辆卡车违犯交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是位数学家,他说:四位的车号刚好是一个整数的平方。现在请根据以上线索帮助警方找出车号以便尽快破案。

[提示]:假设这个4位数的前两位数字都是i,后两位数字都是j,则这个可能的4位数 k = 1000*i + 100*i + 10*j + j 式中,i和j都在0~9变化。此外,还应使k=m*m,m是整数。由于k是一个4位数,所以m值不可能小于31。输入格式:无

输出格式:“k=%d,m=%dn” 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include“stdio.h” int main(){ int i,m,ans;for(m=31;m<=100;m++){ ans=m*m;if(((ans/100)%11==0)&&((ans%100)%11==0))printf(“k=%d,m=%dn”,ans,m);}

return 0;} 检验并打印幻方矩阵。(4分)题目内容:

幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个5×5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。输入格式: “%d” 输出格式:

如果是幻方矩阵,输出提示信息: “It is a magic square!n” 矩阵元素的输出: “% 4d”(换行使用“n”)

如果不是幻方矩阵,输出提示信息: “It is not a magic square!n” 输入样例1: 17_24_1_8_15 23_5_7_14_16 4_6_13_20_22 10_12_19_21_3 11_18_25_2_9(输人样例中“_”代表空格)输出样例1:

It is a magic square!**17**24***1**8**15 **23***5***7**14**16 ***4***6**13**20**22 **10**12**19**21***3 **11**18**25***2***9(输出样例中“*”代表空格)输入样例2: 1_0_1_6_1 3_1_1_1_1 1_1_1_1_2 1_1_1_1_1 9_1_7_1_1(输人样例中“_”代表空格)输出样例2:

It is not a magic square!注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

(输人样例中“_”代表空格,输出样例中“*”代表空格)时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ int a[6][6];int i,j;for(i=1;i<=5;i++)for(j=1;j<=5;j++)scanf(“%d”,&a[i][j]);for(i=1;i<=5;i++){ a[i][0]=0;for(j=1;j<=5;j++)a[i][0]+=a[i][j];if(a[i][0]!=a[1][0]){printf(“It is not a magic square!n”);return 0;} } for(i=1;i<=5;i++){ a[0][i]=0;for(j=1;j<=5;j++)a[0][i]+=a[j][i];if(a[0][i]!=a[0][1]){printf(“It is not a magic square!n”);return 0;} } if(a[1][0]!=a[0][1]){printf(“It is not a magic square!n”);return 0;} a[0][0]=0;for(i=1;i<=5;i++)a[0][0]+=a[i][i];if(a[0][0]!=a[1][0]){printf(“It is not a magic square!n”);return 0;} a[0][0]=0;for(i=1;i<=5;i++)a[0][0]+=a[i][6-i];if(a[0][0]!=a[1][0]){printf(“It is not a magic square!n”);return 0;} printf(“It is a magic square!n”);for(i=1;i<=5;i++){ for(j=1;j<=5;j++)printf(“% 4d”,a[i][j]);printf(“n”);}

return 0;} ISBN识别码判断(4分)题目内容:

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2„„以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+„„+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。程序运行结果示例1: 0-123-41562-4↙ Right 程序运行结果示例2: 0-123-41562-7↙ 0-123-41562-4 输入格式: 用gets()输入字符串 输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN的格式要求)。输出格式:

输入的ISBN号码的识别码正确,输出信息: “Right” 输入的ISBN号码的识别码错误,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”),输出格式:“%s” 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!输入样例: 输入样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int xg(char *s,int k){ if(k==10)*(s+12)='X';else *(s+12)='0'+k;} int main(){ char s[14];int a[10],i,ans=0;gets(s);a[1]=s[0]-'0';a[2]=s[2]-'0';a[3]=s[3]-'0';a[4]=s[4]-'0';a[5]=s[6]-'0';a[6]=s[7]-'0';a[7]=s[8]-'0';a[8]=s[9]-'0';a[9]=s[10]-'0';for(i=1;i<=9;i++)ans+=a[i]*i;ans%=11;if(ans+'0'==s[12]||(ans==10&&s[12]=='X'))printf(“Right”);else {xg(s,ans);printf(“%s”,s);}

return 0;} 摘苹果(4分)题目内容:

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。程序运行结果示例1:

200 140 150 156 187 197 149↙ 110↙ 4 程序运行结果示例2:

210 102 153 147 110 130 182 88 113↙ 100↙ 6 输入格式: “%d” 输入包括两行数据:

第1行包含10个100到200之间的整数(包括100和200,以厘米为单位),分别表示10个苹果到地面的高度。两个相邻的整数之间用一个空格隔开。

第2行只包括一个100到120之间的整数(包含100和120,以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。输出格式: “%d” 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ int app[11],i,ans=0,h;for(i=1;i<=10;i++)scanf(“%d”,app+i);scanf(“%d”,&h);for(i=1;i<=10;i++)if(app[i]<=h+30)ans++;printf(“%d”,ans);

return 0;} 求最大素数(4分)题目内容:

求500以内的10个最大素数及其和,并分别输出这10个最大素数及其和。要求10个素数按从大到小的顺序输出。输入格式: 无 输出格式:

10个最大素数的输出格式:“% 6d” 总和的输出格式:“nsum=%dn” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int ss[96];int is(int k){ int i=1;while(ss[i]*ss[i]<=k){ if(k%ss[i]==0)return 0;i++;}

return 1;} int main(){ int n=2,i,sum=0;ss[1]=2;ss[2]=3;for(i=4;i<=500;i++)if(is(i))ss[++n]=i;for(i=n;i>=n-9;i--){ printf(“% 6d”,ss[i]);sum+=ss[i];} printf(“nsum=%dn”,sum);

return 0;} 字符串逆序(4分)题目内容:

用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下:

(1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。

调用Inverse()函数将字符串逆序存放,然后在主函数中输出逆序后的字符串。(2)在子函数Inverse()中实现字符串的逆序存放。函数原型为: void Inverse(char str[]);程序运行结果示例1: Input a string: abcde↙

Inversed results: edcba 程序运行结果示例2: Input a string: hello↙

Inversed results: olleh 输入格式: 用gets()输入字符串 输出格式:

输入提示信息:“Input a string:n” 输出提示信息:“Inversed results:n” 用puts()输出字符串

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” #include “string.h” int dh(char *s,int len){ int i;char c;for(i=0;i<=len/2;i++){ c=*(s+i);*(s+i)=*(s+len-i);*(s+len-i)=c;} } int main(){ char s[80],len=0;printf(“Input a string:n”);gets(s);while(s[len]!='')len++;len--;dh(s,len);printf(“Inversed results:n”);puts(s);

return 0;}

水手分椰子(4分)题目内容:

五个水手在岛上发现一堆椰子,先由第1个水手把椰子分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第5个水手把剩下的椰子分为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个。

输入格式: 无

输出格式:“y=%dn” 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include “stdio.h” int can(int k){ int i;for(i=1;i<=5;i++){ if((k-1)%5!=0||k< 5)return 0;k=(k-1)/5*4;} return 1;} int main(){ int ans=1;while(!can(ans))ans++;printf(“y=%dn”,ans);

return 0;} 找最值(4分)题目内容:

从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示:

int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标

int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标

程序运行结果示例: Input 10 numbers:-1 2 3 45 92 8 9 12 7 8↙

Max=92,Position=4,Min=-1,Position=0

输入格式: “%d” 输出格式:

提示信息:“Input 10 numbers:n” 输出结果:“Max=%d,Position=%d,Min=%d,Position=%dn” 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include “stdio.h” int Findmax(int *a,int *p){ int i;*p=0;for(i=1;i< 10;i++)if(*(a+*p)<*(a+i))*p=i;

return 0;} int Findmin(int *a,int *p){ int i;*p=0;for(i=1;i< 10;i++)if(*(a+*p)>*(a+i))*p=i;

return 0;} int main(){ int a[10],maxp,minp,i;printf(“Input 10 numbers:n”);for(i=0;i< 10;i++)scanf(“%d”,a+i);Findmax(a,&maxp);Findmin(a,&minp);printf(“Max=%d,Position=%d,Min=%d,Position=%dn”,a[maxp],maxp,a[minp],minp);

return 0;} 星期查找(4分)题目内容:

任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。

提示:用一个二维字符数组weekDay来存放如图所示的星期表的内容(字符串)。输入待查找的字符串,然后在星期表中顺序查找与输入字符串相匹配的字符串。找到的字符串在星期表数组中的第一维下标(行号)即为题目所求。程序运行结果示例1: Please enter a string: Friday↙ Friday is 5 程序运行结果示例2: Please enter a string: Fruday↙ Not found!输入格式: 字符串输入采用gets()函数 输出格式:

输入提示信息:“Please enter a string:n” 找到了,输出:“%s is %dn” 没找到,输出:“Not found!n” 输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include “stdio.h” #include “string.h” int main(){ char s[][10]={“Sunday”,“Monday”,“Tuesday”,“Wednesday”,“Thursday”,“Friday”,“Saturday”};char ss[10];int i;printf(“Please enter a string:n”);gets(ss);for(i=0;i<=6;i++)if(strcmp(ss,s[i])==0){printf(“%s is %dn”,ss,i);return 0;} printf(“Not found!n”);

return 0;} 杨辉三角形(4分)题目内容:

编程打印具有如下形式的杨辉三角形,其中输出数据的行数n从键盘输入,并且n<=10。程序运行结果示例1: Input n(n<=10): 5↙ 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

程序运行结果示例2: Input n(n<=10): 7↙ 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1

输入格式: “%d” 输出格式:

输入提示信息:“Input n(n<=10):n” 输出数据格式:“% 4d” 数据换行: “n”

输入样例: 输出样例:

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!

时间限制:500ms内存限制:32000kb

#include “stdio.h” #include “string.h” int main(){ int a[11][11],n,i,j;printf(“Input n(n<=10):n”);scanf(“%d”,&n);for(i=1;i<=n;i++)for(j=1;j<=i;j++){ if(j==1||j==i)a[i][j]=1;else a[i][j]=a[i-1][j-1]+a[i-1][j];} for(i=1;i<=n;i++){ for(j=1;j<=i;j++)printf(“% 4d”,a[i][j]);printf(“n”);}

return 0;} 找数组最值(4分)题目内容:

按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。void InputArray(int *p, int m, int n);int FindMax(int *p, int m, int n, int *pRow, int *pCol);//函数返回最大值,pRow和pCol分别返回最大值所在的行列下标

例如,程序的1次运行结果如下: Input n: 3,4↙

Input 3*4 array: 1 2 3 4↙ 5 6 7 8↙ 9 0-1-2↙

max=9,row=2,col=0 输入格式: 提示信息: “Input m,n:n” 输入数组维数:“%d,%d” 提示信息: “Input %d*%d array:n” 输入数组元素:“%d” 输出格式: “max=%d,row=%d,col=%dn” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ int a[11][11],i,j,m,n,maxi,maxj,max;printf(“Input m,n:n”);scanf(“%d,%d”,&m,&n);printf(“Input %d*%d array:n”,m,n);for(i=1;i<=m;i++)for(j=1;j<=n;j++)scanf(“%d”,&a[i][j]);max=a[1][1];maxi=1;maxj=1;for(i=1;i<=m;i++)for(j=1;j<=n;j++)if(max< a[i][j]){max=a[i][j];maxi=i;maxj=j;} printf(“max=%d,row=%d,col=%dn”,max,maxi-1,maxj-1);

return 0;} 冒泡排序(4分)题目内容:

采用冒泡法进行升序排序法的基本原理是:对数组中的n个数执行n-1遍检查操作,在每一遍执行时,对数组中剩余的尚未排好序的元素进行如下操作:对相邻的两个元素进行比较,若排在后面的数小于排在前面的数,则交换其位置,这样每一遍操作中都将参与比较的数中的最大的数沉到数组的底部,经过n-1遍操作后就将全部n个数按从小到大的顺序排好序了。程序的某次运行结果如下: Input n:10↙

Input 10 numbers:2 9 3 4 0 6 8 7 5 1↙

Sorting results: 0 1 2 3 4 5 6 7 8 9 输入格式: “%d” 输出格式:

输入数据个数提示:“Input n:” 输入数据提示:“Input %d numbers:” 输出提示:“Sorting results:” 输出格式:“% 4d” 输入样例: 输出样例: 时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ int a[110],n,i,j;printf(“Input n:”);scanf(“%d”,&n);printf(“Input %d numbers:”,n);for(i=1;i<=n;i++)scanf(“%d”,&a[i]);for(i=1;i<=n-1;i++)for(j=1;j<=n-1;j++)if(a[j]>a[j+1]){ a[j]+=a[j+1];a[j+1]=a[j]-a[j+1];a[j]=a[j]-a[j+1];} printf(“Sorting results:”);for(i=1;i<=n;i++)printf(“% 4d”,a[i]);

return 0;} 删除字符串中与某字符相同的字符(4分)题目内容:

在字符串中删除与某字符相同的字符,要求用字符数组作函数参数。程序运行结果示例: Input a string: hello, my friend!↙ Input a character:!↙

Results:hello, my friend 输入格式: 字符串输入用 gets()函数

单个字符输入用 getchar()函数 输出格式:

输入字符串的提示信息: “Input a string:n” 输入单个字符的提示信息: “Input a character:n” 输出格式: “Results:%sn” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int main(){ char a[100],c;int i;printf(“Input a string:n”);gets(a);printf(“Input a character:n”);c=getchar();i=0;printf(“Results:”);while(a[i]!=''){ if(a[i]!=c)printf(“%c”,a[i]);i++;} printf(“n”);

return 0;} 求最大数和最小数的最大公约数(4分)题目内容:

从键盘输入10个正整数,求出最大数,最小数,以及他们的最大公约数。要求用数组实现。程序运行结果示例1: Input 10 numbers: 15 23 56 87 94 105 78 19 22 43↙ maxNum=105 minNum=15 15

程序运行结果示例2: Input 10 numbers: 33 1 2 9 8 7 5 4 0 10↙ maxNum=33 minNum=0

输入格式: “%d” 输出格式:

输入提示信息:“Input 10 numbers:n” 最大数输出格式:“maxNum=%dn” 最小数输出格式:“minNum=%dn” 最大公约数输出格式:“%d” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include “stdio.h” int gcd(int i,int j){ if(i< 1||j< 1)return-1;if(i%j==0)return j;else return gcd(j,i%j);} int main(){ int a[11],i,max,min,ans;printf(“Input 10 numbers:n”);for(i=1;i<=10;i++)scanf(“%d”,&a[i]);max=a[1];min=a[1];for(i=2;i<=10;i++){ if(a[i]>max)max=a[i];if(a[i]< min)min=a[i];} ans=gcd(max,min);printf(“maxNum=%dn”,max);printf(“minNum=%dn”,min);if(ans!=-1)printf(“%d”,ans);

return 0;} 百万富翁的换钱计划(4分)题目内容:

有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱„„。你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。输入格式: 无

输出格式:

输出百万富翁给陌生人的钱: “to Stranger: %.2f yuann” 输出陌生人给百万富翁的钱: “to Richman: %.2f yuann” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include“stdio.h” int main(){ int i;double st=0,mi=0,mo=1;for(i=1;i<=30;i++){ st+=mo;mi+=10;mo*=2;} st/=100;mi*=10000;printf(“to Stranger: %.2lf yuann”,st);printf(“to Richman: %.2lf yuann”,mi);

return 0;} 用计数控制的循环实现正数累加求和(4分)题目内容: 输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数。输入零时,表示输入数据结束。要求最后统计出累加的项数。程序运行结果示例: Input a number: 1↙

Input a number: 3↙

Input a number: 4↙

Input a number: 2↙

Input a number:-8↙ Input a number:-9↙

Input a number: 0↙

sum=10,count=4

输入格式: “%d” 输出格式:

输入提示信息: “Input a number:n” 输出格式: “sum=%d,count=%dn” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include“stdio.h” int main(){ int i,ans=0,c=0;do { printf(“Input a number:n”);scanf(“%d”,&i);if(i>0){ans+=i;c++;} }while(i!=0);printf(“sum=%d,count=%dn”,ans,c);

return 0;} 平方根表(4分)题目内容:

按如下格式输出100以内整数的平方根表。

输入格式: 无 输出格式:

输出表头: “% 7d” 输出每行的开头数字: “%d” 输出第m行n列中的值:“%7.3f” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include“stdio.h” #include“math.h” int main(){ int i,j;for(i=0;i<=9;i++)printf(“% 7d”,i);printf(“n”);for(i=0;i<=9;i++){ printf(“%d”,i);for(j=0;j<=9;j++)printf(“%7.3f”,sqrt(i*10+j));printf(“n”);}

return 0;} 最大公约数(4分)题目内容:

按照如下函数原型编写子函数计算正整数a和b的所有公约数。第一次调用,返回最大公约数。以后只要再使用相同参数调用,每次返回下一个小一些的公约数。无公约数时,函数CommonFactors()返回-1,主函数中不输出任何信息。函数原型: int CommonFactors(int a, int b)程序运行结果示例1:

Input a and b: 100,50↙

Common factor 1 is 50 Common factor 2 is 25 Common factor 3 is 10 Common factor 4 is 5 Common factor 5 is 2 Common factor 6 is 1

程序运行结果示例2:

Input a and b: 7,-3↙

输入格式: “%d,%d” 输出格式:

输出公约数: “Common factor %d is %dn” 输入提示信息:“Input a and b:n” 输入样例: 输出样例:

时间限制:500ms内存限制:32000kb

#include“stdio.h” int main(){ int i,j,k,ans=0;printf(“Input a and b:n”);scanf(“%d,%d”,&i,&j);if(i< 0||j< 0)return 0;for(k=i;k>=1;k--)if(i%k==0&&j%k==0){ ans++;printf(“Common factor %d is %dn”,ans,k);}

return 0;}

实验一数据类型和表达式实验(验证性实验

2学时)

一、目的要求:

(1)了解C语言中数据类型的意义。(2)理解常用运算符的意义。

(3)掌握C语言表达式的运行规则。(4)编写实验报告。

二、实验内容(参考实验指导书):

1、计算由键盘输入的任何两个双精度数据的平均值。(1)算法描述:将数据代入公式(a+b)/2,输出结果。(2)源代码及说明:

#include main(){ double a,b;

scanf(“%lf %lf”,&a,&b);

printf(“%lf”,(a+b)/2);}

(3)测试数据:2 6(4)运行结果:4.00000(5)问题及解决方法:问题:格式符使用“%f ”,输出结果总是 0.000000。

解决方法:格式符改为”%lf ”。

2、写一个输入7个数据的程序,把输入的数据代入a + b *(c – d)/ e * f – g 表达式进行运算。

(1)算法描述:将数据代入公式a + b *(c – d)/ e * f – g,输出结果。(2)源代码及说明:

#include main(){ int a,b,c,d,e,f,g;scanf(“%d %d %d %d %d %d %d”, &a,&b,&c,&d,&e,&f,&g);printf(“%d”, a+b*(c-d)/e*f-g);}(3)测试数据:1 2 3 4 5 6 7(4)运行结果:-6(5)问题及解决方法:无

3、编写一个C语言程序,测试下列各表达式:

i, j

i + 1 , j + 1 i++ , j++ ++i , ++j i+++++j(1)算法描述:定义变量并将其分别代入各表达式中,输出结果。(2)源代码及说明:

#include main(){ int i=2,j=3;printf(“%d %dn”,i,j);

printf(“%d %dn”,i+1,j+1);printf(“%d %dn”,i++,j++);

i=2,j=3;printf(“%d %dn”,++i,++j);

i=2,j=3;

printf(“%dn”,(i++)+(++j));

}(3)测试数据:2 3(4)运行结果:2 3;3 4;2 3;3 4;6(5)问题及解决方法:

问题:没有注意变量的使用。解决方法:重新定义变量。

4、输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest = money(1+rate)yearmoney输出结果。

(2)源代码及说明:

#include #include main(){ double money,rate,interest;

int year=0;

scanf(“%lf %lf”,&money,&rate);

scanf(“%d”,&year);interest=money*pow(1+rate, year)-money;printf(“%.2lf”,interest);}(3)测试数据:100 0.1 2(4)运行结果:21.00(5)问题及解决方法:

问题:求利率的多次幂

解决方法:利用math 函数库里的pow()函数

5、输入华氏温度,输出对应的摄氏温度。计算公式如下:

c = 5 *(f32)/ 9,输出结果。(2)源代码及说明:

#include main(){ double c,f;scanf(“%lf”,&f);c=5*(f-32)/9;printf(“摄氏温度为: %lf”,c);}

(3)测试数据:90.0(4)运行结果:32.222222(5)问题及解决方法:无

三、实验总结:

1.通过实验我清楚的知道了双精度型数据的格式说明符的使用。2.学会使用pow()函数。

实验二分支结构程序设计实验(验证性实验

2学时)

一、目的要求:

(1)了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句。(2)编写实验报告。

二、实验内容(参考实验指导书):

1、编写一个程序完成输入一个整数,输出它的符号。(1)算法描述:

if(i>0)

输出“+”。

if(i<0)

输出“-”。

if(i=0)

输出“0”。(2)源代码及说明:

#include main()

{

int i;

printf(“请输入一个整数:n”);

scanf(“%d”,&i);

if(i>0)

{

printf(“ + n”);

}

else if(i=0)

printf(“0n”);

else

printf(“(5)问题及解决方法:无

2、请编写居民应交水费,并提供各种测试数据。

居民应交水费y(元)与月用水量x(吨)的函数关系式如下:

0

x < 0 y = f(x)= 4x / 3

0 ≤ x ≤ 15

2.5x – 10.5 x > 15(1)算法描述:

if x<0 => f(x)=0;if 0<=x<=15 =>f(x)=4x/3 if x>15 =>f(x)=2.5x-10.5(2)源代码及说明:

#include main(){ float x,y;

scanf(”%f“,&x);if(x<0){

y=0;

printf(”应交水费%f 元n“,y);} else if(x>=0&&x<=15){

y=4*x/3;

printf(”应交水费%f 元n“,y);} else

{

y=2.5 * x-10.5;

printf(”应交水费%f 元n“,y);} }(3)测试数据:-1

20(4)运行结果:0.000000 10.666667 35.200000(5)问题及解决方法:无

3、请根据输入的学生成绩给出成绩等级的判断,判断规则如下:

如果输入的成绩大于等于90,则输出优秀;

如果输入的成绩小于90、大于等于80,则输出良好;

如果输入的成绩小于80、大于等于70,则输出中等;

如果输入的成绩小于70、大于等于60,则输出及格;

其他输出不及格。(1)算法描述:

if score>=90 输出优秀 if 80<=score<90 输出良好 if 70<=score<80 输出中等 if 60<=score<70 输出及格 else 输出不及格(2)源代码及说明: #include main(){ int score;scanf(”%d“,&score);if(score>=0&&score<=100){

switch(score/10)

{

case 10:

} case 9:printf(”优秀“);break;

case 8:printf(”良好“);break;case 7:printf(”中等n“);break;

case 6:printf(”及格n“);break;case 5: case 4: case 3: case 2: case 1: case 0:printf(”不及格n“);break;default: printf(”你输入的成绩非法n“)} printf(”你输入的成绩非法n“);}(3)测试数据:98

-22(4)运行结果:优秀良好中等及格不及格输入不合法输入不合法(5)问题及解决方法:

问题:大于100的分数未给出明确结果 解决方法;在代码中加上对高于100分的限制

4、运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下:

s = 250km

没有折扣

250km ≤ s < 500km 2%折扣

500km ≤ s < 1000km 5%折扣

1000km ≤ s < 2000km8%折扣 2000km ≤ s < 3000km10%折扣

3000km ≤ s

15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:

f = p * w * s *(1 – d)请编程实现:从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费。

(1)算法描述:

if(s<250)

d=0.0

if(s>=250&&s<500)

d=0.02

if(s>=500&&s<1000)

d=0.05

if(s>=1000&&s<2000)d=0.08

if(s>=2000&&s<3000)d=0.1 else

d=0.15 然后再将数据代入公式money=p*w*s*(1-d),输出money。(2)源代码及说明: #include main(){ double p,w,s,money,d;scanf(”%lf %lf %lf“,&p,&w,&s);

if(s<250){

d=0.0;} else if(s>=250&&s<500){

d=0.02;} else if(s>=500&&s<1000){

d=0.05;} else if(s>=1000&&s<2000){

d=0.08;} else if(s>=2000&&s<3000){

d=0.1;} else

d=0.15;money=p*w*s*(1-d);printf(”总运费为:%.2lf“,money);}(3)测试数据:10 2 230(4)运行结果:4600.00(5)问题及解决方法:无

三、实验总结:掌握了if和switch分支语句的使用。

实验三循环结构程序设计实验(验证性综合性实验

2学时)

一、目的要求:

(1)使用循环语句完成累乘、图像输出的程序编写。(2)掌握较复杂结构程序的编写。(3)掌握程序调试的方法。(4)编写实验报告。

二、实验内容(参考实验指导书):

1、已知xyz + yzz = 532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。(1)算法描述: for i=1到9

for j=1到9

for z=1到9

if满足xyz + yzz = 532 则输出x、y、z(2)源代码及说明: #include main(){ int x,y,z;for(x=0;x<=9;x++){

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

{

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

{

if(x*100+y*10+z+y*100+z*10+z==532)

printf(”%d %d %dn“,x,y,z);

}

} } }(3)测试数据:(4)运行结果:3 2 1(5)问题及解决方法:无

2、编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:

4444444

33333

222

222

33333

4444444(1)算法描述:

for(i=number;i>0;i--){

for(k=number;k>=i;k--){

printf(”“);

}

for(j=0;j

printf(”%d“,i);

}

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

for(k=number;k>=i;k--)

}

for(j=0;j

printf(”%d“,i);

}(2)源代码及说明: #include main(){ int number;int i,j,k;scanf(”%d“,&number);for(i=number;i>0;i--){

for(k=number;k>=i;k--)

{

printf(”“);

}

for(j=0;j

{

printf(”%d“,i);

}

printf(”n“);

} } for(i=2;i<=number;i++){ for(k=number;k>=i;k--){

printf(”“);} for(j=0;j

printf(”%d“,i);}

printf(”n“);}(3)测试数据:4(4)运行结果:4444444

33333

222

222

33333

4444444(5)问题及解决方法:无

3、学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。(1)算法描述:

for(x=1;x<1000;x++)if满足x%5==2 && x%7==3 && x%3==1 则输出x(2)源代码及说明: #include main(){

int x;for(x=1;x<1000;x++){

if(x%5==2 && x%7==3 && x%3==1)

printf(”%dn“,x);} }(3)测试数据:

(4)运行结果:52 157 262 367 472 577 682 787 892 997(5)问题及解决方法:无

4、学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:

A说:不是我。

B说:是C。

C说:是D。

D说:他胡说。

已知三个人说的是真话,一个人说的是假话。请根据这些信息,找出做了好事的人。(1)算法描述:

for(x='A';x<='D';x++)if((x!='A')+(x=='C')+(x=='D')+(x!='D')==3)输出谁做了好事

(2)源代码及说明:

#include main(){ char x;for(x='A';x<='D';x++){

if((x!='A')+(x=='C')+(x=='D')+(x!='D')==3)

printf(”%c做了好事n“,x);} }(3)测试数据:

(4)运行结果:C做了好事(5)问题及解决方法:无

三、实验总结:通过这几个实验基本掌握了循环的用法和循环嵌套的使用。

实验四数组程序设计实验(验证性综合性实验

4学时)

一、目的要求:

(1)掌握一维和二维数组的使用技巧。(2)编写实验报告。

二、实验内容(参考实验指导书):

1、从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2-5-89 75 0-89 0 93 48 0,经过处理后的数组为:-5-89-89 0 0 0 75 93 48 2。由于不要求数组有序,所以不允许用排序方法。提示:

1)输入N个数据,构建数组。

2)按照要求确定数据的位置,需要注意循环条件的确定、0数据元素往中间推的实现过程以及数组处理的方向。(1)算法描述: for(从第一个数到第十个数){ for(从第i+个数到第十个数){ 首先判断前一个数是否大于零,再判断后一个数是与零之间的关系,如果不是等于零,则需交换位置。} }(2)源代码及说明: #include main(){ int N,i,end=0;scanf(”%d“,&N);int a[N];int b[N];int j=0;

int st =0;int m=N-1;for(i=0;i

scanf(”%d“,&a[i]);} for(i=0;i

if(a[i]<0)

{

b[j++]=a[i];

st++;

}

if(a[i]>0)

{

b[m--]=a[i];

end=m;

} } for(i=st;i

b[i]=0;} for(j=0;j

printf(”%d “,b[j]);} }(3)测试数据:10

2-5-89 75 0-89 0 93 48 0(4)运行结果:-5-89-89 0 0 0 75 93 48 2(5)问题及解决方法:

问题:对大于0和小于0的数进行分类,再重新组合。解决方法:重新定义一个数组,依次放入数据。

2、设数组a的定义如下:

int a[20] = {2,4,6,8,10,12,14,16};已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请编写一个程序实现上述功能。提示:

1)定义整型数组并初始化。2)从键盘输入一个数据。

3)将该数据插入到数组中,由于要保证插入的数组仍然有序,所以需要查找插入的位置。4)输出插入数据以后的数组。(1)算法描述:

遍历数组找到插入数在数组中的位置

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

if(a[i]>x)

break;}

j=i;重新排列插入数后面的数

for(i=8;i>=j;i--){

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

a[j]=x;最后输出插入数据后的数组(2)源代码及说明: #include main(){ int a[20]={2,4,6,8,10,12,14,16};int n,i,k;scanf(”%d“,&n);for(i=0;i<8;i++){

if(n

break;} k = i;for(i=9;i>=k;i--){

a[i+1]=a[i];} a[k]=n;for(i=0;i<9;i++){

printf(”%4d“,a[i]);} }(3)测试数据:3(4)运行结果:2 3 4 6 8 10 12 14 16 0 0 0 0 0 0 0 0 0 0 0(5)问题及解决方法:无

3、写一个3 x 5矩阵的转置程序,输出其原矩阵的值和转置以后的结果。提示:

1)定义一个二维数组及相关变量。

2)对二维数组赋值,可以由键盘输入,也可以通过其他方式赋值。3)输出转置前的二维数组。

4)对二维数组中的值进行转置。5)输出转置后的二维数组中的值。(1)算法描述:

从键盘中输入数组

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

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

scanf(”%d“,&a[i][j]);交换数组对应数值并输出

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

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

b[i][j]=a[j][i];printf(”%d “,b[i][j])(2)源代码及说明: #include main(){ int a[3][5]={1,2,3,4,5,1,2,3,4,5,1,2,3,4,5};int b[5][3];int i,j;for(i=0;i<5;i++){

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

{

b[i][j]=a[j][i];

printf(” %d“,b[i][j]);

}

printf(”n“);} }(3)测试数据:1 2 3 4 5

9

9(4)运行结果:1 5 1

3

5

7

9(5)问题及解决方法:无

4、编程实现随机产生10个位于区间[100 200]互不相等的整数,并将其按降序排序和输出。(1)算法描述: 产生随机数

#include #include #define random(x)(100+rand()%101)存入数组for(i=0;i<=9;i++){

a[i]=random(200);

printf(”%4d“,a[i]);} 进行排序(选择)for(i=0;i<=9;i++){

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

{

if(a[i]

{

k=a[i];

a[i]=a[j];

a[j]=k;

}

} }(2)源代码及说明: #include #include #include main(){

int x;int a[10];int i,j,m = 1;int temp;srand((unsigned)time(NULL));while(1)

{

for(i=0;i<10;i++){ x =100+ rand()% 101;for(j=0;j

if(a[j] == x)

{

m == 0;

}

}

if(m == 1){

a[i]=x;} else {

i--;}

} break;} for(i=0;i<10;i++){ printf(”%d “,a[i]);} printf(”n“);printf(”降序排列为:n“);for(i=0;i<9;i++){ for(j=i+1;j<10;j++){

if(a[i]

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

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

printf(”%d “,a[i]);} }(3)测试数据:137 114 155 107 146 173 160 166 172 186(4)运行结果:186 173 172 166 160 155 146 137 114 107(5)问题及解决方法:无

三、实验总结:

(1)熟练地掌握了选择排序和穷举算法的使用;(2)掌握了对二维数组的简单的使用。

实验五函数实验

(验证性综合性实验

5学时)

一、目的要求:

(1)学习函数的编程思想,编写一个包括3~4个函数的程序。(2)掌握函数中参数传递的两种方式和函数的相互调用。(3)编写实验报告。

二、实验内容(参考实验指导书):

1、写一个函数int digit(int n , int k),它返回数n的从右向左的第k个十进数字值。例如,函数调用digit(1234,2)将返回值3。(1)算法描述:

int digit(int n , int k){

for(i=0;i

d=n%10;

n=n/10;

}

return d;}

用scanf输入数,调用函数int digit输出结果(2)源代码及说明: #include int digit(int n,int k){ int i;int m;for(i=0;i

m= n%10;

n=n/10;} return m;} main(){ int x;x = digit(1234,2);printf(”%dn“,x);}(3)测试数据:digit(1234,2)将返回值3(4)运行结果:3

(5)问题及解决方法:无

2、写一个函数int isprime(int n),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。

(1)算法描述:

int isprime(int n){ for(i=2;i

if(n%i==0)

return 0;

else

return 1;

}

}

if(n==1)

return 0(2)源代码及说明:

#include int isprime(int n){ int i;if(n==1){

return 0;} for(i=2;i<=n-1;i++){

if(n%i==0){

return 0;

} } return 1;} main(){ int r;r = isprime(5);

} printf(”%dn“,r);r = isprime(8);printf(”%dn“,r);(3)测试数据:2 4(4)运行结果:1 0

(5)问题及解决方法:无

3、写一个函数reverse(char s[]),将字符串s[]中的字符串倒序输出。试分别用递归和非递归两种形式编写。(1)算法描述:

递归:递归的出口: if(n==1)

printf(”%c “,s[0]);return;递归的形式

printf(”%c “,s[n-1]);

s[n-1]='';

reverse(s);非递归:

利用倒序特点,进行交换

for(i=0;i

temp=s[i];s[i]=s[n-1-i];s[n-1-i]=temp;}(2)源代码及说明: 递归:

void reverse(char s[]){ int n;n=strlen(s);if(n==1){

printf(”%c “,s[0]);

return;} printf(”%c “,s[n-1]);s[n-1]='';reverse(s);}

非递归:

void reverse(char s[]){

} int n;int i,j;char temp;n=strlen(s);if(n==1){ printf(”%c “,s[0]);return;} for(i=0;i

temp=s[i];s[i]=s[n-1-i];s[n-1-i]=temp;} for(i=0;i

(5)问题及解决方法:

4、写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。求:既是回文数又是质数的5位十进制数有多少个?要求:回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。(1)算法描述:

用递归和非递归写出函数reverse(char s[])递归:递归的出口: if(n==1)

printf(”%c “,s[0]);return;递归的形式

printf(”%c “,s[n-1]);

s[n-1]='';

reverse(s);非递归:

利用倒序特点,进行交换

for(i=0;i

temp=s[i];s[i]=s[n-1-i];s[n-1-i]=temp;} 写出主函数,调用函数reverse(char s[])(2)源代码及说明: 递归:

#include #include void reverse(char s[]){ int n;n=strlen(s);if(n==1){

printf(”%c “,s[0]);

return;} printf(”%c “,s[n-1]);s[n-1]='';reverse(s);} int main(){ char text[10]={'a','b','c','d','e','f','g','h','m','o'};int i,n=10;for(i=0;i

printf(”%c “,text[i]);} printf(”n“);

} printf(”倒序为:n“);reverse(text);非递归:

#include #include void reverse(char s[]){ int n;int i,j;char temp;n=strlen(s);if(n==1){

printf(”%c “,s[0]);

return;} for(i=0;i

temp=s[i];

s[i]=s[n-1-i];

s[n-1-i]=temp;} for(i=0;i

printf(”%c “,s[i]);}

} int main(){ char text[10]={'a','b','c','d','e','f','g','h','m','o'};int i,n=10;for(i=0;i

printf(”%c “,text[i]);} printf(”n“);printf(”倒序为:n“);reverse(text);}(3)测试数据:a b c d e f g h i j(4)运行结果:j i h g f e d c b a(5)问题及解决方法:无

5、在n个已排好序(设为从小到大)的数据(数或字符串)中查找某一个数据,如果找到了,就指出其在n个数中的位置;否则给出无该数据的信息。请用递归的方法实现二分查找来实现这一查找过程。

提示:采用二分法求解本问题的基本思路是:设数列为a1,a2,„,an,被查找的数为x,则查找首先对am(m =(n + 1)/ 2)进行,于是得到三种情形。若x > am,则x只可能在区间[am + 1 , an] 若x < am,则x只可能在区间[a1 , am-1] 若x = am,则am即为查找的数,求解结束。

从上面的分析发现,这个过程很适合用递归来实现。(1)算法描述:

for(i=10000;i<100000;i++){

if(hw(i))

{

if(isprime(i)==1)

{

cnt++;

}

} } } printf(”n合计:%d个n“,cnt);(2)源代码及说明: #include #include int hw(int n);int isprime(int n);void main(){ int i;int cnt=0;for(i=10000;i<100000;i++){

if(hw(i))

{

if(isprime(i)==1)

{

cnt++;

}

} } printf(”n合计:%d个n“,cnt);} int isprime(int n){

int i=2;while(i<=sqrt(n)){

if(n%i==0)

return 0;

i++;} return 1;} int hw(int n){ int m=0;int t=n;while(t){

m=m*10+t%10;

} t/=10;} return m==n;(3)测试数据:

(4)运行结果:93个(5)问题及解决方法:无

三、实验总结:掌握了函数中参数传递的两种方式和函数的相互调用。

实验六指针实验

(验证性综合性实验

4学时)

一、目的要求:

(1)用指针作为函数参数完成字符串的传递。(2)掌握函数中参数传递的两种方式。(3)编写实验报告。

二、实验内容(参考实验指导书):

(1)编写一个函数char *delk(char *sp),把sp所指向的字符串中所有的“$”字符删除,并把处理后的字符串指针返回。(1)算法描述:

char *b=”$keidk$kd“;char *a=(char*)malloc(sizeof(b));

delk(b,a);(2)源代码及说明: #include #include char *delk(char *sp,char *q){ char *p=sp;while(*p!=''){

if(*p!='$'){

*q=*p;

q++;

}

p++;} } main(){ char *b=”$keidk$kd“;char *a=(char*)malloc(sizeof(b));

delk(b,a);printf(”%sn“,a);}(3)测试数据:$abcd$efgh(4)运行结果:abcdefgh(5)问题及解决方法:无

2、写一个函数int find(char *s1, char *s2),函数find的功能是查找串s1中是否包含指定的词(s2指向),如果存在则返回第1次出现的位置,否则返回-1.约定串中的词由1个或1个以上的空格符分隔。(1)算法描述:

char s1[]=”abc bc cd ef“;char s2[]=”we";int a=find(s1,s2);(2)源代码及说明: #include #include int find(char *s1,char *s2){ char *p=s1;char *q;int k=0;int r;while(*p!=''){

while(*p==' '){

p++;

}

q=p;

while(*q!=''&&*q!=' '){

q++;

}

char c=*q;

*q='';

r=strcmp(p,s2);

k=k+1;

if(r==0){

return k;

}

p=q+1;

} if(r!=0){

第二篇:c语言实验报告

学号:__________ 姓名:__________ 班级:__________ 日期:__________

指导教师:__________ 成绩:__________

实验一 上机操作初步和简单的C程序设计

一、实验目的1、熟悉C语言运行环境Turbo C++3.02、会简单的程序调试

3、熟悉C语言各种类型数据的输入输出函数的使用方法

4、掌握顺序结构程序设计

二、实验内容

1、上机运行本章3个例题,熟悉所用系统的上机方法与步骤。(习题1.7)

2、编写一个C程序,输入a、b、c 3个值,输出其中最大者。(习题1.6)

3、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。注意:在Trubo C++ 3.0中不能输入汉字,只能输入英文或拼音。(习题4.8)

4、运行如下程序,写出运行结果。第一┆范文网www.xiexiebang.com整理该文章,版权归原作者、原出处所有...#include

void main()

{

int a=1,b=2;

a=a+b;b=a-b;a=a-b;

printf(“%d,%dn”,a,b);

}

三、实验步骤与过程

四、程序调试记录

第三篇:C语言 实验报告

C语言程序设计(B)

(2010-2011-2)

实验报告

教学班级: 学号: 姓名: 课程教师: 实验辅导教师:

江西理工大学

自由编辑的程序

一、实验前的源程序:

//任意整数的叠加 #include void main(){ int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j)for(i=0;i<=j;i++)sum=sum+i;printf(“此数的叠加=%dn”,sum);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before

`for' [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `)' 构建中止 未命名10: 2 个错误, 0 个警告

实验后的源程序:

//任意整数的叠加 #include void main(){

int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j);for(i=0;i<=j;i++)sum=sum+i;printf(“此数的叠加=%dn”,sum);}

二、实验前的源程序:

/*小写字母转大写字母*/ #include void main(){ char c1,c2;c1='w';

江西理工大学

} c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c);

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名11.cpp:9: `c' undeclared(first

use this function)[Error] D:Program FilesC-Free 4temp未命名11.cpp:9:(Each undeclared

identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: for each function it

appears in.)构建中止 未命名11: 3 个错误, 0 个警告

实验后的源程序:

/*小写字母转大写字母*/ #include void main(){ char c1,c2;c1='w';c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c2);}

三、实验前的源程序:

/*查看某一年是否为闰年*/ #include void main(){ int year,i;scanf(“%d”,&year);if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

i=1;

else

江西理工大学

i=0;

}

else

i=1;

} else

i=0;if(i)

printf(“%d 是闰年n”,year);else

printf(“%d 不是闰年n”,year);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名14.cpp:15: parse error before

`else' [Error] D:Program FilesC-Free 4temp未命名14.cpp:25: parse error at end

of input 构建中止 未命名14: 2 个错误, 0 个警告

实验后的源程序:

/*查看某一年是否为闰年*/ #include void main(){ int year,i;scanf(“%d”,&year);if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

i=1;

else

i=0;

}

else

i=1;

} else

i=0;if(i)

江西理工大学

printf(“%d 是闰年n”,year);else

printf(“%d 不是闰年n”,year);}

数据的输入和输出

四、程序改错题

改错前的源程序;#include void main(){ float x,y,z;scanf(“%5.2f,%5.2f”,&x,&y);z=x+y;printf(“z=%5.2f”,&z);} 修改后的源程序:

#include void main(){ float x,y,z;scanf(“%f%f”,&x,&y);z=x+y;printf(“z=%5.2f”,z);}

改错前的源程序;#include void main(){ int x=7654123;x*=10;printf(“x=%7d”,x);} 修改后的源程序:

江西理工大学

#include void main(){

long x=7654123;x*=10;printf(“x=%7d”,x);}

改错前的源程序:

#include void main(){ float c1=67;char c2;c2=c1+5;printf(“c1=%c,c2=%cn”,c1,c2);printf(“c1=%d,c2=%d”,&c1,&c2);} 修改后的源程序:

#include void main(){ int c1=67;char c2;c2=c1+5;printf(“c1=%c,c2=%cn”,c1,c2);printf(“c1=%d,c2=%d”,c1,c2);}

五、程序编写题:已知char ch’b’;int i=3 ,j=5;float x=22.354,y=435.6789;根据下面的输出结果编写程序。ch =’b’,ASCII=98 i=3□□□□□□j=5 x=22.35□□□y=435.68 实验前的源程序:

#include void main()

江西理工大学{ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d

j=%dn”,i,j);printf(“x=%.2f

y=%.2fn”,x,y);} 实验错误报告:无 实验后的源程序:

#include void main(){ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d

j=%dn”,i,j);printf(“x=%.2f

y=%.2fn”,x,y);}

六、从键盘输入一行字符,统计其中小写字母、大写字母和其它字符的个数:

实验前的源程序:

#include “stdio.h” void main(){ printf(“请任意输入一串字符:n”);

char ch,sum1=0,sum2=0,other=0;

ch=getchar();

while(c!='n')

{

if(c>='A'&&c<='Z')sum1++;

else if(c>='a'&&c<='z')sum2++;

else other++;

c=getchar();

} printf(“大写字母的个数:%dn”,sum1);printf(“小写字母的个数:%dn”,sum2);

江西理工大学printf(“其他字符母个数:%dn”,other);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名7.cpp:7: `c' undeclared(first

use this function)[Error] D:Program FilesC-Free 4temp未命名7.cpp:7:(Each undeclared

identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: for each function it

appears in.)构建中止 未命名7: 3 个错误, 0 个警告

实验后的源程序:

#include “stdio.h” void main(){ printf(“请任意输入一串字符:n”);

char ch,sum1=0,sum2=0,other=0;

ch=getchar();

while(ch!='n')

{

if(ch>='A'&&ch<='Z')sum1++;

else if(ch>='a'&&ch<='z')sum2++;

else other++;

ch=getchar();

} printf(“大写字母的个数:%dn”,sum1);printf(“小写字母的个数:%dn”,sum2);printf(“其他字符母个数:%dn”,other);}

七、使用以下公式求∏的近似值,要求精确到最后一项的绝对值小于10e-4

∏/4=1-1/3+1/5-1/7+……

实验前的源程序:

#include “stdio.h” #include “math.h” main(){

江西理工大学

} float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.o/j);continue;break;} printf(“∏=%fn”,sum*4.0);

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名9.cpp:13: nondigits in number

and not hexadecimal [Error] D:Program FilesC-Free 4temp未命名9.cpp:19: parse error at end

of input 构建中止 未命名9: 2 个错误, 0 个警告

实验后的源程序:

#include “stdio.h” #include “math.h” main(){ float sum=0;int i,j;for(i=1;;i++){

j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.0/j);continue;} break;} printf(“∏=%fn”,sum*4.0);}

八、用选择法对10个整数排序: 实验前的源程序:

江西理工大学#include main(){ printf(“请输入一串乱序的10个整数:n”);int a[10];int i,j,k;for(i=0;i<10;i++){

scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){

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

{

k=a[j];

a[j]=a[j+1];

k=a[j+1];} printf(“这10个整数从小到大排列为:”);for(j=0;j<10;j++){

printf(“%d ”,a[j]);} printf(“n”);printf(“这10个整数从大到小排列为:”);for(j=9;j>=0;j--){

printf(“%d ”,a[j]);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名1.cpp:33: parse error at end of

input 构建中止 未命名1: 1 个错误, 0 个警告

实验后的源程序:

//用选择法对10个整数排序

#include void main(){ printf(“请输入一串乱序的10个整数:n”);int a[10];

江西理工大学 int i,j,k;for(i=0;i<10;i++){ scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]){

k=a[j];

a[j]=a[j+1];

k=a[j+1];} } printf(“这10个整数从小到大排列为:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“这10个整数从大到小排列为:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} }

九、求一个3*3的整数矩阵对角线元素之积:

实验前的源程序:

#include void main(){ int a[3][3];int i,j,ji=1;printf(“请输入一个3*3的矩阵:n”);for(i=0;i<=2;i++)for(j=0;j<=2;j++){

scanf(“%d”,&a[i][j])} for(i=0;i<3;i++)

江西理工大学 {

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

{

printf(“%d ”,a[i][j]);

}

printf(“n”);

}

printf(“n”);

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

{

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

if(i=j)

ji*=a[i][j];

printf(“主对角线的积为:%dn”,ji);

} }

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名4.cpp:11: parse error before

`}' 构建中止 未命名4: 1 个错误, 0 个警告

实验后的源程序:

#include void main(){ int a[3][3];int i,j,ji=1;printf(“请输入一个3*3的矩阵:n”);for(i=0;i<=2;i++)for(j=0;j<=2;j++){

scanf(“%d”,&a[i][j]);} for(i=0;i<3;i++){

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

{

printf(“%d ”,a[i][j]);

}

printf(“n”);

}

江西理工大学

printf(“n”);

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

{

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

if(i=j)

ji*=a[i][j];

printf(“主对角线的积为:%dn”,ji);

} }

十、将一个数组中的值按你需从新存放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

实验前的源程序:

#include void main(){ int a[10],i,j,t;printf(“请问你要输个几个数字: ”);scanf(“%d”,&j);printf(“请输入大小顺序的%d个数字: ”,j);for(i=0;i

scanf(“%d”,&a[i]);}

for(i=0;i

t=a[i];

a[i]=a[j-i-1];

t=a[j-i-1];} printf(“该数组逆序排列为:”);

for(i=0;i

printf(“%d ”,a[i]);printf(“n”);}

实验错误报告:

[Error] D:Program FilesC-Free 4temp未命名3.cpp:25: parse error at end

of input 构建中止 未命名3: 1 个错误, 0 个警告

江西理工大学实验后的源程序:

#include void main(){ int a[10],i,j,t;printf(“请问你要输个几个数字: ”);scanf(“%d”,&j);printf(“请输入大小顺序的%d个数字: ”,j);for(i=0;i

scanf(“%d”,&a[i]);}

for(i=0;i

t=a[i];

a[i]=a[j-i-1];

a[j-i-1]=t;} printf(“该数组逆序排列为:”);

for(i=0;i

printf(“%d ”,a[i]);} printf(“n”);}

江西理工大学

第四篇:C语言实验报告

C语言程序设计(B)

(2010-2011-2)

实验报告

教学班级:

学号:

姓名:

课程教师:王华金

实验辅导教师:王华金

江西理工大学P123--

五、1、编写函数,找出5*5数组对角线上元素的最小值,并在主函数中调用它。要求元素的值通过键盘输入。

实验前的源程序:

#include int func(int p[5][5]){ int i,j,min;min=p[0][0];for(i=0;i<5;i++)

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

if(i==j)

if(p[i][j]

return min;} void main(){ int i,j,m,a[5][5];printf(“请输入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主对角线上元素的最小值为:%dn”,m);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:13: error: `main' must return `int' [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:27:2: warning: no newline at end of file

构建中止 未命名4: 1 个错误, 1 个警告

江西理工大学

实验后的源程序:

#include int func(int p[5][5]){ int i,j,min;min=p[0][0];for(i=0;i<5;i++)

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

if(i==j)

if(p[i][j]

return min;} main(){ int i,j,m,a[5][5];printf(“请输入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主对角线上元素的最小值为:%dn”,m);}

P123--

五、3、编写从整形数组中检索给定数值的函数,若找到则输出该数值在数组中的位置。

实验前的源程序:

#include “stdio.h” int Find(int array[],int Array size,int num){ int i;for(i=0;i

江西理工大学int main(){ int a[]={1,2,3,4,5};num=4,n=5,index;index=find(a,5,num);if(index)printf(“%d在数组中第%d位置”,num,index);else printf(“数组中没有这个数!”);}

实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:2: error: expected `,' or `...' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: `size' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `)' before ';' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before ')' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `index' was not declared in this scope

江西理工大学[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:19:2: warning: no newline at end of file 实验后的源程序:

#include “stdio.h” int Find(int Array[], int Array_size, int num){ int i;for(i=0;i

P123--

五、6、输入10名学生5门课的成绩,分别用函数求:(1)每门课的平均分。(2)找出最高的分数所对应的学生和成绩。

实验前的源程序:

#include void input(float a[10][5])//输入学生成绩 { int i,j;

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

{

printf(“输入第%d个学生五门课的成绩:”,i+1);

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

scanf(“%f”,&a[i][j]);

} } void aver_cour(float a[10][5])//课程的平均分

江西理工大学 {

int i,j;

float sum;

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

{

sum=0;

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

sum+=a[j][i];

printf(“第%d门课的平均成绩为:%6.2fn”,i+1,sum/10);

} } void highest(float a[10][5])//查找最高分

{

int i,j,flag1,flag2;float max=0;

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

{

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

{

if(max

{

max=a[i][j];

flag1=i;

flag2=j;

}

}

}

printf(“最高分对应的是学生:%d课程:%dn”,flag1+1,flag2+1);} void main(){

float a[10][5];

input(a);

aver cour(a);

highest(a);

}

实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:35: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: `aver' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:38: error: expected `;' before “cour”

江西理工大学[Warning] C:Users陶鑫DocumentsC-FreeTemp未命名6.cpp:40:4: warning: no newline at end of file

构建中止 未命名6: 3 个错误, 1 个警告 实验后的源程序:

#include void input(float a[10][5])//输入学生成绩 { int i,j;

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

{

printf(“输入第%d个学生五门课的成绩:”,i+1);

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

scanf(“%f”,&a[i][j]);

} } void aver_cour(float a[10][5])//课程的平均分

{

int i,j;

float sum;

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

{

sum=0;

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

sum+=a[j][i];

printf(“第%d门课的平均成绩为:%6.2fn”,i+1,sum/10);

} } void highest(float a[10][5])//查找最高分

{

int i,j,flag1,flag2;float max=0;

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

{

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

{

if(max

{

max=a[i][j];

flag1=i;

flag2=j;

}

}

}

printf(“最高分对应的是学生:%d课程:%dn”,flag1+1,flag2+1);} main()

江西理工大学

{

float a[10][5];

input(a);

aver_cour(a);

highest(a);} P173-

五、2、对具有10个元素的char类型的数组,从下标为6的元素开始全部设置'#'号,保持前6个元素中的内容不变。

实验前的源程序:

#include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'};for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”);

for(pi=(a+6);pi<(a+10);pi++)

*pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: `pi' undeclared(first use this function)[Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8:(Each undeclared identifier is reported only once [Error] C:Users陶鑫DocumentsC-FreeTemp未命名1.cpp:8: for each function it appears in.)

构建中止 未命名1: 3 个错误, 0 个警告

江西理工大学

实验后的源程序:

#include“stdio.h” main(){int i;char a[10]={'h','e','l','l','o','j','p','i','j','d'}, *pi;for(i=0;i<10;i++)printf(“%c”,a[i]);printf(“n”);

for(pi=(a+6);pi<(a+10);pi++)

*pi='#';for(i=0;i<10;i++)printf(“%c”,a[i]);}

P173-

五、5、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,并输出对换后的10个数。

实验前的源程序:

#include void Deal(int *p){ int i,m;

int max,min;

max=min=0;for(i=0;i<10;i++){

if(*(p+i)>*(p+max))max=i;

if(*(p+i)<*(p+min))min=i;} m=p[0];p[0]=p[max];p[max]=m;m=p[9];p[9]=p[min];p[min]=m;} void Show(int *p){ int i=0;printf(“交换后结果如下:n”);while(i<10)

printf(“%d ”,*(p+i++));printf(“n”);}

江西理工大学void main(){ int data[10];int i=0;printf(“请输入十个数:n”);while(i<10)

scanf(“%d”,data+i++)Deal(data);Show(data);} 实验错误报告:

[Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:24: error: `main' must return `int' [Error] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:30: error: expected `;' before “Deal” [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名7.cpp:32:2: warning: no newline at end of file

构建中止 未命名7: 2 个错误, 1 个警告

实验后的源程序:

#include void Deal(int*p){ int i,m;int max,min;max=min=0;for(i=0;i<10;i++){ if(*(p+i)>*(p+max))max=i;if(*(p+i)<*(p+min))min=i;} m=p[0];p[0]=p[min];p[min]=m;m=p[9];p[9]=p[max];p[max]=m;

江西理工大学} void Show(int*p){ int i=0;printf(“交换后结果如下:n”);while(i<10)printf(“%d”,*(p+i++));printf(“n”);} void main(){ int data[10];int i=0;printf(“请输入十个数:n”);while(i<10)scanf(“%d”,data+i++);Deal(data);Show(data);}

P173-

五、7、编写小学生做加、减、乘、除四则运算的程序。例如在操作系统下,键入cal 15*15< 回车>,则在屏幕上显示15*15=225.实验前的源程序:

实验错误报告:

实验后的源程序:

#include main(){

int i,j,k;char *f[2];int b[2];scanf(“%s”,&f[1]);scanf(“%d”,&b[1]);

江西理工大学

江西理工大学12

} scanf(“%s”,&f[2]);scanf(“%d”,&b[2]);i=b[1];j=b[2];k=i*j;printf(“%d*%d=%d”,i,j,k);

第五篇:c语言实验报告

实验一 熟悉C语言程序的运行环境

一、实验目的

1、了解在该系统上如何编辑、编译、连接和运行一个C 程序;

2、通过运行简单的C程序,初步了解C程序的特点。

二、实验预习

1、认真阅读简单的C程序介绍,C程序上机步骤部分内容;

2、编写好所需要的程序,程序的书写应该清楚整洁,一般检查应该是没有明显的错误。

如果在程序中有疑问的地方,可以标记起来,以便于上机调试时予以注意。初学者特别忌讳

上机前自己不编写程序,到时随便地抄别人的程序。

三、实验指导

1、输入并运行一个简单的程序,从而熟悉所用系统的上机方法与步骤。(1)选择File->New,使编辑窗口变成空白(2)输入下面的程序(例题1.1)#include void main(){ printf(“This is a C program.n”);}(3)按功能键【F9】进行编译和连接,观察屏幕上显示的编译信息。如果出现“出错 信息”,则应找出原因并改正之,再进行编译。

(4)如果编译无错误,按【Ctrl+F9】键使程序运行,按【Alt+F5】键,切换到用户 屏,观察分析运行结果。

2、输入并运行一个需要在运行时输入数据的程序(1)清空编辑窗口,输入下面的程序(例题1.2)。#include void main(){ int a,b,c;printf(“input a & b:”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);} int max(int x,int y){ int z;if(x>y)z=x;else z=y;return(z);}(2)编译并运行,在运行时从键盘输入整数2 和5,格式为:2, 5(注意:两数据间 用逗号分隔开),然后按回车键,按【ALT+F5】键,观察运行结果。(3)自己试着改动一些数据或输入格式,再运行,观察结果作比较。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、试编写一程序完成如下信息的显示。********************************** “How are you!” **********************************

3、编写一个C 程序(习题1.6):输入a, b, c 三个值,输出其中最大者。根据上述题目要求编程并上机调试运行。

五、实验报告要求

实验结束后,应整理实验报告,其内容应包括:

1、实验题目

2、设计思路

3、写出程序源代码

4、写出程序运行结果

5、对实验结果进行分析、总结

六、设计思路

1.5题:以main为主函数,对三条语句进行编码,分别输出,即可达到所要求的结果。1.6题:以main为主函数,先输入三个整形十进制数,任取其一,与其它两个中的任一进行对比,取其最大,再与剩余的一个进行对比,可得最大。

七、源程序清单 1.5题:

#include main(){

printf(“n**********************n”);printf(“ ”how are you“n”);printf(“**********************n”);} 1.6题:

#include main(){ int a,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max

八、分析、总结、及心得

通过本次实验让我学会c程序的编写应注意的一些细节,理解一些简单程序的编写方法。

实验二 数据类型,运算符与表达式

一、实验目的

1、掌握C 语言数据类型,以及对它们赋值的方法;

2、掌握不同的数据类型之间赋值的规律;

3、学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用;

4、进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验预习

1、认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。

三、实验指导

1、输入并运行下面的程序: #include void main(){ int a,b;unsigned c,d;long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf(“%d,%d n ”,a,b);printf(“%u,%u n ”,a,b);printf(“%u,%u n ”,c,b);c=a=e;d=b=f;printf(“%d,%d n ”,a,b);printf(“%u,%u n ”,c,d);} 请对照程序和运行结果分析:

(1)将一个负整数赋给一个无符号的变量,会得到什么结果。

(2)将一个大于32767 的长整数赋给整形变量,会得到什麽结果。

(3)将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。

同学们可以改变程序中各变量的值,以便比较。例如: a = 65580, b =-40000, e = 65535,f = 65580。

2、输入下面程序: #include void main(){ int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}(1)运行程序,注意i,j,m,n 各变量的值,分别作以下改动并运行。(2)将第3 行中m, n 的值改为:m=i++;n=++j;再运行。(3)将程序改为: #include void main(){ int i, j;i=8;j=10;printf(“%d,%d”, i++, j++);} 运行并分析结果。

(4)在(3)的基础上,将printf 语句改为:

printf(“%d,%d”, ++i, ++j);运行并分析结果。(5)再将printf 语句改为:

printf(“%d,%d,%d,%d”, i, j, i++, j++);运行并分析结果。(6)将程序改为: #include void main(){ int i,j,m=0,n=0;j=10;i=8;m+=i++;n-=--j;printf(“i=%d, j=%d, m=%d, n=%d”,i,j,m,n);} 运行并分析结果。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、试编一程序实现输入长宽高,计算长方体的表面积。

3、按习题3.7 的要求编程序并上机运行,该题的要求是:

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

(1)输入编好的程序,并运行该程序。分析是否符合要求。

五、实验结果 1题:

(1):100,-100 100,65436 100,65436(2):-15536,32767(3):5000,32767 2题:

(1):9,119,10(2):9,11,8,11(3):8,10(4):9,11(5):9,11,8,10(6):i=9,j=9,m=8,n=-9

六、源程序清单 四.2题

#include void main(){ float a,b,c,s;scanf(“%f,%f,%f”,&a,&b,&c);s=2*a*b+2*a*c+2*b*c;printf(“s=%.2f”,s);} 3题

#include void mian(){ char c1='C',c2='h',c3='i',c4='n',c5='a';c1+=4;c2+=4;c3+=4;c4+=4;c5+=4;printf(“%c%c%c%c%cn”,c1,c2,c3,c4,c5);}

七、分析、总结、及心得

通过本次的实验,熟悉如何定义一个整型、字符型和实型的变量,掌握算术运算符的使用,以及包含这些运算符的表达式,特别是自加和自减运算符的使用,学会一些简单程序编写所注意的问题。

实验三 简单C程序设计

一、实验目的

1、掌握C 语言中赋值语句的使用方法;

2、掌握不同类型数据的输入输出方法,能正确使用各种格式转换符;

二、实验预习

1、认真阅读数据的输入输出部分内容。

三、实验指导

1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。

(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。(2)根据结果书写源程序 #include void main(){ int x,y,sub;scanf(“%d%d”,&x,&y);/* 变量前一定要加取地址符& */ sub=x*x-y*y;printf(“%c,%c,%d”,x,y,sub);}(3)在C 编辑环境下编辑源程序。(4)编译【F9】,直到程序没有错误。(5)运行【Ctrl+F9】,从键盘输入: 100 50↙

注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙(6)查看结果【Alt+F5】

2、输入程序

#include void main(){ int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf(“a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e);printf(“f=%15.6f,g=%15.12fnm=%ld,n=%ldnp=%u,q=%un”,f,g,m,n,p,q);}(1)运行程序并分析结果。

(2)在此基础上,修改程序的第7~11 行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789 d=f;e=g;p=a=m=50000;q=b=n=-60000;运行程序,分析结果。(3)将printf 语句改为:

printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);运行程序,分析结果。

(4)将p、q 改用%o 格式符输出。运行程序,分析结果。

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、本节实验题目:

(1)若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的输出格式和结果,请写出程序。要求输出结果如下:(注意空格的输出)a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ASCII)c2='B' or 98(ASCII)(2)假设m是一个三位数,试编写一程序完成将m的个位,十位,百位反序输出(例如:123反序输出为321)。

五、实验结果

三、1:

d,2,7500

2、(1): a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000(2): a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536(3): c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1(4): a=15536,b=5536 c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 p=12640,q=177777

六、源程序清单 2(1): #include void main(){ int a=3,b=4,c=5;long int u=51274,n=128765;float x=1.2,y=2.4,z=-3.6;char c1='a',c2='b';printf(“a=%2d b=%2d c=%2dn”,a,b,c);printf(“x=%f,y=%f,z=%fn”,x,y,z);printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2fn”,x+y,y+z,z+x);printf(“u=%6ld n=%9ldn”,u,n);printf(“%s %s %d%sn”,“c1='a'”,“or”,c1,“(ASCII)”);printf(“%s %s %d%sn”,“c2='B'”,“or”,c2,“(ASCII)”);

}(2:)#include void main(){ int a,b;scanf(“%d”,&a);b=a/100+a%100/10*10+a%10*100;printf(“%d”,b);

}

七、分析、总结、及心得

在本次实验中,学会了赋值语句的使用方法,不同类型数据的输入输出,尤其是某些空格应特别注意,了解了在scanf语句中不能用n,这也是我一直犯的错误。

实验四 选择结构程序设计

一、实验目的

1、学会正确使用逻辑运算符及逻辑表达式;

2、熟练掌握if 语句与switch 语句;

二、实验预习

1、认真阅读if 语句和switch 语句部分内容。

2、编写好所需要的程序。

三、实验指导

1、输入三角形的三边长,判断这个三角形是否是直角三角形。

(1)算法分析:直角三角形斜边最长,要先找出三边中最长的边,判断最长边的平方 是否等于其余两边的平方和,若相等就是直角三角形。根据分析结果书写源程序。#include void main(){ int a,b,c,t;/* 三边设为a,b,c,t 是用于交换的中间变量*/ scanf(“%d,%d,%d”,&a,&b,&c);if(a

t=a;

a=b;

b=t;}/* a 中放a,b 中较长边*/ if(a

t=a;

a=c;

c=t;}/* a 中放a,b,c 中的最长边*/ if(a*a==b*b+c*c)

printf(“Y”);else

printf(“N”);}(2)编辑源程序(3)编译【F9】,直到没有错误。(4)运行【Ctrl+F9】,输入: 3,4,5↙

(5)查看结果【Alt+F5】,输出: Y

四、实验内容

1、在C 编辑环境下编辑实验指导中给出的程序、编译并运行。

2、本节实验题目:

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

①事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。

②再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。

③修改程序,使之能正确处理任何数据。当输入数据大于100 或小于0 时,通知用户“输入数据错”,程序结束。

(2)给出一个不多于5位的正整数,要求:①求出它是几位数。②分别打印出每一位数。③按逆序打印出各位数字。

五、简述编程思路

2.1.1首先写一段程序(switch语句)来对不是所要求的输入的判断与执行,其次写出主要要执行的语句对于switch要求用break跳出,if则不同,六、源程序清单 2.1.1:(用switch)#include void main(){ float a;char b;printf(“please input a score:”);scanf(“%f”,&a);while(a<0||a>100){ printf(“input error”);

scanf(“%f”,&a);} switch((int)a/10){

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:b='E';break;

case 6:b='D';break;

case 7:b='C';break;

case 8:b='B';break;

case 9:

case 10:b='A';}

printf(“b=%cn”,b);

} 2.1.2:(用if)

#include void main(){ float a;char b;printf(“please input a score:”);scanf(“%f”,&a);while(a<0||a>100){ printf(“input error”);

scanf(“%f”,&a);} if(a>=0&&a<60)

b='E';else if(a>=60&&a<70)

b='D';else if(a>=70&&a<80)

b='C';else if(a>=80 &&a<90)

b='B';else

b='A';

printf(“b=%cn”,b);

} 2.2: #include void main(){ long int a;long int g,s,b,q,w,f,place;scanf(“%ld”,&a);while(a>99999){ printf(“input error”);scanf(“%ld”,&a);} if(a>9999)place=5;else if(a>999)place=4;else if(a>99)place=3;else if(a>9)place=2;else place=1;printf(“%dn”,place);g=a%10;s=a%100/10;b=a%1000/100;q=a%10000/1000;w=a/10000;printf(“%ld,%ld,%ld,%ld,%ldn”,g,s,b,q,w);f=a%10*10000+a%100/10*1000+a%1000/100*100+a%10000/1000*10+a/10000;printf(“f=%ldn”,f);

}

七、实验心得

通过本次实验,明白了if和switch的联系,以及长整形在打印时注意的地方,学会使用逻辑运算符及逻辑表达式。

实验五 循环控制

一、实验目的

1.熟练掌握for 语句、while 语句、do-while 语句实现循环的方法; 2.理解循环嵌套及其使用方法;

3.掌握break 语句与continue 语句的使用;

4.掌握用循环实现一些常用算法(如穷举、迭代、递推等)。

二、实验预习1.认真阅读本章教材中循环控制部分.2.编写好所需要的程序。

三、实验指导 1.打印如下图案

* * *

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

(1)算法分析:从图案中找出行数,空格数,星号数间的关系如下: 行数空格数星号数 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用双重循环控制整个图案的输出。若用循环变量i,j 分别控制外层,内层循环,则 i 的取值从1 到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,星号个数是2*i-1。

(2)根据分析结果写出源程序 #include void main(){ int i,j;/*定义循环控制变量*/ for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)prinf(“ ”);/* 输出4-i 个空格*/ for(j=1;j<=2*i-1;j++)printf(“*”);printf(“n”);} }(3)在C 编辑环境下编辑源程序。(4)编译【F9】,直到没有错误。(5)运行【Ctrl+F9】。因不需输入,故此程序运行时仅是屏幕闪一下就又回到编辑环境了。

(6)查看结果【Alt+F5】。输出题目要求的图案。

四、实验内容

1.在C 编辑环境下编辑实验指导中给出的程序,编译并运行。2.要求学生独立完成如下题目:

(1)输出100到1000之间的所有水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

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

(3)试利用图形函数完成极坐标函数ρ=cos(3*X)图像的绘制。【进阶题目,选做】 根据以上题目要求编程并上机调试运行。

五、编程思路

2(1)对一个数字每一位的输出的前提下在利用一个if语句即可。2(2)先明白英文字母、空格、数字的ASCII,在用if函数即可。

六、程序运行结果 2(1):

#include #include void main(){ int a=100,g,s,b;while(a>=100&&a<=999);{ g=a%10;s=a%100/10;b=a/100;if(a==(pow(g,3)+pow(s,3)+pow(b,3)))

printf(“%dn”,a);

a++;}

}(2):

#include void main(){ char c;int i=0,j=0,k=0,l=0;while((c=getchar())!='n'){

if(c>=65&&c<=90||c>96&&c<=122)

i++;

else if(c>=48&&c<=57)

j++;

else if(c==32)

k++;

else

l++;} printf(“i=%d,j=%d,k=%d,l=%dn”,i,j,k,l);

}(3):

#include #include #define PI 3.1415926

int main(){ int gdriver, gmode;float p,x,px,py,zx,zy;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, “c: c”);for(x=0;x<=2*PI;x+=0.01){

p=cos(3*x);

zx=p*cos(x);

zy=p*sin(x);

px=320+zx*100;

py=240-zy*100;

putpixel(px,py,14);}

getch();closegraph();return 0;}

七、实验总结、心得

通过本次实验,理解了一些循环语句的选择、运用,对一些简单循环的嵌套有了更进一步的理解。

下载中国MOOC, C 语言代码和实验报告总结(5篇范文)word格式文档
下载中国MOOC, C 语言代码和实验报告总结(5篇范文).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言实验报告

    南昌大学实验报告 学生姓名: 学 号: 专业班级: √ 综合 □ 设计 □ 创新 实验日期: 实验成绩: 实验类型:□ 验证 □一.实验名称 实验3 控制语句 二.实验目的 1.熟练掌握if 、if…el......

    c语言实验报告

    计算机软件技术基础实验报告 实验一:线性表的排序与查找 一.实验内容 a) 键盘输入一组无序数据,添加到线性表中; b) 排序线性表并输出排序结果; c) 键盘输入一个数,并插入到排好......

    C语言实验报告

    郑州轻工业学院 实 践 报 告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信......

    C语言实验报告

    实验一 C程序的运行环境和方法 一、实验目的 1.了解所用的计算机系统。 2.了解在该系统上如何进行编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序了解C程序的特点。 二......

    C语言实验报告

    C语言程序设计(B) (2010-2011-2) 实验报告2 教学班级: 学号: 姓名:课程教师: 实验辅导教师: 一、做一个“杨辉三角” 实验前的源程序: /*杨辉三角*/ #include void fun(int Y[][]......

    C语言实验报告

    C语言程序设计实验 --------指针应用实验 ========================山东农业大学实验报告 课程名称: c语言程序设计实验 学院: 水利土木工程学院 专业: 道路桥梁与渡河工程......

    C语言实验报告

    C语言第一学期实验: 第1次实验: 时间 2010-9-15 项目名称:创建第一个C语言程序 仪器设备:电脑一台,操作系统WindowsXP,开发环境Visual C++ 6.0 实验程序: 1、 单击“开始”“程序”......

    C语言实验报告

    《C语言程序设计》实验报告实验名称 ____ C程序的运行环境和运行C程序的方法_学期日期 同组人李江涛指导老师_杨雪松___________成绩___________ -------------------------......