C语言程序设计编辑与调试环境
第1关:打印输出 Hello Word
任务描述
本关任务:通过运行一个C语言程序,让你初步了解程序的运行方法。
相关知识(略)
编程要求
请补充Begin-End之间的代码,使用printf()在屏幕上输出 Hello World 。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。 视频
输入:无
输出:Hello World
#include int main(void) { /********* Begin *********/ printf("Hello World"); /********* End *********/ return 0; }
第2关:打印输出图形
任务描述
本关任务:参照上面调试的程序,编写一个能输出规定图形的程序。
相关知识(略)
编程要求
编写一个C程序,输出以下图案,并上机调试通过。第一行开头有4个空格,第二行开头有3个空格,第三行有2个空格,第四行开头有一个空格,第五行开头没有空格,9个*。
* *** OK Hello!*********
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:无
输出:
* *** OK Hello!*********
提示 本题通过执行多个printf函数输出每一行即可,暂时不用考虑使用循环
#include int main(void) { /********* Begin *********/ printf(" *\n ***\n OK\n Hello!\n*********"); /********* End *********/ return 0; }
第3关:求3个数的最大值
任务描述
本关任务:编写一个程序,输入a、b、c三个整数,输出其中最大值。
相关知识
输入
输入一行数据,分别为a b c。
输出
a b c其中最大的数,不用换行。
如何求出最大值
求几个数的最大值?
三个数两两比较,将较大的数存入最大值变量max;
编程要求
根据提示,在右侧编辑器Begin-End中补充代码,计算并输出三个数的最大值。
测试说明
我会对你编写的代码进行测试:
测试输入:10,30,20 预期输出:max=30
测试输入:15,78,85 预期输出:max=85
提示:
注意输入输出格式。
#include int main(void) { /********* Begin *********/ int a,b,c,max; scanf("%d,%d,%d",&a,&b,&c); if(a>b&&a>c) max=a; if(b>a&&b>c) max=b; if(c>a&&c>b) max=c; printf("max=%d",max); /********* End *********/ return 0; }
第4关:熟悉C语言调试过程
任务描述
本关任务:以下程序源代码有错误,请使用C语言的调试功能,检查程序的错误并更正,使之能正确运行。
程序源代码:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I0RTCVKU-1672219198631)(C:\Users\86183\Pictures\Screenshots\屏幕截图_20221228_155026.png)]
相关知识(略)
编程要求
程序中要求键盘输入x的值,当x的值为5时输出*****,否则输出#####。
- 输入:整数x的值。
- 输出:当x的值为5时输出*****,否则输出#####。
测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
输入:5 输出:*****
#include int main(void) { /********* Begin *********/ int x,y,z; y=2;z=3; scanf("%d",&x); if (x==y+z) printf("*****"); else printf("#####" ); return 0; /********* End *********/ }
选择结构程序设计
第1关:排序
任务描述
本关任务:下面的程序是从键盘输入三个整数按从小到大的顺序输出。
*为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。*
相关知识
输入格式
输入格式如下:
printf("请输入三个整数:");` `scanf("%d%d%d",&a,&b,&c);
输出
排序输出从小到大的三个整数。
输出格式如下:
printf("从小到大排列为:%d,%d,%d",a,b,c);
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写排序的小程序。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
样例输入:
请输入三个整数:5 7 6
样例输出:
从小到大排列为:5,6,7
#include int main(void) { /*********Begin*********/ int a,b,c,t; printf("请输入三个整数:"); scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } else a=a;b=b; if(a>c) { t=a; a=c; c=t; } else a=a;c=c; if(b>c) { t=b; b=c; c=t; } else b=b;c=c; printf("从小到大排列为:%d,%d,%d",a,b,c); /*********End**********/ return 0; }
第2关:选择结构-闰年判断
任务描述
编写程序,完成如下功能:从键盘输入任意年份year,判别该年份是否闰年。 *为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。*
相关知识
输入
从键盘任意输入一个年份 。
输出
根据是否闰年进行输出,是输出"****是闰年!“,否输出”****不是闰年!",其中****为当前输入的年份。
样例输入
2000
样例输出
2000 是闰年!
开始你的任务吧,祝你成功!
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写选择结构-闰年判断的小程序。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
#include int main(void) { /*********Begin*********/ int year; scanf("%d",&year); if(year%400==0) { printf("%d 是闰年!",year); } else { printf("%d 不是闰年!",year); } /*********End**********/ return 0; }
第3关:选择结构-分段函数问题
任务描述
本关任务:编写程序,根据输入的值,输出函数的值。
有一个函数,定义如下
写一段程序,输入x,输出y。
相关知识
输入
从键盘任意输入一个数x
输出
一个数y,保留小数点后三位。
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写选择结构-分段函数问题的小程序。
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。 样例输入:
14
样例输出:
181.000
#include int main(void) { /*********Begin*********/ double x,y; scanf("%lf",&x); if(x y=x*x+x-6; } else if(x=0 && x y=x*x-5*x+6; } else{ y=x*x-x-1; } printf("%.3f",y); /*********End**********/ return 0; } /*********Begin*********/ int n; scanf("%d",&n); if(n100 || n printf("Score is error!"); return 0; } else if(n=90 && n printf("A"); return 0; } else if(n=80 && n printf("B"); return 0; } else if(n=70 && n printf("C"); return 0; } else if(n=60 && n printf("D"); return 0; } else if(n printf("E"); return 0; } /*********End**********/ return 0; } int a,b,c; //Please input a,b: /*********Begin*********/ scanf("%d,%d",&a,&b); c=a+b; printf("%d+%d=%d\n",a,b,c); /*********End**********/ return 0; } int a,b; //Enter a and b: scanf("%d%d",&a,&b); printf("a=%d b=%d\n",a,b); /*********Begin*********/ a=b-a; b=b-a; a=b+a; /*********End**********/ printf("a=%d b=%d\n",a,b); return 0; } /*********Begin*********/ int x; scanf("%d",&x); int y; y=PRICE*x; printf("%d\n",y); /*********End**********/ return 0; } /*********Begin*********/ int x,a,b,c; scanf("%d",&x); a=x/100; b=(x/10)%10; c=x%10; printf("%d %d %d\n",a,b,c); /*********End**********/ return 0; } /*********Begin*********/ int a,b,c,d,e,sum; float average; scanf("%d %d %d %d %d",&a,&b,&c,&d,&e); sum=a+b+c+d+e; average=sum/5.00; printf("%d %.2f",sum,average); /*********End**********/ return 0; } /*********Begin*********/ float a,b,c,s,area; scanf("%f %f %f",&a,&b,&c); s=(a+b+c)/2.000; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%.3f\n",area); /*********End**********/ return 0; } /*********Begin*********/ double r,h,C1,Sb,Vb,PI; scanf("%lf,%lf",&r,&h); PI=3.14; C1=2*PI*r; Sb=4*PI*r*r; Vb=PI*r*r*h; printf("C1=%.2f\nSb=%.2f\nVb=%.2f\n",C1,Sb,Vb); /*********End**********/ return 0; } int c; if(a c=a%b; a=b; b=c; } return a; } int main(void) { /*********Begin*********/ int a,b; scanf("%d,%d",&a,&b); printf("%d\n",MaxCommonFactor(a,b)); /*********End**********/ return 0; } /*********Begin*********/ int q; float weight; scanf("%d,%f",&q,&weight); if(q==0) printf("Price: %.2f\n",10+3.0*ceil(weight-1)); else if(q==1) printf("Price: %.2f\n",10+4.0*ceil(weight-1)); else if(q==2) printf("Price: %.2f\n",15+5.0*ceil(weight-1)); else if(q==3) printf("Price: %.2f\n",15+6.5*ceil(weight-1)); else if(q==4) printf("Price: %.2f\n",15+10.0*ceil(weight-1)); else { printf("Error in Area\n"); printf("Price: 0.00"); } /*********End**********/ return 0; } /*********Begin*********/ float a,b,c,x1,x2; printf("Please enter the coefficients a,b,c:\n"); scanf("%f,%f,%f",&a,&b,&c); x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); if(b*b-4*a*c printf("error!\n"); } else { printf("x1=%.4f, x2=%.4f\n",x1,x2); } /*********End**********/ return 0; } /*********Begin*********/ printf("Enter item number:\n"); int n; scanf("%d",&n); printf("Enter unit price:\n"); float price; scanf("%f",&price); printf("Enter purchase date (mm/dd/yy):\n"); int m,d,y; scanf("%d/%d/%d",&m,&d,&y); printf("Item Unit Purchase\n"); printf("%-9d$ %-9.2f%02d%02d%02d\n",n,price,m,d,y); /*********End**********/ return 0; } /*********Begin*********/ float m,n,h,i,t,sum; scanf("%f %f",&m,&n); sum=m; for(i=1;i t=m/2; h=t/2; sum+=2*t; m=t; } printf("%.2f %.2f",h,sum); /*********End**********/ return 0; } /*********Begin*********/ int n,s=1; scanf("%d", &n); for(int i=5;i /*********Begin*********/ int m,n,t,a,b,i; scanf("%d %d",&m,&n); if(mn) { t=m; m=n; n=t; } a=n;b=m; while(i!=0) { i=a%b; a=b; b=i; } printf("最大公约数是:%d\n",a); printf("最小公倍数是:%d\n",m*n/a); /*********End**********/ return 0; }