c语言 程序设计 解题步骤是什么

c语言 程序设计 解题步骤是什么,第1张

你的这个问题只是简单的语法逻辑

两个for循环,不算有什么步骤,语法分析和逻辑分析。真正用在工作

上的程序,复杂的有时需要用时序图、序列图或UML图来分析。

1、语法和逻辑处理,这个是最基本的基本功。一定要扎实。

2、要有分层分离的概念,从整个框架来理解代码,最好可以作图辅助分析。

3、了解技术相关的关键词以及功能作用,积少成多。

4、c语言面向过程,C++、java面向对象。两种思想都需要学习并融合,

才有机会成为牛人。

【解题思路】

本题的关键是要算出每一项的值,比如当a=5时,那么第1项必须是5,第2项55,第三项555……,可以用循环嵌套来解决这个问题:外循环让i=1到n,求出从第1项到第n项的值,并累加;内循环必须求第i项的值,可以先让第i项的值sn=a,然后从第2项开始,让j=2到i,每次执行内循环时,让sn=sn*10+a。比如当i=6时,求第6项的值,必须先让sn=5,然后执行5次sn=sn*10+5,就会得到555555。最后再把每一项累加,并输出。具体代码如下:

 

【程序代码】

#include <iostream>             //控制台 *** 作头文件

 

int main()                      //主函数

{int a,n,sn,s,i,j              //a,n,sn,s和两个循环变量

 do{printf("请输入a(1-9):")    //输入提示

    scanf("%d",&a)}while(a<1||a>9)//输入一个1-9的数给a

 do{printf("请输入n:")         //输入提示

   scanf("%d",&n)}while(n<1)  //输入一个大于1的数给n

 printf("S%d=",n)              //输出Sn=

 for(s=0,i=1i<=ni++)          //从第1项至第n项

   {for(sn=a,j=2j<=ij++) sn=sn*10+a//算出第i项的值

    printf("%d",sn)            //输出第i项的值

    if(i<n) printf("+")        //如果不是最后一项在后面输+号

    s=s+sn}                    //把第i项累计加起来

 printf("=%d\n",s)             //输出最后得数

 printf("\n")                  //输完结果再空一行

 system("PAUSE")               //屏幕暂停,以便看到显示结果

 return 0}                     //结束程序

 

【运行结果】

以上程序在DEV  C++中运行通过,结果准确无误。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12111483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存