首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。 例如:若输入的数据为123,则输出结果为:输入的数字是3位。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函
请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。 例如:若输入的数据为123,则输出结果为:输入的数字是3位。 注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函
admin
2017-11-27
53
问题
请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。
例如:若输入的数据为123,则输出结果为:输入的数字是3位。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
void NONO();
int fun(int n)
{
}
main()
{int n,place;
do{
printf(”请输入一个4位以内的正整
数:");
scanf("%d",&n);
} while(n<0 ‖ n>9999);
place=fun(n);
printf("输入的数字是%d位
\n",place);
NONO();
}
void NONO()
(/*本函数用于打开文件,输入数据,调
用函数,输出数据,关闭文件。*/
FILE *fp,*wf;
int i,n,place;
fp=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0;i<10;i++)
(fscanf(fp,"%d",&n);
place=fun(n);
fprintf(wf,"%d\n",place);
}
fclose(fp);
fclose(wf);
}
选项
答案
int fun(int n) { int k=0; if (n>999) k=4; else if(n>99) k=3; else if(n>9) k=2; else k=1; return k; }
解析
主函数中首先要定义数据,然后需要手动输入一个用来进行判断的数字,注意数字要不超过4位,见程序代码第14~16行,而且这里为了防止输入时不小心的错误或者是有人故意错误输入而引发的不好的后果,在数据进入fun函数处理之前还要一个while函数来进行判断数据是否合理在进行处理,见程序代码第17行。然后数字进入fun函数,这里很明显会出现四种情况,数字的位数为1位,2位,3位或4位,所以我们用if…else if来区别这四种情况见程序第6~9行,在判断完之后我们就可以返回数字位数k的值然后再到主函数main函数中进行输出处理。
转载请注明原文地址:https://www.kaotiyun.com/show/anxp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列关于栈的描述中错误的是()。
有以下程序段s=1.0:for(k=1;k
设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【】个元素。
两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是()。#includemain(){intx;scanf(“%d”,&x);if(x++>2)printf(“%d”,x);
关系数据库管理系统能实现的专门关系运算包括()。
uniondt{inta;charb;doublec;}data;以下叙述中错误的是
对关系s和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为()。
下列程序的运行结果是()。#include<stdio.h>main(){stmctdate{intyear,month,day;}today;primf("%d\n",sizeof(struct
sizeof(char)是()。
用筛选法可得到2~n(n
随机试题
琵琶曲《十面埋伏》描绘的是下列战役中()的情景。
关于成本费用计划的编制,下列说法中正确的是()
下列哪项是虚热证与实热证的鉴别要点()
《合同法》规定,有( )情形的,合同无效。
计算机替代手工账的步骤是()。
商业汇票
下列各操作中,不可删除幻灯片的是()。
已知10个数据元素为(54,28,16,34,73,62,95,60,23,43),按照依次插入结点的方法生成一棵二叉排序树后,查找值为62的结点所需比较的次数为()。
Accordingtothepassage,whyisthedistributionstepinmarketinggettingmoreattention?Whydoesthewritermentionfabric
Languageistheroadmapofaculture.Ittellsyouwhereitspeoplecomefromandwheretheyaregoing.AstudyoftheEnglish
最新回复
(
0
)