关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和运行的结果不对 不知道哪里错了
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 18:35:15
关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和运行的结果不对 不知道哪里错了
关于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开始就行了