哈工大sse C语言 困难

Q565.(10分数, 语言: C)程序中函数 fun()的功能: 将一个由八进制数字字符组成的字符串转换为与其值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
**输入格式要求:gets   提示信息:"输入一个八进制字符串(5位):" "错误:字符串太长\n\n" "错误:%c 不是一个八进制字符\n\n"
**输出格式要求:"输入的八进制字符串为" "\n%s 转换成十进制整数为:%d\n"
程序运行示例如下:
输入一个八进制字符串(5位):234
输入的八进制字符串为234
234 转换成十进制整数为:156、
#include <stdio.h>
#include <string.h>
#define N 10
void fun(char a[]);
main()
{
    char a[N];
    printf("输入一个八进制字符串(5位):");
    gets(a);
    if (strlen(a) > 5)
    {
        printf("错误:字符串太长\n\n");
        exit(0);
    }
    else
    {
        printf("输入的八进制字符串为");
        puts(a);
    }
    fun(a);

}
void fun(char a[])
{

    int b[5] = {1, 8, 64, 512, 4096};
    int sum = 0;
    int j = strlen(a);
    for (int i = 0; a[i] != '\0'; i++)
    {
        if (a[i] >= '8' || a[i] < '0')
        {
            printf("错误:%c 不是一个八进制字符\n\n", a[i]);
            return ;
        }
        else
        {
            sum += (a[i] - '0') * b[j - i - 1];

        }

    }
    printf("\n%s 转换成十进制整数为:%d\n", a, sum);
}


Q1323.(10分数, 语言: C)写一函数,输入一个十六进制数,输出相应的十进制数。
程序的运行示例如下:
输入十六进制数:
3a
十进制数58
继续吗?
y
输入十六进制数:
2f
十进制数47
继续吗?
n
#include <stdio.h>
#include <string.h>
#define N 6
main(){
    char flag;
    char a[N]={'\0'};
    do{
        printf("输入十六进制数:\n");
        gets(a);
        int x = fun(a);
        printf("十进制数%d\n",x);
        printf("继续吗?\n");
        flag = getchar();
        getchar();
    }while(flag=='Y'||flag == 'y');
 
}

int fun(char a[]){
    int sum=0;
    int j=strlen(a);
    int b[4] = {1,16,16*16,16*16*16};
    for(int i=0;a[i]!='\0';i++){
        if(a[i]>='0'&&a[i]<='9'){
            sum += (a[i]-'0')*b[j-i-1];
        }else if(a[i]>='a'&&a[i]<='z'){
            sum += (10+(a[i]-'a'))*b[j-i-1];
        }
    }
    return sum;
}

(10+(a[i]-'a'))别忘了加10


Q3487.(10分数, 语言: C)对输入的8个字符串(每个字符串长度不超过20)按照字典顺序进行排序并输出。不限定排序方法,不能使用goto语句。
输入输出格式:
输入:%s
输出:%s\n

输入:多个字符串用空格分隔
输出:排序好的字符串,每行一个字符串,末尾有空行。

输入输出样例:
输入:
diankuang liuxu sui fengwu qingbo taohua zhu shuiliu
输出:
diankuang
fengwu
liuxu
qingbo
shuiliu
sui
taohua
zhu
#include <stdio.h>
#include <string.h>
#define N 20
void main()
{
    char a[8][N], term[20];

    for (int i = 0; i < 8; i++)
    {
        scanf("%s", a[i]);
    }
    for (int i = 0; i < 7; i++)
    {
        for (int j = 1; j < 8-i ; j++)
        {
            if (strcmp(a[j], a[j - 1]) < 0)
            {
                strcpy(term, a[j]);
                strcpy(a[j], a[j - 1]);
                strcpy(a[j - 1], term);
            }
        }
    }

    for (int i = 0; i < 8; i++)
    {
        printf("%s\n", a[i]);
    }
}

相关推荐

  1. 哈工大sse C语言 困难

    2024-03-23 11:46:01       20 阅读
  2. 哈工大sse C语言 困难

    2024-03-23 11:46:01       20 阅读
  3. 哈工大 sse C语言 困难

    2024-03-23 11:46:01       17 阅读
  4. Go语言实现SSE中转demo

    2024-03-23 11:46:01       19 阅读
  5. 困难】42. 接雨水

    2024-03-23 11:46:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-23 11:46:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-23 11:46:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-23 11:46:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-23 11:46:01       18 阅读

热门阅读

  1. Sql中如何添加数据

    2024-03-23 11:46:01       20 阅读
  2. 牛客笔试|美团2024春招第一场【测试方向】

    2024-03-23 11:46:01       32 阅读
  3. Learning to summarize from human feedback

    2024-03-23 11:46:01       18 阅读
  4. 红黑树(Red-Black Tree)

    2024-03-23 11:46:01       20 阅读
  5. linux docker镜像初始化

    2024-03-23 11:46:01       22 阅读
  6. THINKPHP仿Word 统计字数的方法

    2024-03-23 11:46:01       17 阅读
  7. Go使用Terraform 库

    2024-03-23 11:46:01       20 阅读
  8. tcp/ip中的粘包问题的处理逻辑

    2024-03-23 11:46:01       19 阅读
  9. 质量模型、软件测试流程和测试用例

    2024-03-23 11:46:01       23 阅读