当前位置: 代码迷 >> C语言 >> [求助]帮忙编3个关于循环控制的小程序,小弟先谢谢了~
  详细解决方案

[求助]帮忙编3个关于循环控制的小程序,小弟先谢谢了~

热度:143   发布时间:2005-02-20 16:23:00.0
[求助]帮忙编3个关于循环控制的小程序,小弟先谢谢了~
1 求1!+2!+3!+4!+........+20!
2 输入1行字符,分别统计其中英文字母,空格,数字和其他字符的个数。
3 打印出以下图案                     *
                                  *  *  *
                             *   *   *   *   *
                         *   *   *   *   *   *   *
                             *   *   *   *   *
                                 *   *   *
                                     *
刚看完循环控制,这3个题目不会做。学GGJJ帮偶看看呀

[此贴子已经被作者于2005-2-20 16:48:11编辑过]


搜索更多相关的解决方案: 打印  英文字母  

----------------解决方案--------------------------------------------------------
第一个
#inlcude <stdio.h>

main()

{int i,sum=0;

for(i=1;i<=20;i++)

sum=sum+i*i;

printf("sum=%d\n",sum);

}


----------------解决方案--------------------------------------------------------
第二个问题根据各字符ASC11码的不同,用条件语句来分别输出。
----------------解决方案--------------------------------------------------------
sum=sum+i*i  不对吧?我怎么觉的那是求的 1的平方+2的平方+3的平方+....+20的平方?是么
----------------解决方案--------------------------------------------------------
#inlcude <stdio.h>

main()

{long i,j=1,sum=0;

for(i=1;i<=20;i++)

sum=sum+j*i;

printf("sum=%ld\n",sum);

}
----------------解决方案--------------------------------------------------------

第一个程序: #include <stdio.h>

long factorial(int n) { if(0==n) return 1; else return n*factorial(n-1); }

void main() { int i; long s=0; clrscr(); for(i=1;i<=20;i++){ s+=factorial(i); } printf("The sum is %ld!\n",s); getch(); }


----------------解决方案--------------------------------------------------------
#include &lt;stdio.h&gt;
main()
{
int i,j;
for(i=1;i&lt;=4;i++)        {
   for(j=1;j&lt;=4-i;j++)
      putchar(' ');
   for(j=1;j&lt;=2*i-1;j++)
      putchar('*');
      putchar('\n');     }
for(i=1;i&lt;=3;i++)        {
   for(j=1;j&lt;=i;j++)
      putchar(' ');
   for(j=1;j&lt;=7-2*i;j++)
      putchar('*');
      putchar('\n');     }
}
----------------解决方案--------------------------------------------------------

我没有运行不知道 可不可以运行你自己去看看那 main() {int sum, n; printf("input n"); scanf("%d",&n); sum=0; for(n); f(n); sum=sum+f(n); n=n-1; printf("the result is %d",sum); }

int f(int p) {int q, a; a=1; for(p); a=a*p; p=p-1; return(a); }


----------------解决方案--------------------------------------------------------
以下是引用呆派祖师在2005-2-20 19:47:17的发言: #include <stdio.h> main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=4-i;j++) putchar(' '); for(j=1;j<=2*i-1;j++) putchar('*'); putchar('\n'); } for(i=1;i<=3;i++) { for(j=1;j<=i;j++) putchar(' '); for(j=1;j<=7-2*i;j++) putchar('*'); putchar('\n'); } }
这是第三个题目
----------------解决方案--------------------------------------------------------

第二个题目最好是用switch语句了; 但是我忘了格式 给你一个错误的 修一下吧 呵呵 #include <stdio.h> void main() { int letter=0,space=0,number=0,others=0; printf("Please input one line characters:\n"); while((c=getchar())!='\n'){ switch(c) case 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z': letter++;break; case '1','2','3','4','5','6','7','8','9','0': number++;break; case ' ': space++;break; default: others++;break;

} printf("letter=%d\t,space=%d\t,number=%d\t,others=%d\n",letter,space,number,others); }


----------------解决方案--------------------------------------------------------
  相关解决方案