C语言关于程序问题
请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。例如:w值...
请编写一个函数unsigned fun (unsigned w),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。以下是程序,其中只有unsigned fun函数是我写的,其他都是题目已经写好的:#include <stdio.h>unsigned fun (unsigned w){unsigned s=0,t,p=1;while(w>10){t=w%10;s=s+p*t;p=p*10;w=w/10;}return s;}NONO(){/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */ unsigned x ; int i ; FILE *rf, *wf ; rf = fopen("in1.dat","r"); wf = fopen("out1.dat","w"); for(i = 0 ; i < 20 ; i++) { fscanf(rf, "%u", &x); fprintf(wf, "%u\n", fun(x)); } fclose(rf); fclose(wf);}main(){unsigned x; printf ("Enter a unsigned integer number : "); scanf ("%u", &x); printf ("The original data is : %u\n", x); if (x < 10) printf ("Data error !"); else printf ("The result : %u\n", fun (x)); NONO();}结果如下:程序可以正确得到结果,但出现了终止的弹框。而且模拟考试软件显示我的答题不得分,这是什么原因呢?如果真正的计算机考试也会算我0分吗?
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询