作业帮 > 综合 > 作业

关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/12 00:55:10
关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和

运行的结果不对  不知道哪里错了 


关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和
#include<stdio.h>
void main()
{
    int num,count,a,b,n,sum,i;//自定义变量
    printf("………………");//打印提示字
    scanf("%d",&n);//输入变量
    for(count=1;count<=1000;count++)//循环控制
    {
        a=count/n;//获得遍历数字除以输入数据的整数部分
        b=count%n;//获得遍历数字除以输入数据的小数部分
        if(b!=0)//如果输入数字不能被遍历数字整除,执行
        {
            sum=sum+a;//累加整数部分
            i=i+1;//计数器加一
            
        }
    }
    printf("………………%d %d"i,sum);//打印结果
}
首先,你的逻辑跟你给的题目我看起来完全不是一个空间内
其次,累加器sum和计数器i都没有初始化,这样会得到一个内存中的随机数据
参考代码如下
#include<stdio.h>
void main()
{
    int sum=0;
    int i=0;
    int n;
    printf("please give me a number(1`1000):");
    for(;;){
        scanf("%d",&n);
        getcahr();
        if(n<1||n>1000){
            printf("it's error, try again:");
        }else{
            break;
        }
    }
    for(int count=n;count<=1000;count++){
        if(count%n==0){
        sum+=count;
        i++;
        }
    }
    printf("n'smultiple(EA):%d,sum:%d\n",i,sum);
}
 还有,如果不需要这个数本身,那么第二个循环从n+1开始就行了