补交作业,黄家帅

实验3-1 分别使用while循环、do while循环、for循环求(即求1+2+3+ ……+100)

#include <stdio.h>
int main()
{
    int i,sum=0;
    i=1;
    while (i<=100)
    {
        sum +=i;
        i++;
    }
    printf("sum=%d\n",sum);
    return 0;
} 
#include <stdio.h>
int main(){
    int i,sum=0;
    i=1;
    sum=0;
    do{
        sum+=i;
        i++;
        
    }while(i<=100);
    printf("sum=%d\n",sum);
    return 0;
}
#include <stdio.h>
int main()
{
    int i,sum=0;
    for(i=1;i<=100;i++)
    sum+=i;
    printf("sum=%d\n",sum);
    return 0;
}

实验3-2分别使用while循环、do while循环、for循环求n!,其中n由键盘输入。

#include <stdio.h>
int main(){
    int n,i,jiec=1; 
    printf("请输入一个整数n="); 
    scanf("%d",&n);
    i=1;jiec=1; 
    while(i<=n){
        jiec=jiec*i;
        i++;
    }
    printf("%d!=%d\n",n,jiec);
    return 0;
}
#include <stdio.h>
int main(){
    int n,i,jiec=1; 
    printf("请输入一个整数n="); 
    scanf("%d",&n);
    i=1;jiec=1; 
    do{
        jiec=jiec*i;
        i++;
    }while(i<=n); 
    printf("%d!=%d\n",n,jiec);
    return 0;
}
#include <stdio.h>
int main(){
    int n,i,jiec=1; 
    printf("请输入一个整数n="); 
    scanf("%d",&n);
    i=1;jiec=1; 
    jiec=1; 
    for(i=1;i<=n;
        i++)
        jiec=jiec*i;
    printf("%d!=%d\n",n,jiec);
    return 0;
}

实验3-3

#include<stdio.h>
int main()
{
int k; int sum=0,sum1=0,sum2=0,sum3=0; for(k=1;k<=100;k++) sum+=k; printf("sum=%d\n",sum); for(k=1;k<=50;k++) sum1=sum1+k*k; printf("sum1=%d\n",sum1); for(k=1;k<=10;k++) sum2+=1/k; printf("sum2=%d\n",sum2); sum3=sum+sum1+sum2; printf("sum3=%d\n",sum3); return 0; }

 

( 注:由于上课没怎么听这道题,此题确实不怎么会,算是借鉴吧) 

实验3-4输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。

#include <stdio.h>
int main()
{
    char c;
    int zm=0,sz=0,kg=0,qt=0;
    while((c=getchar())!='\n')
    {
        if((c>='a'&& c<='z')||(c>='A'&& c<='Z'))
        zm++;   
     else if(c==' ') kg++; else if(c>='0'&&c<='9') sz++; else qt++; } printf("字母个数:%d\n",zm); printf("空格个数:%d\n",kg); printf("数字个数:%d\n",sz); printf("其他个数:%d\n",qt); return 0; }

实验3-5输入两个正整数mn,求其最大公约数和最小公倍数。

#include<stdio.h>
int     main()
{
    int m,n,t,i;
    printf("请输入两个正整数:");
    scanf("%d%d",&m,&n);
    if(n>m)
{ t
=m; m=n; n=t; } for(i=n;i>1;i--) if(m%i==0&&n%i==0) break; printf("m=%d,n=%d",m,n); if(i!=0) printf(",最大公约数为:%d",i); t=(m*n)/i; printf("最小公倍数为: %d",t); return 0; }

实验3-6 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33

#include <stdio.h>
int main(void)
{
    int a,b,c;
    for(a=1;a<=9;a++)
    for(b=0;b<=9;b++)
    for(c=0;c<=9;c++)
    if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
    printf("水仙花数:%d%d%d\n",a,b,c);
    return 0; 
}

                                                              实验心得

              对于前两个实验的while,do while,for的三种方法理解之后也就没那么难,之前只知道按照形式来做,只是目前能够理解一些了,其他实验也有之前做过的,再过一遍感觉印象更深了,对于

的求法我还是真的不理解,有机会会和同学沟通一下吧

原文地址:https://www.cnblogs.com/azkahb/p/5979809.html