解题思路:先把用户输入的异常情况排除,直到用户输入正确的数再进行运算,具体流程看下面的代码。
注意事项:for循环中的执行顺序不能随意更改,会出错!
参考代码:
# include <stdio.h>
# include <stdlib.h>
int main(void)
{
int i, j, t, u, q, len, val;
printf("求n+nn+nnn+nnnn...的值\n");
printf("输入n的值,只能是1~9\n");
printf("n = ");
do
{
scanf("%d", &j);
if(j <= 0)
{
printf("您输入的值过小,请重新输入:");
}
if(j > 9)
{
printf("您输入的值过大,请重新输入:");
}
}while(j <= 0 || j > 9);
printf("输入您要递加的次数:");
scanf("%d", &len);
val = j;
t = val;
if(len == 0)
{
printf("结果为%d\n", j);
exit(-1);
}
for(i = 0;i < len; ++i)
{
val = (val*10) + j;
q = val;
u = t + q;
t = u;
}
printf("\nn递加%d次的结果为 %d\n", len, t);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复