C语言基础语法跟练 day2

发布时间:2024年01月10日

题源:牛客网

16、BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。

#include <stdio.h>

int main() 
{
//创建变量
   char arr[] = "ABCDEF";
   int i;
   int sum=0,c;
//依次转换十六进制为十进制
   for(i=0; arr[i]!='\0'; i++)
   {
    char b = arr[i];
    if(b>='0' && b<='9')
    {
        c = b - '0';
    }
    else if(b>='A'  && b<='F')
    {
        c = b - 'A'+ 10;
    }
    else 
    {
    printf("十六进制数字有误\n");
    break;
    }
//每一位相加
    sum = sum * 16 + c;
   } 
   printf("%15d\n",sum);
   return 0;
}

?17、我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

#include <stdio.h>

int main() 
{
    int input = 1234;
    printf("%#o %#X",input,input);
    return 0;
}

18、牛牛从键盘读入一个字符,一个整数,一个单精度浮点数,按顺序输出它们,并用空格分隔,浮点数保留 6 位小数。

#include <stdio.h>

int main()
 {
   char a;
   int b=0;
   float c=0.0f;
   scanf("%c%d%f",&a,&b,&c);
   printf("%c %d %f",a,b,c);
    return 0;
}

19、读入 3 个整数,牛牛尝试以后两个数字占 8 个空格的宽度靠右对齐输出。

#include <stdio.h>
int main(){
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d %d", &a, &b, &c);
    printf("%d%8d%8d",a,b,c);
    return 0;
}

20、输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-2^31~2^31-1)。?

?

#include <stdio.h>

int main() 
{
    int a,b;
    scanf("%x %o",&a,&b);
    int sum = a + b;
    printf("%d\n",sum);
    return 0;
}

21、给你两个整数,要求输出这两个整数的和

#include<stdio.h>
int Add(int x, int y)
{
    return x+y;
}
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    int sum = Add(a,b);
    printf("%d\n",sum);
    return 0;
}

22、输入两个整数a, b, 输出a/b的值,只保留整数部分

?

#include <stdio.h>

int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    int div = a / b;
    printf("%d\n",div);
    return 0;
}

23、输入两个整数a, b, 输出a 除以b的余数,5除以2的余数为1,10除以4的余数为2

#include <stdio.h>

int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    int rem = a % b;
    printf("%d\n",rem);
    return 0;
}

24、?给定一个浮点数,要求得到该浮点数的个位数。

#include <stdio.h>
 
int main()
{
    float a;
    scanf("%f",&a);
    int b = a/1;
    printf("%d\n",b%10);
    return 0;
}

25、牛牛正在给他的朋友们买电影票,已知一张电影票价是100元,计算 x 位朋友的总票价是多少?

?

#include <stdio.h>

int main()
{
    int x;
    scanf("%d",&x);
    printf("%d\n",100*x);
    return 0;
}

26、给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数。

#include <stdio.h>
int main()
{
    int a=0;
    int b=0;
    scanf("%d %d",&a,&b);
    printf("%d %d",a/b,a%b);
    return 0;
}

?27、输入一个整数a, 求个位数

?

#include <stdio.h>

int main() 
{
   int a=0;
   scanf("%d",&a);
   a=a%10;
   printf("%d",a);
    return 0;
}

28、输入一个整数,求其十位数

#include <stdio.h>

int main()
{
    int a=0;
    scanf("%d",&a);
    printf("%d",(a%100)/10);//保证是两位数
    return 0;
}

29、

小S:终于可以开学啦!好开心啊!

小Y:你没看新闻吗,开学日期又延后了。

小S:NOOOOOOOOOOOOOOOO!

小S知道原计划星期X开学,通知开学时间延期N天,请问开学日期是星期几(星期日用7表示)?

#include<stdio.h>
int main()
{
    unsigned int x,n;//创建变量
    scanf("%d %d",&x,&n);//输入
    //分情况输出
    if(x+n <= 7)
        {
        printf("%d",x+n);
        }
    else if((x+n)%7 == 0)
        {
        printf("%d\n",7);
        }
    else 
        {
        printf("%d\n",(x+n)%7);
        }
    return 0;
}

30、给定秒数 seconds ,把秒转化成小时、分钟和秒。

#include <stdio.h>
int main() 
{
    unsigned int hour=0,minute=0,second=0;
    int seconds;
    scanf("%d",&seconds);
    hour = seconds / 3600;
    minute = (seconds%3600) / 60;
    second = seconds % 60;
    printf("%d %d %d\n",hour,minute,second);
    return 0;
}

文章来源:https://blog.csdn.net/zy1215058242/article/details/135514091
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。