C语言基本语法入门练习题



第1关:求绝对值

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

根据输入数据输出该值的绝对值,效果如下: 输入:-25。 输出:25。

测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

代码如下:

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin ********/
int i;
scanf("%d",&i);
if(i<0)
{
i=-i;
printf("%d",i);
}
else
printf("%d",i);
return 0;
	/********** End **********/

}

在这里插入图片描述

第2关:求m以内的奇数之和

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

给定一个整数m,求m以内的奇数之和,并将其输出。

例如,当m=50时, 即求1+3+5+7+……+49,当m=9时,即求1+3+5+7+9。 效果如下:

输入:9。
输出:25。

测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

代码如下:

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
int m,sum=0,i;
scanf("%d",&m);
for(i=1;i<=m;i++)
{
    if(i%2==1)
    {
        sum=sum+i;

    }
    
}
printf("%d",sum);
return 0;


	/********** End **********/

}

在这里插入图片描述

第3关:排除此数还是输出此数

编程要求
在程序中输入一个整数,如果这个整数能被3整除或者百位数是3,则打印输出,否则输出“排除此数”。

效果如下:
输入:90。
输出:90。

输入:110。
输出:排除此数。

测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
代码如下:

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
int m;
scanf("%d",&m);
if(m%3==0||m/100==3)
printf("%d",m);
else
printf("排除此数");
return 0;

	/********** End **********/

}

在这里插入图片描述

第4关:医院收费

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

输入所在医院费用(药品费、床位费(元/天)、住院天数),打印出应付钱数;再输入病人所付款数,打印出找零金额。

要求按照下面的运行结果编写函数代码,请注意数据类型的选择、输出格式(保留2位小数)。

效果如下:

在这里插入图片描述
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

代码如下:

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
float yp,cw,zy,yf,sf,yz;
printf("请输入药品费、床位费/天、住院天数:");
scanf("%f%f%f",&yp,&cw,&zy);
yf=yp+cw*zy;
printf("应付款:%.2f\n",yf);
scanf("%f",&sf);
yz=sf-yf;
printf("实付款:应找零:%.2f",yz);
return 0;


	/********** End **********/

}

在这里插入图片描述

第5关:相反次序重新组合

编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

编写一个程序,输入一个4位的整数,将其各位按相反次序重新组合成另一个整数输出。

输入值为一个4位整数,输出值也是一个4位整数,但数字顺序相。

注意:输入不足4位的整数,用0填补(例如:12 → 0012);输入超出4位整数,则截取其前4位后进行运算(例如: 123456 → 1234)。
效果如下:
在这里插入图片描述
测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
代码如下:

#include <stdio.h>
int main()
{
	//获取参数方式 scanf
    //int x  =0;
    //int y = 0;
    //scanf("%d", &x);

    //结果输出使用prinf
    //printf("%d",x);

 	// 请在此添加你的代码
    /********** Begin *********/
int i,g,s,b,q,w,sw,z;
scanf("%d",&i);
if(i/10000==0)
{
    g=i%10;
    s=i%100/10;
    b=i%1000/100;
    q=i/1000;
    z=g*1000+s*100+b*10+q;
    printf("请输入一个4位整数:重新组合后:%d",z);
}
else
{
    b=i%1000/100;
    q=i%10000/1000;
    w=i%100000/10000;
    sw=i/100000;
    z=b*1000+q*100+w*10+sw;
    printf("请输入一个4位整数:重新组合后:%d",z);
}
	/********** End **********/

    return 0;
}

在这里插入图片描述