最后的魁拔 发表于 2020-3-22 17:57:50

麻烦大佬看一下

题目网址:https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 1。输出格式:首先第一行输出给定数字中不同的朋友证号的个数;随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,且行末不得有多余空格。输入样例:8123 899 51 998 27 33 36 12         
输出样例:43 6 9 26我的代码:#include <cstdio>

int main(void)
{
        int num={0};
        int index,i,r,a,count,index1;
        scanf("%d",&index);
        for(i=0;i<index;i++)
        {
                scanf("%d",&a);
                {
                        count = 0;
                        while(a)   
                        {
                                r=a%10;      
                                a=a/10;
                                count +=r;
                        }
                        if(!num)       
                        {
                                index1++;
                        }
                        num +=1;
                }
        }
        printf("%d\n",index1);
        for(i=0;i<10000;i++)
        {
                if(num)
                {
                        printf("%d",i);
                        index1--;
                        if(index1)
                        {
                                printf(" ");
                        }
                        else
                        {
                                printf("");
                        }
                }
        }
       
        return 0;
       
}

良弓无箭 发表于 2020-3-23 08:27:58

本帖最后由 良弓无箭 于 2020-3-23 08:29 编辑

你好,能不能描述一下你的代码的错误。
刚才我测试了一下,除了开头的声明应该是#include<stdio.h>出现错误了以外,好像没有别的错误。

最后的魁拔 发表于 2020-3-23 08:36:16

良弓无箭 发表于 2020-3-23 08:27
你好,能不能描述一下你的代码的错误。
刚才我测试了一下,除了开头的声明应该是#include出现错误了以外, ...

我这个是c++的,实在不好意思,我找到问题了只要index1初始化为0就可以了,
页: [1]
查看完整版本: 麻烦大佬看一下