关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和运行的结果不对 不知道哪里错了
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/29 01:34:54
![关于c编程的问题 1到1000之间输入值的整数倍 以及那些数字的和运行的结果不对 不知道哪里错了](/uploads/image/z/14061952-64-2.jpg?t=%E5%85%B3%E4%BA%8Ec%E7%BC%96%E7%A8%8B%E7%9A%84%E9%97%AE%E9%A2%98+1%E5%88%B01000%E4%B9%8B%E9%97%B4%E8%BE%93%E5%85%A5%E5%80%BC%E7%9A%84%E6%95%B4%E6%95%B0%E5%80%8D+%E4%BB%A5%E5%8F%8A%E9%82%A3%E4%BA%9B%E6%95%B0%E5%AD%97%E7%9A%84%E5%92%8C%E8%BF%90%E8%A1%8C%E7%9A%84%E7%BB%93%E6%9E%9C%E4%B8%8D%E5%AF%B9++%E4%B8%8D%E7%9F%A5%E9%81%93%E5%93%AA%E9%87%8C%E9%94%99%E4%BA%86)
关于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开始就行了