有关C语言程序的问题

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:54:42
求一个程序要求解决如下功能:
在已知的数a上加上一个数b,当超过c时,与c作差,之后得到的差继续加b,超过c时又作差,如此重复,直到刚好为c时,输出作差的次数n,若不能,则输出NO.数a、b、c均由输入而得,输出次数n.

#include<stdio.h>
int main(void)
{
int a,b,c,n=0;
scanf("%d %d %d",&a,&b,&c);
if(b==a%b+c%b)
{
while(a!=c)
{
a=a+b;
if(a>c)
{
a=a-c;
n++;
}
}
printf("%d",n);
}
else printf("NO");
getch();
return;
}

我没验证楼上的结果如何!反正我这个在vc6上编译、运行是没问题的!

#include<iostream.h>
#include <stdio.h>

void main()
{
int a,b,c;
int n = 0;

//输入a、b、c
printf("请输入a、b、c的值:");
scanf("%d%d%d", &a, &b, &c);

while (a < c)
{
a = a+b;
if (a > c)
{
a = a-c;
n++;
}
else if (a == c) //如果此时a与c相等,则退出循环
{
break;
}
if (n>=100) //如果做差次数太多,则终止循环
{
printf("NO!\n");
break;
}
}
printf("n= %d\n", n);
}

一楼的