您的位置:首页 > 其它

c liuchengkongzhi

2015-08-29 11:08 183 查看
1.分别使用while
do while
for 求
1 + 。。。 +
100的和。[循环]

第一种:for循环

#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[])
{

    @autoreleasepool {
           
int i=1;
           
int sum=0;
           
for(i=100;i>0;i--)
            {
               
if (i>0)
                    sum+=i;
            }
           
printf("%d\n",sum);
           
return 0;
        }
   
return 0;
}

//第二种:while
循环

#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[])
{

    @autoreleasepool {
       
int i=0;
       
int sum=0;
       
while (i<100)
        {
            i++;
            sum+=i;
        }
       
printf("%d\n",sum);
       
return 0;
    }
   
return 0;
}
第三种:do
while
循环

#import <Foundation/Foundation.h>
int main(int argc,
const char * argv[])
{

    @autoreleasepool {
       
int i=0;
       
int sum=0;
       
do {
            sum+=i;
            i++;
        }
       
while (i<=100);
        printf("%d\n",sum);
       
return 0;
    }
   
return 0;
}

2.打印出100以下的所有偶数(*)[循环]

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

3.输入任意两个数,如果第一个数小,从第一个数开始一直打印到第二个数,如果第二个数小,从第二个数开始一直打印到第一个数。

#include<stdio.h>
int main(void)
{
   
int a=0,b=0;
    scanf("%d %d",&a, &b);
   
if(a<=b){
       
while (a<=b) {
            printf("%d\n",a);
            a++;
        }
    }
   
else{
       
while (b<=a) {
        printf("%d\n",b);
            b++;
        }
    }
   
return 0;
}

5,输入一个数,判断是否是质数(****)[判断]

只能被1和本身整除
5
3
2

#include<stdio.h>
int main(void)
{
   
int a=0,i=0;
    scanf("%d",&a);
   
if(a<2)
    {
        printf("%d不是质数\n",a);
    }
   
else
    {
       
for (i=2; i<a; i++) {
       
if(a%i==0){
            printf("%d不是质数\n",a);
           
return 0;}
        }
        printf("%d是质数\n",a);
    }
   
return 0;
}

6.输入两个数,求两个数的最大公约数(*****)[判断 
循环]

8 12

#include<stdio.h>
int main(void)
{
   
int a=0,b=0,i=0;
    scanf("%d %d",&a,&b);
   
if(a==0||b==0)
        printf("a或b输入为零,程序错误\n");
   
if (a<b) {
       
for (i=a; i<=a && i>0; i--) {
           
if (a%i==0 && b%i==0) {
                printf("%d是这两个数的最大公约数\n",i);
               
return 0;
            }
        }
    }
   
else {
       
for(i=b; i<=b && i>0; i--)
        {
           
if(a%i==0 && b%i==0 )
            {
                printf("%d是这两个数的最大公约数",i);
               
return 0;
            }
        }
    }
   
return 0;
    }

7.输入两个数,求两个数的最小公倍数(****)[判断 
循环]

#include<stdio.h>
int main(void)
{
   
int a=0,b=0,i=0;
    scanf("%d %d",&a,&b);
   
if(a==0||b==0)
        printf("a或b输入为零,程序错误\n");
   
if (a<b) {
       
for (i=b; i>=b; i++) {
           
if (i%a==0 && i%b==0) {
                printf("%d是这两个数的最小公倍数\n",i);
               
return 0;
            }
        }
    }
   
else {
       
for(i=a; i>=a; i++)
        {
           
if(i%a==0 && i%b==0 )
            {
                printf("%d是这两个数的最小公倍数",i);
               
return 0;
            }
        }
    }
   
return 0;
}

8.输入一个数,分解质因数(*****)[判断 
循环]
输入90
输出90 =
2 X 3 X
3 X 5

#include <stdio.h>
int main(void)
{
   
int n, i = 2;
    scanf("%d", &n);
   
while(n > 1)
    {
       
if(n % i == 0)
        {
            printf("%d ", i);
            n /= i;
        }
       
else i++;
    }
}
9.输入一个数n,求 sum = n!+(n-1)!+...+3!+2!+1

#include<stdio.h>
int main(void)
{
   
int n=0,i,temp=1,sum=0;
    scanf("%d",&n);
   
for (i=1 ; i<=n; i++) {
        temp=temp*i;
        sum=sum+temp;
    }
    printf("%d\n",sum);
   
return 0;
}

10.五位数中,对称的数称为回文数,找出所有的回文数。
如12321(***)

#include<stdio.h>
int main(void)
{
   
int a;
   
for(a=10000;a<=100000;a++)
      
if(((a/10000)==(a%10)) &&((a/1000)%10==(a/10)%10)
)
        printf("%d\n",a);
   
return 0;
}

11.输入一个数,输出一个数,直到输入0,退出(*)

第一种:for循环

#include<stdio.h>
int main(void)
{
   
int a=1,i=0;
    printf("请输入一个数:");
   
for (i=1; i>0; i++) {
        scanf("%d",&a);
       
if (a==0)
        {
           
return 0;
        }
        printf("%d\n",a);
    }
   
return 0;
}

第二种:while循环

#include<stdio.h>
int main(void)
{
   
int a=1;
   
while(a!=0){
       
printf("请输入一个数:\n");
       
scanf("%d",&a);
       
printf("%d\n",a);
    }
   
return 0;
}

12.输入任意多数,最后一个数是0,输出这些数中最大的数。(**)

#include<stdio.h>
int main(void)
{
   
int a = 0,n =
0;
    scanf("%d",&n);
    a=n;
   
while (n!=0) {
       
if (a<n)
            a=n;
        scanf("%d",&n);
    }
    printf("%d\n",a);
   
return 0;
}

13.输入一个数,求这个数的阶乘。(*)

#include<stdio.h>
int main(void)
{
   
int n=0,i,temp=1;
    scanf("%d",&n);
   
for (i=1 ; i<=n; i++) {
        temp=temp*i;
    }
    printf("%d\n",temp);
   
return 0;
}

14.输入一个数,打印下述图形

输入5

打印:
*
**
***
****
*****

#include<stdio.h>
int main(void)
{
   
int a=0,i=0,j=0;
    scanf("%d",&a);
   
for (i=0; i<a; i++) {
       
for (j=0; j<i; j++) {
           printf("*");
        }
        printf("*\n");
    }
   
return 0;
}

15.输入一个数,打印下述图形

输入5

打印:
    *
   **
  ***
 ****
*****

#include<stdio.h>
int main(void)
{
   
int a = 0,i =
0,j = 0,k =
0;
    scanf("%d",&a);
   
for (i = 0; i < a; i++)
    {
       
for (j = a-1; j>i;j--)
        {
            printf(" ");
        }
       
for (k = 0; k <= i; k++)
        {
            printf("*");
        }
        printf("\n");
    }
   
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: