标题:怎么取消重复显示的标题
只看楼主
qq336
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-10-17
结帖率:0
已结贴  问题点数:10 回复次数:10 
怎么取消重复显示的标题
程序目的:求任意两个整数之间所有整数之和(输入的2个整数不能相等)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//求任意两个整数之间所有整数之和(输入的2个整数不能相等)
int biaoti(){
printf("求任意两个整数之间所有整数和(输入的2个整数不能相等):\n");     //给出计算目的
puts("请输入两个整数。");                                                //等同于printf("请输入两个整数。\n");
return 0;
}
int main(void)                     
{
    int a, b, n1, n2;
    int sum = 0;                                                          //初始化sum
    biaoti();                                                             //输出标题
    printf("整数a:"); scanf_s("%d", &a);
    printf("整数b:"); scanf_s("%d", &b);
    if (a == b) {                                                         //当a=b时,不执行程序   
   
    }else {
    do {
        
        if (a < b)
            n1 = a, n2 = b;
        else if (a > b)
            n1 = b, n2 = a;
    } while (a == b);

    do {
        sum = sum + n1;
        n1 = n1 + 1;
    } while (n1 <= n2);
    }
    if (a == b) {
        printf("错误:两数相等,请重新输入!\n");                        //puts只能输出设定好的语句,不能输出返回的计算值
        main();
    }else {
    if (a < b)
        printf("大于等于%d小于等于%d的所有整数的和是%d。 \n", a, b, sum);
    else
        printf("大于等于%d小于等于%d的所有整数的和是%d。 \n", b, a, sum);
    }
    return 0;
}
但是运行时当输入了2个相等的数之后,会再输出一遍标题,这里想取消再输标题,直接转到这里
    printf("整数a:"); scanf_s("%d", &a);
    printf("整数b:"); scanf_s("%d", &b);
搜索更多相关主题的帖子: printf sum 标题 输入 整数 
2021-10-17 15:48
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:5 
wow~ your code is very dizzy, buddy emmmm.... are you from another universe
2021-10-17 17:49
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:0 
https://blog.
2021-10-17 17:50
qq336
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-10-17
得分:0 
回复 3楼 自由而无用
这个代码确实简单些,不过我的功能要多些:
1.判断输入的2个数是否相等,如果相等,返回重新输入;
2.输出的语句中小数在前,大数在后;
2021-10-17 22:19
qq336
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-10-17
得分:0 
回复 3楼 自由而无用
综合一下:
#include<stdio.h>
#include<stdlib.h>


//求任意两个整数之间所有整数之和(输入的2个整数不能相等)
int biaoti() {
    printf("求任意两个整数之间所有整数和(输入的2个整数不能相等):\n");     //给出计算目的
    puts("请输入两个整数。");                                                //等同于printf("请输入两个整数。\n");
    return 0;
}
int main(void)
{
    int a, b, start, end;
    int sum = 0;                                                          //初始化sum
    biaoti();                                                             //输出标题
    printf("整数a:"); scanf_s("%d", &a);
    printf("整数b:"); scanf_s("%d", &b);
    if (a < b) {
        start = a; end = b;
    }
    else {
        start = b, end = a;
    }
    while (start <= end) {
        sum = sum + start;
        start = start + 1;
    }
    if (a == b) {                                                  //如果输入的2个整数相同,则显示错误,返回重新输入
        printf("错误:输入的2个整数相等,请重新输入!\n");
            main();
    }
    else {                                                         //否则,判断大小,小的在前,大的再后,再显示计算值
        if (a < b) {
            printf("%d和%d之间所有整数和为:%d\n", a, b, sum);
            system("pause");                                       //计算结果显示后,有任意输入再退出
        }else{
        printf("%d和%d之间所有整数和为:%d\n", b, a, sum);
        system("pause");                                           //计算结果显示后,有任意输入再退出
        }
    }
    return 0;
}  
2021-10-17 22:20
qq336
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-10-17
得分:0 
回复 3楼 自由而无用
我问的怎么取消 输入相同数后  重复输出标题的问题?
2021-10-17 22:21
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:0 
//online parser: https://www.bccn.net/run/
程序代码:
#include <stdio.h>

int main(int argc, char *argv[])
{
    int i = -1, n1, n2;
#define DEFINE_START_LOGO 0x3c
    n1 = n2 = DEFINE_START_LOGO;

    //request data
    while ((i++, n1 == n2)) {
        n1 = ((unsigned char *)main)[i];
        n2 = ((unsigned char *)main)[i + 1];
        printf("n1 = %d, n2 = %d\n", n1, n2);
        if (n1 > n2) {
            argc = n1; n1 = n2; n2 = argc;
        }
    }
    //calc
    for (i = n1, argc = 0; i <= n2; i++) argc += i;
    //output
    printf("start from %d to %d\n", n1, n2);
    printf("sum = %d\n", argc);
    
    return 0;
}


output sample:
n1 = 85, n2 = 72
start from 72 to 85
sum = 1099

[此贴子已经被作者于2021-10-18 07:51编辑过]

2021-10-18 07:46
qq336
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2021-10-17
得分:0 
回复 7楼 自由而无用
我刚学,你写的这个还看不懂。请问怎么能在输入相同的数后不再输出标题呢?
2021-10-18 09:47
自由而无用
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:61
专家分:1456
注 册:2021-8-9
得分:0 
int main(void)
{
    static int repeat = 0;
    int a, b, start, end;
    int sum = 0;                                                          //初始化sum
    if (!repeat)
    biaoti();
    ..............
    if (a == b) {
        printf("错误:两数相等,请重新输入!\n");                        //puts只能输出设定好的语句,不能输出返回的计算值
        repeat = 1;
        main();
    ..............
2021-10-18 09:56
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:5 
修改了下你的,输入循环检查,直到a!=b跳出循环。
程序代码:
#include<stdio.h>
#include<stdlib.h>

//求任意两个整数之间所有整数之和(输入的2个整数不能相等)
int main(void)
{
    int a, b, start, end;
    int sum = 0;                                                          //初始化sum
    printf("求任意两个整数之间所有整数和(输入的2个整数不能相等):\n");     //给出计算目的
    puts("请输入两个整数。");  
    //输出标题
    while(1)
    {
        printf("整数a:"); scanf("%d", &a);
        printf("整数b:"); scanf("%d", &b);
        if (a != b)                                                  //如果输入的2个整数相同,则显示错误,返回重新输入
            break;
        printf("错误:输入的2个整数相等,请重新输入!\n");
    }
    
    start=a;    
    if(a>b) //交换a,b,
    {
        start=b; 
        b=a;
        a=start;
    }
    
    while (start <= b) {
        sum = sum + start;
        start = start + 1;
    }
    
    printf("%d和%d之间所有整数和为:%d\n", a, b, sum);    //前面已经调换,必定是a<b
    
    //system("pause");  
    return 0;
}  


[此贴子已经被作者于2021-10-18 20:51编辑过]

2021-10-18 11:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507195-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.151904 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved