Press "Enter" to skip to content

Tag: c语言

C语言练习

为九九乘法表增加横纵标题

#include <stdio.h>
int main(void)
{
    int a;
    printf("    |");
    for(a=1;a<=9;a++){
        printf("%3d ",a);
    }
    putchar('\n');
    puts("----------------------------------------");

    int i,j;
    for(i=1;i<=9;i++){
        printf("%3d ",i);
        printf("|");
        for(j=1;j<=9;j++){
            int seki = i*j;
            printf("%3d ",seki);
        }
        putchar('\n');
    }

    return 0;
}

效果如下:

   |  1   2   3   4   5   6   7   8   9 
----------------------------------------
  1 |  1   2   3   4   5   6   7   8   9 
  2 |  2   4   6   8  10  12  14  16  18 
  3 |  3   6   9  12  15  18  21  24  27 
  4 |  4   8  12  16  20  24  28  32  36 
  5 |  5  10  15  20  25  30  35  40  45 
  6 |  6  12  18  24  30  36  42  48  54 
  7 |  7  14  21  28  35  42  49  56  63 
  8 |  8  16  24  32  40  48  56  64  72 
  9 |  9  18  27  36  45  54  63  72  81 

输入一个正整数,然后显示出该数目楼层金字塔。

#include <stdio.h>
int main(void)
{
    int i,j,n;
    printf("需要建设多少层的金字塔?"); scanf("%d",&n);

    for(i=1;i<=n;i++){
        int k;
        k=(i-1)*2+1;
        for(j=1;j<=(n-i);j++){
            printf(" ");
        }
        for(j=1;j<=k;j++){
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

效果

需要建设多少层的金字塔?8
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

输入一个正整数,然后输出一个倒置的该数目层数金字塔。并且,第n行显示n%10的结果。

#include <stdio.h>
int main(void)
{
    int i,j,n,k,l;
    l=0;
    printf("金字塔有几层?");  scanf("%d",&n);
    for(i=n;i>=0;i--){
        for(j=0;j<=(n-i);j++){
            putchar(' ');
        }
        k=(i-1)*2+1;

        l++;
        for(j=0;j<k;j++){
            printf("%d",l%10);
        }
        putchar('\n');
    }
    return 0;
}

效果

金字塔有几层?10
 1111111111111111111
  22222222222222222
   333333333333333
    4444444444444
     55555555555
      666666666
       7777777
        88888
         999
          0

运行程序,计算机会随机生成一个iPhoneX 的价格 . iPhoneX 价格范围 8000 - 9000
用户输入一个10的整数倍的价格, 计算机会根据玩家输入的价格的提示价格低了或高了
如果用户输入价格正确会打印消息恭喜用户.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
    int price = 0;
    //guess 变量用于保存玩家输入的价格
    int guess;
    srand(time(0));
    price =8000+(rand()%100)*10; //生成一个8000-8990的价格
                                 //价格是10的整数倍
    printf("price = %d\n",price); //打印价格可以调试测试用
    //下面是要补充的业务代码,请同学们完成
    do{
    puts("猜猜看价格几何?");
    scanf("%d",&guess);  
    if(guess != price){
        if(guess>price){
            puts("猜高了!");
        }else{
            puts("猜低了!");
        }   
    }else{
        puts("Bingo!恭喜赢得大奖!");
        break;
    }
    }while(1);    
    return 0;
}

效果

 price = 8860
猜猜看价格几何?
8400
猜低了!
猜猜看价格几何?
9000
猜高了!
猜猜看价格几何?
9595
猜高了!
猜猜看价格几何?
2344
猜低了!
猜猜看价格几何?
8860
Bingo!恭喜赢得大奖!

编写程序实现从键盘上输入4个iPhoneX的价格(整型). 经过计算机(程序)处理后,打印输出 最低价格.

#include<stdio.h>
int main(){
    //准备好存放数据的变量
    int price1 = 0,price2 = 0,price3 = 0,price4 = 0;
    int min = 0;  //用来存放最低价格的变量
    //读入四个价格
    printf("输入一个价格:");     scanf("%d",&price1);
    printf("输入一个价格:");     scanf("%d",&price2);
    printf("输入一个价格:");      scanf("%d",&price3);
    printf("输入一个价格:");     scanf("%d",&price4);
    //请同学没在此处补充代码,
    //编码实现从4个价格中找出最低价格
    if(price1<=price2){
        min = price1;
    }
    else{
        min = price2;
    }   
    if(min>price3){
        min = price3;
    }   
    if(min>price4){
        min = price4;
    }
    //输出最低价格
    printf("最低价格是 %d\n",min);

    return 0;
}

C语言的练习

编写一段程序,显示身高和标准体重的对照表。显示的身高范围和间隔由输入的整数值进行控制,标准体重精确到小数点后两位。

#include <stdio.h>
int main(void)
{
    int start=1,end=1,step=1;
    double std=1.00;
    /*
     * start表示初始取值;end表示最终取值;
     * step表示步进;std表示标准体重值.
     * 身高体重换算公式是:
     * 标准体重=(身高-100)×0.9
    */
    puts("请输入身高的范围以及间隔数值(单位是cm):");
    puts("开始数值:");
    scanf("%d",&start);
    puts("结束数值:");
    scanf("%d",&end);
    puts("间隔数值:");
    scanf("%d",&step);

    puts("\n****身高体重对应表****\n");

    for(;start<=end;start += step){
        std = (double)(start-100)*0.9;
        printf("  %dcm  %.2fkg \n",start,std);
    }
    return 0;
}

运行结果如下

请输入身高的范围以及间隔数值(单位是cm):
开始数值:
155
结束数值:
190
间隔数值:
5

****身高体重对应表****

  155cm  49.50kg 
  160cm  54.00kg 
  165cm  58.50kg 
  170cm  63.00kg 
  175cm  67.50kg 
  180cm  72.00kg 
  185cm  76.50kg 
  190cm  81.00kg 

编写一个程序,像循环显示1234567890,显示的位数和输入的整数值相同。

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

显示效果如下:

请输入一个正整数:
25
1234567890123456789012345

编写一个程序,输入一个整数值,显示该整数值个"*".每显示5个就换行。

#include <stdio.h>
int main(void)
{
    int i=1,n=1,t=1;
    puts("请输入一个正整数:");
    scanf("%d",&n);

    for(;i<=n;i++){
        printf("*");
        t = t + 1;
        if(t==6){
            printf("\n");
            t = 1;
        }
    }
    return 0;
}

显示效果:

请输入一个正整数:
12
*****
*****
**

C编程练习

输入三个不同的整数,找出最小的整数。


#include <stdio.h>
int main(int argc, char **argv)
{
    int a=0,b=0,c=0,min=0;

    while(1){
        puts("输入三个整数:");
        printf("第一个整数A:\n");scanf("%d",&a);
        printf("第二个整数B:\n");scanf("%d",&b);
        printf("第三个整数C:\n");scanf("%d",&c);
        if(a==b || b==c || a==c ){
            puts("请不要输入重复的数字!");
        }
        else break; 
    }

    if(a>b){
        min = b;
        if(min>c){
            puts("最小的数字是C!");
        }
        else{
            puts("最小的数字是B!");
        }
    }
    else{
        min=a;
        if(min>c){
            puts("最小的数字是C!");
        }
        else{
            puts("最小的数字是A!");
        }
    }
    return 0;
}

输入四个整数,找出其中最大值。


#include <stdio.h>
int main()
{
    int a=0,b=0,c=0,d=0,e=0,f=0,g=0;

    puts("请输入四个整数:");
    printf("第一个整数A:");scanf("%d",&a);
    printf("第二个整数B:");scanf("%d",&b);
    printf("第三个整数C:");scanf("%d",&c);
    printf("第四个整数C:");scanf("%d",&d);

    e = (a>b)?a:b;
    f = (c>d)?c:d;
    g = (e>f)?e:f;

    printf("最大的数是:%d",g);
    return 0;
}

C语言的练习1117

读取两个整数,然后显示出前者是后者的百分之几。例如,输入54和84,显示x的值是y的64%。

#include <stdio.h>
int main(int argc, char **argv)
{
    float x,y;

    puts("输入两个整数,x和y。");
    printf("x:"); scanf("%f",&x);
    printf("y:"); scanf("%f",&y);

    printf("x的值是y的值的%.f%%",x/y*100);
    return 0;
}

读取两个整数,然后求出后者是前者的百分之几。例如,输入54和84,显示的x值是y的64.285714%。

#include <stdio.h>
int main(int argc, char **argv)
{   
    int x,y;

    puts("请输入两个整数:");

    printf("x:"); scanf("%d",&x);
    printf("y:"); scanf("%d",&y);

    printf("它们的平均值是:%.8f%%",(double)x/y);

    return 0;
}

输入身高值,输出标准体重

#include <stdio.h>
int main(int argc, char **argv)
{
    int height;

    puts("请输入您的身高:");
    scanf("%d",&height);

    printf("您的标准体重是:%.1f公斤",(double)(height - 100)*0.9);
    return 0;
}

判断某一年是否是闰年。能被4整除,不能被100整除,如果能被400整除也是闰年。先输入年份,然后进行判断。

#include <stdio.h>
int main()
{
    int year;
    puts("请输入年份:");
    scanf("%d",&year);

    if((year%4 == 0 && year%100 != 0) || year%400 ==0)
        printf("%d年是闰年.\n",year);
    else
        printf("%d年不是闰年.\n",year);

    return 0;
}